数学工具服务器

一个基于Python实现的模型上下文协议(MCP)服务器,提供数学计算功能和静态数据资源,适用于AI助手和MCP检查器等客户端。

  • by shivamgravity
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 shivamgravity/mcp

使用说明

MCP数学工具服务器

这个项目演示了Python实现 **模型上下文协议(MCP)**它构建了一个功能强大的MCP服务器,向MCP客户端(如AI助手或MCP检查器)公开数学能力(工具)和静态数据(资源)。

项目概述

该项目的目标是创建一个标准化的服务器,弥合人工智能模型和本地计算逻辑之间的差距。

主要特点:

  • 工具: 公开可执行函数(add_numbers, multiply_numbers)AI可以调用它来执行计算。
  • 资源: 暴露结构化数据(math://constants)AI可以将其视为上下文。
  • 架构: 使用官方 mcp Python SDK,并使用通用MCP检查器进行测试。

先决条件

  • Python 3.10+
  • Node.js和NPM (仅要求运行MCP检查器进行测试)

设置和安装

  1. 克隆存储库

    git clone https://github.com/shivamgravity/mcp
    cd mcp
    
  2. 设置虚拟环境 建议使用虚拟环境来管理依赖关系。

    # 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
    
  3. 再进行 安装MCP的官方Python SDK。

    pip install mcp
    

如何运行(使用检查器进行测试)

由于这是一个协议服务器,因此需要一个客户端与之交互。我们使用官方 MCP检查员 用于测试的web界面。

  1. 通过检查器启动服务器: 在终端中运行以下命令(确保您的venv处于活动状态):

    npx @modelcontextprotocol/inspector python server.py
    
  2. 访问UI: 打开浏览器并导航到终端中提供的URL(通常 http://localhost:6274 或 http://localhost:5173).

  3. 连接和测试:

    • 点击 连接.
    • 工具选项卡: 选择 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)。