这是一个为LLM提供复杂数学运算能力的MCP(Model Context Provider)服务器。它可以帮助LLM进行各种数学计算,包括统计分析、概率计算、代数运算等。
- 统计分析:均值、方差、标准差、相关系数、协方差等
- 概率计算:贝叶斯定理、二项分布、正态分布、泊松分布等
- 代数运算:矩阵运算、线性方程组求解、多项式求根等
- JSON配置:通过简单的JSON配置进行函数调用
- 批量计算:支持一次请求中进行多个计算
# 使用npx一键运行(无需安装)
npx math-mcp-server
# 或全局安装
npm install -g math-mcp-server
math-mcp-server
# 使用uvx一键安装和启动
uvx math-mcp
本项目使用uv作为Python包管理工具。
# 安装uv(如果尚未安装)
pip install uv
# 创建虚拟环境并安装依赖
uv venv
uv pip install -e .
# 使用默认配置启动
npx math-mcp-server
# 指定主机和端口
npx math-mcp-server --host 0.0.0.0 --port 8888
# 启用热重载(开发时使用)
npx math-mcp-server --reload
# 使用默认配置启动
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的配置文件中添加以下内容:
"math-npm": {
"name": "数学计算",
"description": "为 LLM 提供工具,进行简单的数学计算",
"isActive": true,
"command": "npx",
"args": [
"-y",
"math-mcp-server"
]
}
以下是在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
可以通过以下方式扩展服务器功能:
- 在
math_operations
目录下添加新的数学运算模块 - 在
server.py
中注册新模块中的函数 - 重启服务器以应用更改
MIT