ZEJZL.NET MCP 服务端实现
使用说明(Markdown 格式)
-
项目简介 ZEJZL.NET 的 MCP 服务端实现是一套完整的后端框架,提供若干独立服务器(如文件系统、数据库、网页搜索、GitHub 等工具集)以便 LLM 客户端通过统一的 MCP 协议访问资源、执行工具、并获取提示模板等上下文信息。服务器之间通过 JSON-RPC 2.0 互相调用,并且具备会话管理、能力声明、工具注册与执行、以及安全审查等能力。
-
主要功能点
- 多服务器集成:提供Filesystem、Database、WebSearch、GitHub、CodeAnalysis、DataScience 等生产就绪的 MCP 服务器。每个服务器暴露工具、资源等能力,支持客户端按需调用。
- JSON-RPC 通信与工具执行:基于 MCP 协议实现请求、响应和通知,统一格式处理工具调用、资源读写等操作。
- 服务器注册与登记:具备服务器注册、注册工具、注册资源、健康检查等能力,便于注册表对接与动态扩展。
- 安全性与治理:内置安全校验组件,提供权限、参数校验、日志与审计等能力,提升整体可靠性。
- Registry 与 Agent 集成:提供服务器注册表、代理层与工具发现等能力,支持在大规模场景下的热部署与动态伸缩。
-
安装步骤
- 将仓库克隆到本地或服务器环境中。
- 安装依赖(如需要)并准备运行环境(Python 3.x、必要的依赖库)。
- 启动 MCP 相关服务器(示例:Filesystem、Database、WebSearch、GitHub、CodeAnalysis、DataScience 等)。
- 如需本地测试,可使用仓内提供的测试服务器脚本进行快速验证。
- 如果你使用 Docker,在 docs/README 中提供了容器化的部署方式,可结合 docker-compose 进行编排。
-
服务器配置(给 MCP 客户端用于发现和连接,JSON 格式;MCP 客户端不需要)
{ "servers": [ { "name": "filesystem_server", "transport": "stdio", "command": ["python", "src/mcp_servers/filesystem.py"], "args": [], "enabled": true }, { "name": "database_server", "transport": "stdio", "command": ["python", "src/mcp_servers/database.py"], "args": [], "enabled": true }, { "name": "websearch_server", "transport": "stdio", "command": ["python", "src/mcp_servers/websearch.py"], "args": [], "enabled": true }, { "name": "github_server", "transport": "stdio", "command": ["python", "src/mcp_servers/github.py"], "args": [], "enabled": true }, { "name": "code_analysis_server", "transport": "stdio", "command": ["python", "src/mcp_servers/code_analysis.py"], "args": [], "enabled": true }, { "name": "data_science_server", "transport": "stdio", "command": ["python", "src/mcp_servers/data_science.py"], "args": [], "enabled": true } ] }
-
基本使用方法
- MCP 客户端通过上述注册表发现可用的 MCP 服务器,并按需向某一服务器发起请求(如读取资源、执行工具、或获取资源)。
- 客户端可以选择单一服务器或进行多服务器并发调用(如共识模式),服务器将返回标准的 JSON-RPC 响应结构。
- 你也可以通过 Registry 的健康检查、工具列表和资源列表接口来了解当前可用能力。
- 如需扩展,新增服务器时只需要实现对应的 MCPServer,然后在注册表中注册即可,被客户端发现和调用。
-
维护与扩展
- 新增服务器:实现一个新的 MCP Server(参见已有的 filesystem、database、websearch、github、code_analysis、data_science),确保其实现符合 JSON-RPC 2.0 的请求/响应格式。
- 安全与审计:通过内置的安全组件进行行为审查和日志记录,必要时可扩展鉴权策略和审计端点。
- 监控与健康:通过注册表和健康检查任务跟踪服务器可用性、延迟和错误率,确保系统可靠性。
-
备注
- 服务器端实现包含了常见 MCP 服务端模式和对接流程,支持后续扩展与自定义工具/资源的注册与暴露。
-
版权与贡献
- 该实现遵循 MIT 许可,欢迎贡献与扩展。
-
对接要点
- MCP 客户端需要配置服务器启动命令和参数以建立连接(示例在服务器配置中给出)。
- 客户端将通过注册表获取服务器信息、调用工具、读取资源等,服务器端实时响应并返回 JSON-RPC 风格的结果。