Agenticore MCP 服务器实现

使用说明(Markdown 格式)

  • 项目简介

    • Agenticore 的 MCP 服务器实现旨在为 LLM 客户端提供标准化的上下文服务:托管并管理 Resources(数据资源)、注册并执行 Tools(外部功能)、定义与渲染 Prompts(交互模板)。服务器通过 JSON-RPC 与客户端通信,支持多种传输方式,确保安全可扩展的后端上下文服务。
  • 主要功能点

    • 资源与数据访问:集中管理可供模型查询和操作的资源集合。
    • 工具注册与调用:允许 MCP 客户端通过工具调用外部功能并获取结果。
    • Prompt 渲染与管理:定义、渲染及传递可定制的 Prompt 模板,支持不同的交互模式。
    • 多传输协议支持:HTTP/Stream(/mcp)、SSE、stdio(子进程管道)等,方便不同客户端接入。
    • 会话与能力声明:提供会话管理、能力宣告,以及对资源、工具和 Prompts 的版本与权限控制。
    • 观测与追踪:与日志、追踪系统集成,支持分布式部署如 Kubernetes、Docker 等。
  • 安装步骤

    • 依赖环境:Python 3.12+(如 README 所示)。
    • 安装并启动服务器
      • 通过包管理安装并运行 serve 命令(示例:agenticore serve)。
    • 启动后服务地址与端口通常会暴露在配置变量中,默认端口可通过环境变量或命令参数修改。
  • 服务器配置(供 MCP 客户端使用的配置信息) 说明:MCP 客户端需要一个 JSON 配置来连接 MCP 服务器。该配置不属于服务器端实现,只用于客户端连接描述。下面给出准确示例字段及注释。 { "server_name": "agenticore", "command": "python", "args": ["-m", "agenticore"] // 如果你的运行方式不同,请在客户端替换为实际启动命令及参数 }

    注释说明

    • server_name: MCP 服务器在客户端侧的标识名称,应与服务器实际名称一致。
    • command: 启动 MCP 服务器所需的执行命令。
    • args: 启动命令的参数数组,包含必要的模块或入口点。
    • 客户端无需了解服务器的内部实现细节,但需知道如何启动服务器、以及连接的端点(/mcp、/sse、stdio)。
  • 基本使用方法

    • 启动服务器后,使用 MCP 客户端连接到服务器的 /mcp(HTTP Streamable)、/sse(SSE)或 stdio 入口进行 JSON-RPC 请求。
    • 客户端可以请求读取资源、执行工具、获取 Prompt 等能力,服务器返回标准的 JSON-RPC 响应。
    • 如需集成测试或开发,请参考仓库内的测试用例与示例工作流来模拟 MCP 客户端的请求格式。
  • 运行与集成要点

    • 服务器应具备会话管理、能力声明以及对多种传输协议的支持能力。
    • 对外暴露的接口应遵循 JSON-RPC 规范,返回包含结果、错误信息或通知事件的结构。
    • 部署时请确保对外暴露的端口与网络策略符合你的运行环境(Kubernetes、Docker、本地开发等)。

服务器信息