NagaAgent MCP 服务端
使用说明
-
项目简介
- NagaAgent 是一个集成多服务的 AI 桌面助手平台,包含 API 服务、Agent 服务、MCP 服务与语音/前端等模块。本仓库中专门实现和暴露 MCP 服务器端能力,负责注册、发现、调度 MCP 工具(Agent/Skill)以及统一调度流程,提供后端上下文资源、工具执行与 Prompts 管线等能力,方便 LLM 客户端以标准化方式调用。
-
主要功能点
- MCP 工具注册与发现:通过 agent-manifest.json 等清单实现工具的注册、发现与能力声明。
- MCP 调度与分发:统一路由请求到不同 Tool 的执行入口(同一 MCP 服务内多工具并行调度)。
- 资源与提示模板管理:提供资源(Resources)、Prompts 的注册/获取/渲染能力及相关 API。
- 会话与能力声明:管理会话、能力声明,支持多传输协议(如 Http/StdIO等)以及并发执行。
- 与外部组件的对接:集成 OpenClaw、Live2D、GRAG 知识图谱等,以丰富上下文能力。
- 通信协议:遵循 MCP 的核心思想,提供标准化的请求/响应接口,便于 LLM 客户端解析和调用。
-
安装步骤
- 将仓库克隆到本地或服务器。
- 安装依赖并确保 Python3.11 环境就绪(参考仓库根目录的要求说明)。
- 使用主启动脚本(如 main.py)按需启动:API Server、Agent Server、MCP Server、Voice 等服务。
- 也可单独启动 MCP 服务:通过 uvicorn 运行 mcpserver.mcp_server:app(如端口 8003,具体端口可在配置中设置)。
-
服务器配置(MCP 客户端所需,非 MCP 客户端也需了解)
- MCP 客户端连接的服务器配置(示例信息,具体请以实际运行环境的 JSON 配置为准;客户端通常不需要此处代码,仅用来了解服务器参数): { "server_name": "NagaAgent-MCP", "command": "uvicorn", "args": ["mcpserver.mcp_server:app", "--host", "0.0.0.0", "--port", "8003"] }
- 说明:
- server_name:MCP 服务器在客户端侧的标识名称。
- command/args:启动 MCP 服务器的命令及参数,实际运行时请以服务器实际启动方式为准。客户端通常只需要知道服务器的地址和端口。
- 注:仓库中 MCP 服务器以 FastAPI/Uvicorn 的方式对外暴露接口,启动方式在配置中由系统端口映射确定,客户端无需配置实现细节。
-
基本使用方法
- 启动 MCP 服务后,客户端可通过 MCP 相关 API 与工具进行注册、发现和并行调度调用。
- 客户端在需要时可查询已注册工具、执行工具调用并获取并行结果,MCP 服务端将聚合结果并返回给客户端。
- 结合其他微服务(如 GRAG、OpenClaw、Live2D 等)可以丰富上下文、记忆与功能能力,提升 LLM 的交互能力与功能扩展性。