使用说明
MCP数学工具服务器
这个项目演示了Python实现 **模型上下文协议(MCP)**它构建了一个功能强大的MCP服务器,向MCP客户端(如AI助手或MCP检查器)公开数学能力(工具)和静态数据(资源)。
项目概述
该项目的目标是创建一个标准化的服务器,弥合人工智能模型和本地计算逻辑之间的差距。
主要特点:
- 工具: 公开可执行函数(
add_numbers,multiply_numbers)AI可以调用它来执行计算。 - 资源: 暴露结构化数据(
math://constants)AI可以将其视为上下文。 - 架构: 使用官方
mcpPython SDK,并使用通用MCP检查器进行测试。
先决条件
- Python 3.10+
- Node.js和NPM (仅要求运行MCP检查器进行测试)
设置和安装
-
克隆存储库
git clone https://github.com/shivamgravity/mcp cd mcp -
设置虚拟环境 建议使用虚拟环境来管理依赖关系。
# Create venv python -m venv venv # Activate venv (Windows) venv\Scripts\activate # Activate venv (Mac/Linux) source venv/bin/activate # To deactivate the virtual environment, run this command deactivate -
再进行 安装MCP的官方Python SDK。
pip install mcp
如何运行(使用检查器进行测试)
由于这是一个协议服务器,因此需要一个客户端与之交互。我们使用官方 MCP检查员 用于测试的web界面。
-
通过检查器启动服务器: 在终端中运行以下命令(确保您的venv处于活动状态):
npx @modelcontextprotocol/inspector python server.py -
访问UI: 打开浏览器并导航到终端中提供的URL(通常
http://localhost:6274或http://localhost:5173). -
连接和测试:
- 点击 连接.
- 工具选项卡: 选择
add_numbers,输入参数(例如。,a=10, b=5),然后单击“运行工具”查看结果。 - 资源选项卡: 点击
math://constants读取结构化JSON数据的资源。
解决方案架构
该项目遵循 模型上下文协议 标准:
-
服务器(
server.py):- 使用
FastMCP类来初始化服务器实例。 - 工具: 功能装饰
@mcp.tool()被公开为可执行逻辑。服务器处理JSON-RPC通信以接收参数并返回结果。 - 资源: 功能装饰
@mcp.resource()充当数据端点。它们返回结构化JSON数据(MIME类型application/json)表示数学常数。
- 使用
-
沟通:
- 服务器通过以下方式进行通信
stdio(标准输入/输出),允许它轻松地通过管道连接到任何符合MCP的客户端(如Claude Desktop或MCP Inspector)。
- 服务器通过以下方式进行通信
