这是一个使用 Model Context Protocol (MCP) 开发的计算器服务器,提供基本的算术运算功能。
- 加法、减法、乘法、除法的基本运算
- 自动记录计算历史
- 通过资源 API 访问帮助信息和历史记录
- 幂运算和平方根计算
- 表达式计算(使用安全的表达式求值)
- 资源更新通知(当历史记录更新时)
- Python 3.7 或更高版本
- MCP Python SDK
To install 计算器 MCP 服务器 for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @mzdz/calc-mcp --client claude- 克隆或下载此仓库
- 安装依赖项:
pip install -r requirements.txtpython calculator_server.py或者使用 MCP 命令:
mcp run calculator_server.pypython advanced_calculator_server.pypython calculator_client.pyadd(a, b): 计算 a + bsubtract(a, b): 计算 a - bmultiply(a, b): 计算 a * bdivide(a, b): 计算 a / b
power(base, exponent): 计算 base 的 exponent 次幂sqrt(value): 计算平方根evaluate_expression(expression): 计算数学表达式字符串
calculator://help: 获取帮助信息calculator://history: 获取计算历史记录
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
import asyncio
async def main():
server_params = StdioServerParameters(
command="python",
args=["advanced_calculator_server.py"],
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# 调用加法工具
result = await session.call_tool("add", {"a": 5, "b": 3})
print(f"5 + 3 = {result}")
# 读取计算历史
history, _ = await session.read_resource("calculator://history")
print(history)
if __name__ == "__main__":
asyncio.run(main())calculator_server.py: 基本计算器 MCP 服务器advanced_calculator_server.py: 高级计算器 MCP 服务器,带有更多功能calculator_client.py: 计算器客户端示例requirements.txt: 项目依赖README.md: 项目文档
你可以通过以下方式扩展这个计算器服务器:
- 添加更多数学函数(如三角函数、对数等)
- 实现更复杂的表达式解析器
- 添加图形界面
- 实现持久化存储计算历史
- 添加用户自定义变量和函数
MIT 许可证