mcpField
M
MCP Calculator Server

MCP Calculator Server

本地服务
github.com/yinebebt科研与教育03 天前更新

关于 MCP Calculator Server

MCP Calculator Server 是一个基于官方 go-sdk 的数学计算 MCP 服务,适用于需要计算工具和数学资源的 MCP 客户端。它还提供数学题提示词、常量资源及随机数生成。

主要功能

  1. 01支持优先级、括号和科学计数法
  2. 02按分布生成随机数
  3. 03提供数学常量资源
  4. 04数学题生成与计算讲解提示词
  5. 05参数补全和客户端日志

适用场景

  1. 01计算包含括号的数学表达式
  2. 02生成指定范围内的随机数
  3. 03查询常用数学常量
  4. 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 发布版本中。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。