数学计算服务器

一个简单高效的数学计算服务器,通过Python表达式提供数学计算能力。

  • by quyen-nguyen-270898
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 quyen-nguyen-270898/mcp-calculator

使用说明

MCP计算器服务器

一个简单高效的MCP(模型上下文协议)服务器,通过Python表达式提供数学计算功能。

特性

  • ✨ 数学计算:使用完整的数学模块支持评估Python表达式
  • 🎲 随机数字生成器:访问Python的随机模块
  • 🔒 安全评价:沙盒执行环境
  • 📡 STDIO传输:易于与MCP客户端集成

安装

使用uvx(推荐)

PyPI(一旦发布):

uvx mcp-calculator

来自GitHub(当前):

uvx --from git+https://github.com/quyen-nguyen-270898/mcp-calculator.git mcp-calculator

使用pip

pip install mcp-calculator

来源

git clone https://github.com/quyen-nguyen-270898/mcp-calculator.git
cd mcp-calculator
pip install -e .

用法

运行服务器

python -m mcp_calculator

或者,如果已安装:

mcp-calculator

可用工具

计算器

评估Python数学表达式,支持:

  • 基本算术: +, -, *, /, **, %
  • 数学模块功能: math.sqrt(), math.sin(), math.cos()等等。
  • 随机模块: random.random(), random.randint()等等。

输入架构:

{
  "python_expression": "string (required) - A valid Python expression to evaluate"
}

示例:

  • 2 + 2
  • math.sqrt(16)
  • math.pi * 2
  • random.randint(1, 100)
  • (5 + 3) * 2 - 4

与MCP客户端集成

Claude桌面配置

添加到您的Claude Desktop配置文件中:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "calculator": {
      "command": "uvx",
      "args": ["mcp-calculator"]
    }
  }
}

或者直接使用Python:

{
  "mcpServers": {
    "calculator": {
      "command": "python",
      "args": ["path/to/calculator.py"]
    }
  }
}

与imcp.pro一起使用

此MCP服务器可以轻松添加到imcp.pro中:

  1. 来自GitHub:只需将存储库URL粘贴到imcp.pro中即可
  2. 手动添加:
    • 模式: 工作室
    • 命令: uvx
    • 参数: mcp-calculator
    • 不需要环境变量

发展

需求

  • Python 3.10或更高版本
  • 无外部依赖关系

测试

运行服务器并通过stdin发送JSON-RPC消息:

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | python calculator.py

协议细节

此服务器实现了模型上下文协议(MCP)规范:

  • 协议版本:2024-11-05
  • 运输:STDIO
  • 支持的方法:
    • initialize
    • tools/list
    • tools/call
    • ping

安全说明

⚠️ 计算器使用Python eval() 在受限的环境中:

  • 无法访问 __builtins__
  • 仅 math 和 random 模块可用
  • 没有文件系统或网络访问权限

虽然这提供了基本的沙盒,但请谨慎使用不受信任的输入。

许可证

MIT许可证-有关详细信息,请参阅许可证文件

贡献

欢迎投稿!请随时提交拉取请求。

支持

如果您遇到任何问题或有疑问:

  • 在GitHub上打开一个问题
  • 检查现有问题的解决方案

更新日志

v1.0.0(2026-01-30)

  • 初始版本
  • 基本计算器功能
  • 数学和随机模块支持
  • STDIO传输实施