使用说明
计算器MCP
一个高精度的34位计算器微服务,您可以将其放入任何LLM工作流程中。同时公开REST API 和 一 主控程序 服务器,以便代理可以安全、确定地评估表达式。
简体中文 | 日本语
我为什么需要这个?
众所周知,大型语言模型在精确算术方面很差——它们可能会产生数字事实的幻觉或返回不精确的结果。 计算器MCP 为您的代理提供一个确定性的、34位精度的预言机,确保每次计算都是值得信赖和可重复的。
支持的表达式
计算器MCP理解标准算术以及一组集中的科学函数和常数。
| 类别 | 语法/示例 |
|---|---|
| 加法/减法 | 1 + 2 - 3 |
| 乘法/除法 | 4 * 5 / 2 |
| 电源 | 2 ** 10 → 1024 |
| 括号和一元+/- | -(1 + 2) * 3 |
| 常量 | pi, e |
| 三角函数 | sin(pi/6), cos(pi/3), tan(pi/4) |
| 反向三角函数 | asin(0.5), acos(1), atan(1) |
| 对数 | log(8, 2) (底座可选; log(10) =ln) |
| 根与力量 | sqrt(2), pow 通过 ** |
| 指数型 | exp(1) |
| 绝对值 | abs(-3.5) |
所有计算均返回34位精度 result 弦。
特性
- 使用Python的34位十进制算术
decimal - 标准数学函数:trig、log、power等。
- REST端点:
POST /evaluate,GET /healthz - MCP功能
calc.evaluate准备好进行函数调用/工具调用 - YAML驱动的测试套件和100%类型化的代码库
快速开始
先决条件
- Python≥3.11(使用 紫外线)
安装 uv 一次(如果你没有):
pip install uv
安装
git clone https://github.com/your-org/calculator-mcp.git
cd calculator-mcp
uv pip install -r requirements.txt # creates .venv automatically
运行REST API
uv run python -m uvicorn app.main:app --reload --port 8000
# Swagger UI: http://127.0.0.1:8000/docs
运行MCP服务器(HTTP)
uv run python -m uvicorn server.main:app --reload --port 9000
注:有关直接工具集成(例如在Cursor中),请参阅 stdio 服务器说明如下。
与大型语言模型(LLM)集成
该项目包括一个完整的、可运行的示例,说明如何使用模型上下文协议(MCP)将计算器与LLM驱动的代理集成。
代理人使用官方 mcp Python库,用于根据自然语言查询动态发现和调用计算器的函数。
运作原理
该示例遵循官方MCP stdio 客户端模式:
stdio_server.py:通过标准输入/输出进行通信的轻量级MCP服务器。它导入并公开核心calculate功能。examples/smart_calculator_agent.py:启动的客户端代理stdio_server.py作为一个子流程。它使用OpenAI的GPT-4来解释用户查询和官方mcp库在需要时调用计算器工具。
这种分离确保了核心计算器逻辑独立于服务器实现(它可以通过HTTP或 stdio).
运行示例
-
设置您的OpenAI API密钥:
创建一个
.env在项目的根目录中创建文件并添加密钥:OPENAI_API_KEY="sk-..." -
运行代理:
使用
uv运行客户端脚本。客户端将自动启动stdio服务器。uv run python examples/smart_calculator_agent.py
示例代码(smart_calculator_agent.py)
该代理的完整源代码可在 examples 目录。它演示了如何启动 stdio 服务器并和LLM交互。
查看代理源代码(smart_calculator_agent.py)
与MCP兼容的工具(如游标)一起使用
您可以通过创建一个 .cursor/mcp.json 项目根目录中的文件。这个文件告诉Cursor如何找到工具并与之通信。
方法1:连接到正在运行的HTTP服务器(推荐)
此方法适用于您正在运行MCP服务器并希望从Cursor连接到它的情况。
-
启动MCP服务器:首先,确保符合规范的JSON-RPC服务器正在运行。
uv run python -m uvicorn server.main:app --reload --port 9000 -
配置光标:
- 在您的项目中,创建一个名为
.cursor/mcp.json. - 添加以下JSON配置。此消息会告诉Cursor您的服务器在指定的URL上可用,并使用标准MCP协议。
{ "mcpServers": { "calculator": { "url": "http://127.0.0.1:9000" } } }- 保存文件。游标将自动检测到它,并发送
tools/list向服务器发出请求,并calc.evaluateAI可用的工具。
- 在您的项目中,创建一个名为
方法2:作为本地标准工具运行
如果您不想管理单独的服务器进程,这种替代方法很有用。游标将使用标准输入/输出按需启动和停止工具。
- 配置光标:
- 在您的项目中,创建一个名为
.cursor/mcp.json. - 将以下JSON配置添加到文件中:
{ "mcpServers": { "calculator": { "command": "uv", "args": ["run", "python", "stdio_server.py"], "cwd": "${workspaceFolder}" } } }- 保存文件。游标将运行
stdio_server.py在后台编写脚本calculateAI可用的功能。
- 在您的项目中,创建一个名为
测试
uv run pytest -q
许可证
麻省理工学院
