MCP-KE: 基于模型上下文协议的宇宙学分析工具服务器
使用说明
- 项目简介
- 该仓库实现了一个面向 MCP 客户端的后端服务器,能够暴露一组域域(Domain)工具和代理(Agent)工具,支持工具注册、执行以及与外部数据、计算库的交互,旨在为大语言模型提供可控的上下文与功能能力。
- 主要功能点
- 工具发现与描述:自动从工具包中发现可用工具,构建 MCP Tool 描述信息,提供输入参数结构。
- 工具执行:根据请求名称执行对应工具,返回文本型结果或错误信息。
- 服务器实现与传输:基于 stdio 的 MCP 服务器实现,支持与客户端通过 JSON-RPC 进行通信,具备会话与初始化选项。
- 资源与数据整合:集成数据加载、理论模型计算、可视化输出,以及基于外部数据源的交互能力。
- 流程可扩展性:包含域工具、代理工具与核心实现层的分层结构,便于扩展新的域模型和外部服务。
- 安装步骤
- 在本地环境中安装并可运行:
- 进入项目根目录,执行:pip install -e .
- 运行服务器(用于测试):
- 直接执行命令:python mcp_server.py
- 在本地环境中安装并可运行:
- 服务器配置(适用于 MCP 客户端使用的配置描述,以下为示例 JSON,客户端不需要此处代码块)
- 配置示例(JSON): { "server_name": "mcp-ke", "command": "python", "args": ["mcp_server.py"], "transport": "stdio" }
- 注释说明
- server_name 为服务器在 MCP 客户端的标识,与源码中初始化的名称保持一致。
- command 为启动服务器的命令程序,此处为 Python 解释器。
- args 为启动命令的参数,包含需要执行的脚本文件名(mcp_server.py)。
- transport 指定传输协议,此处为 stdio,表示标准输入输出传输,亦可扩展为 SSE、WebSocket 等。
- 基本使用方法
- 启动服务器后,MCP 客户端即可通过 JSON-RPC 调用 list_tools、call_tool 等接口获取工具信息并执行工具。
- 客户端可以读取服务器暴露的工具集合、传入参数、获取文本结果或错误信息。
- 如要扩展新的工具,按仓库提供的工具发现与 Tool 构造方式进行实现并测试。