科学计算服务器

一个生产就绪的模型上下文协议(MCP)服务器,为AI模型提供高级数学计算功能,包括符号数学、数值计算、数据分析和图像处理。

  • by onelazydog
  • 本地部署
  • 更新于
在 GitHub 查看 thinkitpossible/CalcMCP

使用说明

科学计算器MCP服务器

一个生产就绪的模型上下文协议(MCP)服务器,为AI模型提供高级数学计算功能。支持符号数学(SymPy)、数值计算(NumPy/ScPy)、数据分析(pandas)和图像处理。

快速开始

1.安装依赖项

pip install sympy numpy scipy pandas

2.服务器配置

添加到您的MCP客户端配置中(例如,Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "scientific-calculator": {
      "command": "python",
      "args": ["-u", "path/to/mcp_server.py"],
      "env": {}
    }
  }
}

Windows示例:

{
  "mcpServers": {
    "scientific-calculator": {
      "command": "python",
      "args": ["-u", "F:\\AAchengguoofAI\\cuz_caculat\\mcp_server.py"]
    }
  }
}

macOS/Linux示例:

{
  "mcpServers": {
    "scientific-calculator": {
      "command": "python3",
      "args": ["-u", "/path/to/mcp_server.py"]
    }
  }
}

特性

  • 3统一工具 涵盖:
    • 符号工具:符号代数、微积分、方程求解(SymPy)
    • numpy_tool:线性代数、矩阵分解、数据分析(NumPy/panda)、图像处理
    • scipy_tool:数值积分、优化、ODE/PDE求解、统计学、FFT
  • 10道大学数学题 采用经过验证的分步解决方案
  • 100%计算精度 (根据分析溶液进行验证)
  • 符合MCP协议 (STDIO传输,JSON-RPC 2.0)
  • 零配置 -与Claude Desktop一起开箱即用

核心文件

文件 目的
calculator.py 包含22个数学工具的纯函数库
mcp_server.py 符合MCP标准的服务器(基于STDIO,JSON-RPC 2.0)
advanced_math_problems.py 10个复杂的数学问题及其解决方案
advanced_math_problems.json 问题数据(自动生成)

支持的操作(通过整合工具)

symbolic_tool

  • 操作:简化、展开、因子、导数、积分、极限、求解、泰勒、矩阵(行列式/逆/秩/轨迹 matrix_data).

-### numpy_tool

  • 数组缩减:求和、均值、标准差、最大值、最小值(带可选轴)。
  • 线性代数和分解:特征值/特征向量(别名eig/eigvals)、行列式、逆、求解、范数、秩、迹、matmul/dot/hadamar(需要 matrix_a & matrix_b)、SVD、QR、Cholesky(使用 matrix_a,可选 matrix_b).
  • 多项式:poly_eval、poly_derive、poly_integral。
  • 三角函数:sin/cos/tan/arcsin/arccos/arctan/sinh/cosh/tanh(可选度数输入)。
  • Pandas(通过Pandas_*操作进行数据分析):描述、更正、值计数(必填 columns),group_sum(columns 带有group/agg的JSON)。以JSON格式输入数据帧。
  • 图像(基于numpy):Image_stats、Image_normalize、Image_threshold(输入 image_data JSON数组,可选 threshold).
  • 三角函数:sin,cos,tan,arcsin,arccos,arctan,sinh,cosh,tanh(使用 values,可选 use_degrees).
  • 多项式:poly_eval、poly_derive、poly_integral(使用 coefficients,可选 x_values).

scipy_tool

  • 集成:集成_功能(操作=integrate).
  • 优化:optimize_minimize,optimize_root。
  • 插值:插值_线性/插值_三次/插值_样条。
  • 特殊功能:特殊(功能+参数)。
  • ODE:solve_ODE(表达式、初始条件、t_values)。
  • 统计:统计/均值/标准差/描述/t检验/峰值 operation + data (+ params).
  • FFT:FFT,rfft。
  • matrix_eigensystem(使用 matrix_a).

使用示例

from calculator import CALCULATOR_TOOLS

# Derivative: d(x³)/dx = 3x²
result = CALCULATOR_TOOLS['symbolic_derivative']('x**3', 'x')

# Solve: x² - 4 = 0
result = CALCULATOR_TOOLS['solve_equation']('x**2 - 4', 'x')

# Eigenvalues of matrix
import numpy as np
A = [[1, 2], [3, 4]]
result = CALCULATOR_TOOLS['numpy_linear_algebra'](A, 'eigenvalues')

# Integrate: ∫ x² dx from 0 to 1
result = CALCULATOR_TOOLS['symbolic_integral']('x**2', 'x', 0, 1)

模型使用策略

  • 每个数字或符号计算都必须委托给工具(通过MCP tools/call 或直接 CALCULATOR_TOOLS[...]),切勿在模型响应内手动计算。
  • 推理流程:选择正确的工具→ 准备JSON安全输入→ 调用该工具→ 呈现工具输出(仅对格式化进行最小的后处理)。
  • 如果一个步骤需要算术运算,请调用工具(例如,使用 numpy_linear_algebra 对于矩阵, symbolic_* 对于代数, scipy_* 用于微积分/优化)。
  • 除非工具返回近似值,否则避免近似值;不要手动估计值。

提示手册(高级问题)

  • 重新启动任务,列出所需的子计算,并将每个子计算映射到一个工具。
  • 对于矩阵,始终提供 matrix_a (以及 matrix_b 需要时)作为JSON数组 numpy_linear_algebra.
  • 对于演算/ODE/PDE,在调用之前将表达式转换为纯字符串(兼容SymPy) symbolic_* 或 scipy_* 工具。
  • 在每次工具调用后,将其确切的输出重用于后续步骤——中间没有手动算术。
  • 求和或求解时,首选工具输出作为下一个工具的输入(例如,特征值→ 在后续步骤中使用,而不是重新计算)。
  • 如果用户询问结果,返回:调用的工具、使用的输入和工具输出;避免“心算”

问题集

展示工具能力的10个复杂的大学级问题:

  1. 二阶ODE:y’+4y’+4y=e^x(7步)
  2. 特征值和特征向量:矩阵分析(5步)
  3. 傅里叶级数与巴塞尔问题:系列扩展(6步)
  4. 拉格朗日乘子:约束优化(7个步骤)
  5. 余式定理:复杂的集成(6个步骤)
  6. 热方程:PDE求解(7个步骤)
  7. 表面几何形状:切线平面(7步)
  8. ODE系统:线性系统(7步)
  9. 格林定理:线积分(8步)
  10. 变分法:欧拉-拉格朗日(10步)

演出

度量 值
计算精度 100%
MCP合规性 100%(16/16次检查)
可用工具 3(合并)
包含的问题 10
解决方案步骤 69
启动时间 <1秒
响应时间 <100ms

技术细节

  • 运输:STDIO(MCP标准)
  • 协议:JSON-RPC 2.0
  • 语言:Python 3.10+
  • 依赖项:SymPy、NumPy、SciPy、FastMCP
  • 尺寸:~70 KB(仅核心代码)

状态

✅ 生产就绪

  • 3个经过测试和工作的整合工具
  • MCP规范已验证
  • 使用Claude Desktop进行部署和测试
  • 准备投入生产使用

支持

有关问题或疑问,请参阅MCP规范:https://modelcontextprotocol.io/docs/develop/build-server