agnix MCP 服务器
- 项目简介
- agnix 的 MCP 服务器实现旨在把 agnix 的“配置校验与上下文服务”能力对接给 LLM 客户端,通过 MCP 标准向客户端暴露资源、工具、以及 Prompt 模板等能力,使 AI 助手在对话中能查询资源、执行工具、渲染和获取提示模板,并以 JSON-RPC 的形式进行通信。
- 主要功能点
- 暴露资源管理能力(读取和访问资源/数据)
- 注册与执行工具(外部功能调用,例如文件读取/验证等)
- 定义与渲染 Prompt 模板,支持可定制的交互模式
- 支持 MCP 的标准请求/响应格式,按 JSON-RPC 进行通信
- 服务器端会话管理、能力声明与版本控制
- 支持多种传输协议:stdio、SSE、WebSocket,便于集成到不同运行环境
- 与客户端协作的安全性与可扩展性设计(如权限、会话、版本锁定等)
- 安装与运行
- 依赖与构建:使用 cargo 安装 agnix-mcp 二进制,在仓库中有相应的 MCP 服务实现 crate
- 运行示例(命令级描述,非代码块):
- cargo install agnix-mcp
- 运行二进制 agnix-mcp,监听指定端口,使用自选传输协议(stdio/SSE/WebSocket)进行 MCP 通信
- 服务器配置(MCP 客户端需要配置启动参数与连接信息,以下为示例配置,实际请以仓库提供的默认参数为准)
- JSON 配置示例(MCP 客户端需要的连接信息,用于建立与 MCP 服务器的通信): { "serverName": "agnix", "command": "agnix-mcp", "args": [ "--listen=0.0.0.0:5000", "--transport=websocket" ] }
- 注释说明
- serverName: MCP 服务器在客户端配置中的标识名称,通常与服务器二进制/服务绑定的名字一致
- command: 启动 MCP 服务器的系统命令(二进制名),此处为 agnix-mcp
- args: 启动参数数组,包含监听地址和传输方式等,传输模式可选为 stdio、SSE 或 WebSocket
- 客户端将依据此配置与 MCP 服务器建立连接,发送诸如读取资源、调用工具、获取 Prompt 的请求,接收相应的 JSON-RPC 响应
- 使用方法
- 启动后,客户端通过配置的端口/传输方式与 MCP 服务器建立连接
- 客户端可以发起 MCP 请求来:
- 读取/访问资源
- 调用已注册的工具
- 获取并渲染 Prompt 模板
- 服务器返回标准的 JSON-RPC 响应,或发送通知
- 运行与验证要点
- 确保 agnix-mcp 二进制已编译并可执行
- MCP 服务应能在指定端口对外提供 JSON-RPC 接口
- 通过客户端发送的请求应符合 MCP 规范,服务器应返回合法的响应结构
- 参考与可扩展性
- MCP 服务器的实现结合了 agnix-core 的资源、工具、规则与验证能力,便于扩展更多资源类型与工具集成,并通过 JSON-RPC 与 LLM 客户端交互