openllm-func-call-synthesizer MCP 服务端实现

使用说明

  • 项目简介

    • 这是一个基于 Model Context Protocol (MCP) 的后端框架,旨在向 LLM 客户端提供上下文信息、资源访问、工具调用以及 Prompt 模板渲染等功能。仓库内包含核心实现、示例 MCP 服务器、以及与 MCP 交互所需的工具集成示例,便于开发者搭建自定义的 MCP 服务端。
  • 主要功能点

    • MCP 核心支持:通过 JSON-RPC 风格的消息与客户端通信,暴露资源、工具和提示模板等能力。
    • 资源与数据访问:提供对资源的托管和数据访问能力,便于 LLM 获取所需上下文。
    • 工具注册与调用:定义并暴露工具接口,LLM 客户端可通过 MCP 调用外部功能。
    • Prompt 模板管理与渲染:支持可定制的 Prompt 模板,帮助统一化 LLM 交互模式。
    • 多工具链与示例:包含一个用于演示的 FastMCP 服务端示例,以及相关工具、评测、数据集处理的实现。
    • 集成测试与示例:自带测试用例和演示服务器,便于开发者快速上手。
  • 安装步骤

    • 确保使用 Python 版本符合项目要求(通常 Python 3.8+,具体以仓库需求为准)。
    • 安装依赖(请在项目根目录执行常见的 Python 安装方法,如 pip 或 poetry 等,具体请参考项目的需求配置)。
    • 启动示例 MCP 服务器(仓库中提供演示服务器,作为客户端对接的对照实现):
      • 直接运行示例服务器脚本:python examples/mcp_example_server/server.py
    • 运行后端工作流(示例中的应用/脚本可能需要配合配置文件使用):
      • 运行数据准备与合成流程:python -m apps.main
    • 服务器地址与传输协议的配置:请确保配置中的 MCP 服务器地址与你运行的示例服务器地址一致,例如 http://localhost:8000/mcp,传输方式为 streamable-http(示例服务器默认为该传输方式)。
  • 服务器配置(MCP 客户端需要的配置信息,JSON 格式,包含 server name、command、args 等)
    说明:以下配置用于 MCP 客户端与 MCP 服务器建立连接。服务器端的实现与示例脚本在本仓库中提供,客户端使用时只需要指向对应的服务器地址即可;客户端无需直接修改此处的代码。示例配置如下所示(请将其保存为 JSON 并交给需要的客户端系统进行加载): { "server_name": "ugreen_mcp", "command": "python", "args": ["examples/mcp_example_server/server.py"], "description": "UGREEN MCP 服务端示例,提供工具注册与调用、资源访问及 prompts 渲染等能力", "transport": "streamable-http", "host": "0.0.0.0", "port": 8000, "path": "/mcp" }

  • 基本使用方法

    • 启动 MCP 服务器:如上所述运行示例服务器脚本。
    • 配置 MCP 客户端:将客户端连接信息指向服务器地址 http://localhost:8000/mcp,并确保传输协议与服务器端设置一致。
    • 使用流程:客户端通过 MCP 请求获取工具、资源及提示信息,服务器处理请求并返回标准化的 JSON-RPC 响应,客户端据此进行后续链路调用或交互。
  • 备注

    • 该仓库还包含一个完整的测试与示例生态,帮助验证 MCP 服务器与客户端之间的交互。
    • 如需自定义工具、资源或 Prompts,请参考仓库中的示例代码与文档。

服务器信息