CalculatorLib MCP
将数千个计算器和 9 个单位换算类别 — 精简为仅 12 个工具(先搜索计算器,再运行它)— 接入任何 Model Context Protocol 客户端。向 Claude 提出诸如 “我体重 70 kg、身高 170 cm,BMI 是多少?” 或 “把 5 米换算成英尺” 之类的问题,得到权威答案,而不是凭空捏造的算术。
60 秒内安装
选择你使用的客户端,粘贴代码片段,重启。就这么简单。
运行一条命令,Claude Code 即可自动接入连接:
claude mcp add --transport http calculatorlib https://calculatorlib.com/mcp
或者,如果你更愿意手动编辑配置文件 ~/.claude/mcp.json:
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp"
}
}
}
在 Claude Code 中用 /mcp 验证 — 你应当看到 calculatorlib 已连接,并列出 12 个工具。
编辑你的 Claude Desktop 配置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
添加下面的 mcpServers 条目(与你已有的内容合并):
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp"
}
}
}
重启 Claude Desktop。输入框中的锤子图标将显示 calculatorlib 及其 12 个工具。
打开 Cursor 设置 → MCP → Add new MCP server,然后粘贴:
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp"
}
}
}
Cursor 使用相同的 Streamable HTTP 传输,因此 JSON 架构与 Claude Desktop 完全一致。
编辑你的 Zed 设置(cmd+, / ctrl+, → Open Settings),并在 context_servers 下添加计算器服务器:
{
"context_servers": {
"calculatorlib": {
"source": "custom",
"transport": {
"type": "streamable-http",
"url": "https://calculatorlib.com/mcp"
}
}
}
}
重新加载助手面板;计算器工具即可供任何 agent 线程使用。Zed 的 MCP 支持需要 v0.165 或更高版本。
在 VS Code 中打开 Cline 扩展 → MCP Servers → Edit Configuration。在 macOS 上,设置文件位于 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json(Linux/Win 路径类似):
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp",
"transportType": "streamableHttp"
}
}
}
Cline 会自动重新加载服务器配置;新工具会在几秒内出现在 MCP 面板中。
打开 Windsurf → Cascade → Configure MCP,或直接编辑 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"calculatorlib": {
"serverUrl": "https://calculatorlib.com/mcp"
}
}
}
重启 Windsurf,计算器工具即会出现在 Cascade 的工具选择器中。HTTP 传输需要 Windsurf 1.5+。
任何支持 Streamable HTTP 传输(规范版本 2025-06-18)的 MCP 兼容客户端都可连接:
{
"transport": "streamable-http",
"endpoint": "https://calculatorlib.com/mcp"
}
或者直接用 curl 调用 JSON-RPC 端点:
curl -X POST https://calculatorlib.com/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
试试这些提示词
安装后,直接用自然语言和 Claude 对话 — 它会挑选合适的工具。
“如果我体重 70 kg、身高 170 cm,我的 BMI 是多少?我处于健康范围吗?”
Claude 调用 bmi_calculator,返回 BMI 24.22 及对应的 WHO 分类。
“把 5 米换算成英尺,再把 200 磅换算成千克。”
Claude 依次调用 convert_length 和 convert_mass。
“如果我投资 $10 000,按 5% 年复利持有 20 年,最终价值是多少?”
Claude 调用 compound_interest_calculator 并展示明细。
“一笔 $300k 的房贷,年利率 6.5%、期限 30 年,每月还款是多少?”
Claude 用本金、利率、期限调用 home_loan_calculator。
在线试用台
就在这里调用服务器 — 向 https://calculatorlib.com/mcp 发送真实 JSON-RPC,获得真实响应。无需注册。
授权令牌(可选)
原始 JSON-RPC 请求 & 响应
npx @modelcontextprotocol/inspector,然后连接到 https://calculatorlib.com/mcp(传输方式:Streamable HTTP)。 工具浏览器
按名称或标题搜索计算器库和 9 个换算类别。在思考要向 Claude 提出什么时很有用。
工作原理
- 端点:位于
https://calculatorlib.com/mcp的单个POST处理器,基于 Streamable HTTP 使用 JSON-RPC 2.0(传输规范2025-06-18)。 - 工具命名:计算器 slug 使用 snake_case(
bmi_calculator、compound_interest_calculator);换算器为convert_<category>。 - 输入:每个工具都会公布一个从计算器表单字段(类型、枚举、最小/最大值)推导出的 JSON Schema。条件字段(例如 BMI 中的公制与英制)会列为可选 — 请阅读每个字段的描述以了解哪些组合有效。
- 输出:一行文本摘要,外加一个 LLM 可解析的
structuredContentJSON 对象(例如{ "main": [{...}], "data": [...] })。 - 更新:目录每 5 分钟刷新一次 — 新发布的计算器会自动出现。
直接 API(无需 MCP 客户端)
想在没有 MCP 客户端的情况下集成?同样的数据可通过普通 JSON 端点获取。
curl -X POST https://calculatorlib.com/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST https://calculatorlib.com/mcp \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{
"name":"bmi_calculator",
"arguments":{"unitSystem":"metric","weight":70,"height":170}
}
}'
curl -X POST https://calculatorlib.com/mcp \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{
"name":"convert_length",
"arguments":{"value":5,"from":"Meter","to":"Foot"}
}
}'
REST 端点(无 JSON-RPC 封装):
/api/calculators/schemas?q=<keywords>— 搜索计算器(带输入架构的有限匹配结果)- /api/converter/categories — 带单位的换算类别
POST /api/converter/convert— 直接换算,请求体{ category, from, to, value }
身份验证(可选但推荐)
匿名调用可用 — 身份验证是可选的。添加令牌可在 /account/mcp-logs 解锁按用户的使用分析:你通过令牌发起的每次调用都会显示在那里,包含延迟、错误原因以及你调用的计算器。
获取令牌(60 秒)
- 登录(或先创建账户)。
- 前往 /account/api-tokens。
- 点击 Generate token。复制该值 — 它只显示一次。
将其添加到你的 MCP 客户端
与公开安装相同的配置文件,再加上一个 headers.Authorization 字段:
{
"mcpServers": {
"calculatorlib": {
"url": "https://calculatorlib.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN_HERE"
}
}
}
}
为什么要这么做?
- 个人使用日志 — 查看你最常调用哪些计算器、哪些失败,仅限于你的令牌范围(/account/mcp-logs)。
- 多客户端、独立令牌 — 为每台设备(笔记本、服务器、agent)各创建一个。吊销其中一个不会影响其他。
- 未来按用户功能的基础 — 当我们加入速率限制 / 配额 / 已保存预设时,它们会绑定到已验证的调用上。
使用 Bearer 令牌的 curl
curl -X POST https://calculatorlib.com/mcp \
-H 'Authorization: Bearer YOUR_TOKEN_HERE' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
服务器运维者:设置 MCP_REQUIRE_AUTH=true 可要求每次调用都带令牌(匿名 → 401)。旧的 MCP_API_TOKEN 环境变量仍可作为单一共享密钥的旁路。
常见问题 & 故障排除
这是免费的吗?有速率限制吗?
你们会存储我的查询吗?
为什么 Claude 有时会说某个工具没有返回有用数据?
我可以进行身份验证,让我的使用记录显示在我的账户下吗?
/mcp 请求中以 Authorization: Bearer <token> 传入,你的调用就会出现在 /account/mcp-logs。完整的客户端配置见上方的“身份验证”部分。我弄丢了令牌。能找回吗?
我刚发布了一个新计算器 — 它什么时候出现?
工具名称与我在 URL 中看到的 slug 不一致?
/bmi-calculator 会变成 bmi_calculator。