计算器MCP服务器
一个简单的模型上下文协议(MCP)服务器,为Claude Desktop和其他MCP客户端提供基本的计算器操作工具。
特性
- 添加:将两个数字相加
- 减去:找出两个数字之间的差异
- 乘:计算两个数字的乘积
- 分割:用适当的零除法处理来除法
所有操作都支持整数、浮点数和负数。
安装
先决条件
- Python 3.10或更高版本
- pip(Python包管理器)
步骤
- 克隆或下载此存储库
git clone https://github.com/snedea/calc-mcp-server.git
cd calc-mcp-server- 安装依赖项
pip install -r requirements.txt这将安装:
fastmcp>=2.0.0-MCP框架pytest>=7.0.0-测试框架
用法
测试服务器
独立运行服务器以验证其是否正常工作:
python3 calc_server.py您应该看到:
🧮 Calculator MCP Server Starting
📋 Available tools:
- add(a, b): Add two numbers
- subtract(a, b): Subtract b from a
- multiply(a, b): Multiply two numbers
- divide(a, b): Divide a by b (handles zero)
💡 Configure in Claude Desktop to use these tools!按 Ctrl+C 停止服务器。
在Claude Desktop中配置
要在Claude Desktop中使用这些计算器工具:
- 找到您的Claude Desktop配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 视窗: %APPDATA%\Claude\claude_desktop_config.json
- 编辑配置文件 (如果它不存在,请创建它):
{
"mcpServers": {
"calculator": {
"command": "python3",
"args": ["/absolute/path/to/calc-mcp-server/calc_server.py"]
}
}
}重要:替换 /absolute/path/to/calc-mcp-server/ 此目录的实际完整路径。
- 重新启动克劳德桌面
计算器工具现在可用!当你问涉及计算的问题时,克劳德可以自动使用它们。
可用工具
添加(a,b)
将两个数字相加。
参数:
a(浮点数):第一个数字b(浮点数):第二个数字
退货: 带有操作细节和结果的JSON
例子:
Input: add(5, 3)
Output: {
"operation": "add",
"a": 5,
"b": 3,
"result": 8
}减去(a,b)
从第一个数字中减去第二个数字。
参数:
a(浮点数):要减去的数字b(浮点数):要减去的数字
退货: 带有操作细节和结果的JSON
例子:
Input: subtract(10, 3)
Output: {
"operation": "subtract",
"a": 10,
"b": 3,
"result": 7
}乘(a,b)
将两个数字相乘。
参数:
a(浮点数):第一个数字b(浮点数):第二个数字
退货: 带有操作细节和结果的JSON
例子:
Input: multiply(4, 5)
Output: {
"operation": "multiply",
"a": 4,
"b": 5,
"result": 20
}分割(a,b)
将第一个数字除以第二个数字。
参数:
a(浮点数):数字b(浮点数):分母
退货: JSON,包含操作细节和结果,如果除以零则出错
例子:
Input: divide(10, 2)
Output: {
"operation": "divide",
"a": 10,
"b": 2,
"result": 5
}
Input: divide(10, 0)
Output: {
"error": "Cannot divide by zero"
}测试
运行测试套件以验证所有操作是否正常工作:
pytest tests/test_calculator.py -v预期产量:
tests/test_calculator.py::TestAddition::test_add_positive_numbers PASSED
tests/test_calculator.py::TestAddition::test_add_negative_numbers PASSED
... (30+ tests)
================================ 30 passed in 0.XX s ================================所有测试均应通过,包括:
- 基本的算术运算
- 边缘情况(零、负数、小数)
- 错误处理(除以零)
- JSON响应格式验证
项目结构
calc-mcp-server/
├── calc_server.py # Main MCP server with calculator tools
├── requirements.txt # Python dependencies
├── tests/
│ └── test_calculator.py # Comprehensive unit tests
├── README.md # This file
└── .gitignore # Git exclusions故障排除
工具未出现在Claude Desktop中
- ✅ 检查配置文件路径是否适合您的操作系统
- ✅ 验证
args路径是 绝对的 (非相对) - ✅ 确保已安装Python 3.10+:
python3 --version - ✅ 确认已安装FastMCP:
pip show fastmcp - ✅ 完全重新启动克劳德桌面
运行服务器时出现导入错误
- ✅ 安装依赖项:
pip install -r requirements.txt - ✅ 使用Python 3.10或更高版本
- ✅ 考虑使用虚拟环境:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt测试失败
- ✅ 确保安装了pytest:
pip install pytest - ✅ 从项目根目录运行
- ✅ 检查Python版本是否为3.10+
使用的技术
- Python 3.10+:带有类型提示的现代Python
- FastMCP 2.0+:Python官方MCP框架
- pytest:测试框架
运作原理
MCP(模型上下文协议)是将Claude等AI助手连接到外部工具和数据源的标准。此服务器:
- 将计算器操作定义为Python函数
- 用
@mcp.tool()通过MCP暴露它们 - 使用标准输入/输出(stdio传输)与Claude Desktop通信
- 返回结构化JSON响应以进行可靠解析
然后,克劳德可以在需要计算时自动调用这些工具!
许可证
麻省理工学院
贡献
欢迎投稿!请随意:
- 报告错误
- 建议新的计算器功能
- 改进文档
- 添加更多测试
由...创建
🤖 生成于 上下文铸造厂 -自主开发平台
