关于 MCP Calculator Server
MCP Calculator Server 是一个基于官方 go-sdk 的数学计算 MCP 服务,适用于需要计算工具和数学资源的 MCP 客户端。它还提供数学题提示词、常量资源及随机数生成。
主要功能
- 01支持优先级、括号和科学计数法
- 02按分布生成随机数
- 03提供数学常量资源
- 04数学题生成与计算讲解提示词
- 05参数补全和客户端日志
适用场景
- 01计算包含括号的数学表达式
- 02生成指定范围内的随机数
- 03查询常用数学常量
- 04生成数学题或获取计算步骤说明
MCP 相关
该 MCP 服务向客户端暴露 calculate 和 random_number 工具、数学常量及服务器信息资源,以及数学题和计算讲解提示词。支持 stdio 与 streamable-http 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Calculator Server
一个 Model Context Protocol(MCP)服务,提供功能强大的计算器数学运算功能。基于官方 go-sdk 构建。
功能
工具
- calculate:执行数学运算,支持正确的运算符优先级、括号和科学计数法
- random_number:使用各种概率分布,在指定范围内生成随机数(未指定分布时会使用征询功能)
这两个工具均声明了工具注解(只读、封闭世界提示)、标题和结构化输出架构。
资源
- math://constants:JSON 格式的数学常数(π、e、φ、√2、ln2、ln10)
- math://constants/{name}:资源模板 — 按名称获取单个常数,例如
math://constants/pi - server://info:服务器信息和功能概览
提示词
- math_problem:生成难度和主题可配置的数学应用题
- explain_calculation:分步骤解释数学表达式
协议功能
- 补全:为提示词参数(
difficulty、topic)和资源模板中的常数名称提供参数补全 - 征询:未指定分布时,
random_number会询问客户端使用哪种分布 - 日志记录:工具活动会作为 MCP 日志消息转发给客户端(stderr 除外)
- 图标和元数据:服务和工具的图标、标题、网站 URL 和说明
传输模式
- stdio:用于本地客户端(Cursor、Claude Desktop、MCP Inspector)。除非有特殊原因,否则请使用此模式。
- streamable-http:仅用于可信网络。绑定所有网络接口,不提供身份验证,也不检查 Origin。请将其置于强制执行身份验证(和 Origin 检查)的反向代理之后,或不要将其暴露出去。
默认值:
- 传输:未设置
TRANSPORT时使用streamable-http(适用于演示;不是生产环境的默认设置) - 端口:
8080(PORT)
除临时演示外,请运行 TRANSPORT=stdio,或在 HTTP 前端终止 TLS 并进行身份验证。
安装
每个 GitHub 发布版本均附带适用于 Linux、macOS 和 Windows(amd64/arm64)的预构建二进制文件。
也可以使用 Go 安装:
go install github.com/yinebebt/mcp-calculator-server@latest
用法
# Run with stdio
TRANSPORT=stdio mcp-calculator-server
# Run with HTTP (serves MCP at :8080/mcp, health check at /health)
mcp-calculator-server
# Test
go test ./...
MCP 客户端配置
使用 MCP Client 进行测试:
{
"command": "/path/to/mcp-calculator-server",
"env": {
"TRANSPORT": "stdio"
}
}
数学功能
- 运算符优先级:
2+3*4 = 14 - 括号:
(2+3)*4 = 20 - 科学计数法:
1e2 = 100 - 错误检测:除以零、语法无效、括号不匹配、结果非有限(NaN/Inf)
发布
通过 GitHub Actions 使用 GoReleaser 构建发布版本。推送 vX.Y.Z 标签后,会针对 linux/darwin/windows × amd64/arm64 进行交叉编译,并将归档文件和校验和附加到 GitHub 发布版本中。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。