AdaptivMCP

使用说明(简明易懂,便于上手):

  • 项目简介 AdaptivMCP 旨在为大型语言模型提供一个标准化的上下文与能力服务后台,核心能力包括托管资源、注册与执行工具、定义与渲染 Prompt 模板,并通过 MCP 协议与客户端通信。服务器暴露多种传输方式,方便在不同部署环境中接入。

  • 主要功能点

    • 资源与工具管理:托管 GitHub/Git、Render 等资源和工具,允许 LLM 调用并访问数据。
    • 工具执行:注册并执行外部功能(Tools),支持只读与写操作,并在需要时进行权限/审批控制。
    • Prompt 与模板渲染:定义并渲染提示模板,提供灵活的人机对话模式。
    • MCP 通信与传输:通过 JSON-RPC 风格请求/响应,与客户端交换信息。
    • 传输协议与 UI:内置 Streamable HTTP 和 SSE 传输,提供健康检查、工具注册、UI/图形界面等诊断端点,以及机器可解析的 ui.json 元数据。
    • 会话与安全:会话标识、请求上下文、写权限声明等机制,支持多租户与安全扩展。
    • 部署与集成:设计时考虑到与 ChatGPT / OpenAI MCP 连接器的对接,以及在 Render 等平台上的自托管部署。
  • 安装步骤

    1. 通过 Git 克隆仓库并进入项目根目录。

    2. 安装依赖(参照项目的依赖清单执行,例如通过 Python 的包管理工具安装所需包)。

    3. 启动服务器,常见命令(在没有反向代理的环境中直接暴露端口):

      • uvicorn main:app --host 0.0.0.0 --port 8000 说明:服务器提供 /mcp(Streamable HTTP)以及 /sse 的传输端口,必要时可通过反向代理前置前缀。
    4. 连接与调试:

      • MCP 客户端应配置服务器地址、端口以及传输方式(建议初始使用 Streamable HTTP /mcp)。
      • 若使用 SSE,请按 /sse 与 /messages 的组合进行探测。
  • 服务器配置(MCP 客户端角度的最小配置信息,用于连接与探测) 下面给出一个示意性的 MCP 客户端连接信息(以 JSON 表达,便于理解,实际客户端无需执行代码,仅作为配置参考): { "server_name": "AdaptivMCP", "transport": "streamable-http", "endpoint": "/mcp", "command": [ "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000" ], "args": [ "--log-level", "info" ], "base_url": "http://your-host:8000", "notes": "客户端通过 MCP 端点发送 JSON-RPC 请求,服务器返回 JSON-RPC 响应。根据部署环境也可使用 SSE 传输(/sse)搭配 /messages 进行消息传递。" }

  • 基本使用方法

    1. 启动服务器后,使用 MCP 客户端对 /mcp(Streamable HTTP)或 /sse(SSE)进行 JSON-RPC 请求。
    2. 调用资源相关接口读取数据、调用工具、获取 Prompts,以及通过 UI 端点进行工具发现与诊断。
    3. 使用健康检查与 UI 路径(/healthz、/tools、/resources、/ui.json 等)进行运行时自检与可观测性验证。
  • 注意事项

    • 确保环境变量(如令牌、代理、工作区目录等)按仓库文档配置,以确保对外暴露的接口安全合规。
    • 具体工具和资源在 /tools、/resources 等端点进行发现与调用,工具名称与权限需要遵循写操作网关的策略。
  • 其他说明

    • 本实现旨在提供一个完整的 MCP 服务端框架,涵盖工具注册、资源管理、MCP 传输、诊断 UI、以及与 LLM 客户端的对接要素,便于在本地或云端自托管部署与扩展。

服务器信息