math-mcp-server

0.1.0 • Public • Published

数学运算MCP服务器

这是一个为LLM提供复杂数学运算能力的MCP(Model Context Provider)服务器。它可以帮助LLM进行各种数学计算,包括统计分析、概率计算、代数运算等。

功能特点

  • 统计分析:均值、方差、标准差、相关系数、协方差等
  • 概率计算:贝叶斯定理、二项分布、正态分布、泊松分布等
  • 代数运算:矩阵运算、线性方程组求解、多项式求根等
  • JSON配置:通过简单的JSON配置进行函数调用
  • 批量计算:支持一次请求中进行多个计算

安装与依赖

通过NPM安装(推荐)

# 使用npx一键运行(无需安装)
npx math-mcp-server

# 或全局安装
npm install -g math-mcp-server
math-mcp-server

通过uvx安装

# 使用uvx一键安装和启动
uvx math-mcp

手动安装

本项目使用uv作为Python包管理工具。

# 安装uv(如果尚未安装)
pip install uv

# 创建虚拟环境并安装依赖
uv venv
uv pip install -e .

使用方法

通过NPM启动

# 使用默认配置启动
npx math-mcp-server

# 指定主机和端口
npx math-mcp-server --host 0.0.0.0 --port 8888

# 启用热重载(开发时使用)
npx math-mcp-server --reload

通过uvx启动

# 使用默认配置启动
uvx math-mcp

# 指定主机和端口
uvx math-mcp --host 0.0.0.0 --port 8888

# 启用热重载(开发时使用)
uvx math-mcp --reload

手动启动服务器

# 使用Python模块方式启动
python -m src.main

# 或使用uvicorn直接启动
uvicorn src.server:app --reload --host 0.0.0.0 --port 8000

服务器默认在 http://localhost:8000 启动,并提供以下API端点:

  • GET /: 欢迎信息
  • GET /functions: 列出所有可用的数学函数
  • GET /function/{function_name}: 获取特定函数的详细信息
  • POST /compute: 执行单个数学计算
  • POST /batch_compute: 批量执行多个数学计算

客户端示例

服务器提供了一个简单的Python客户端示例:

# 运行客户端示例
python src/client_example.py

在Cherry Studio中配置

在Cherry Studio的配置文件中添加以下内容:

"math-npm": {
  "name": "数学计算",
  "description": "为 LLM 提供工具,进行简单的数学计算",
  "isActive": true,
  "command": "npx",
  "args": [
    "-y",
    "math-mcp-server"
  ]
}

LLM调用示例

以下是在LLM中调用MCP服务器的JSON配置示例:

{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "math_compute",
        "description": "执行数学运算",
        "parameters": {
          "type": "object",
          "properties": {
            "function": {
              "type": "string",
              "description": "要调用的数学函数名"
            },
            "params": {
              "type": "object",
              "description": "函数参数"
            }
          },
          "required": ["function", "params"]
        }
      }
    }
  ]
}

LLM可以通过以下方式使用该工具:

{
  "function": "math_compute",
  "arguments": {
    "function": "variance",
    "params": {
      "data": [1, 2, 3, 4, 5],
      "ddof": 1
    }
  }
}

单元测试

运行单元测试:

python -m unittest discover src/tests

项目结构

math-mcp-server/
├── src/
│   ├── __init__.py
│   ├── server.py
│   ├── main.py
│   ├── client_example.py
│   ├── math_operations/
│   │   ├── __init__.py
│   │   ├── statistics.py
│   │   ├── probability.py
│   │   └── algebra.py
│   ├── utils/
│   │   ├── __init__.py
│   │   └── json_utils.py
│   └── tests/
│       └── test_operations.py
├── math_mcp_shim.py
├── npm-start.js
├── package.json
├── uvx-package.json
├── pyproject.toml
├── setup.py
└── README.md

扩展

可以通过以下方式扩展服务器功能:

  1. math_operations目录下添加新的数学运算模块
  2. server.py中注册新模块中的函数
  3. 重启服务器以应用更改

许可证

MIT

/math-mcp-server/

    Package Sidebar

    Install

    npm i math-mcp-server

    Weekly Downloads

    13

    Version

    0.1.0

    License

    MIT

    Unpacked Size

    34.4 kB

    Total Files

    18

    Last publish

    Collaborators

    • orraly