mcpField
C
calcport

calcport

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

关于 calcport

calcport 是供命令行用户和 MCP 客户端使用的算术工具。手写表达式解析器仅接受指定的运算符、函数和常量,不会将表达式作为代码执行。

主要功能

  1. 01安全计算表达式
  2. 02支持算术运算符和括号
  3. 03支持 sqrt、abs、floor、ceil、round
  4. 04支持 pi 和 e 常量
  5. 05独立加减乘除操作
  6. 06命令行与 stdio MCP 模式

适用场景

  1. 01计算复合算术表达式
  2. 02执行单项算术运算
  3. 03向 MCP 客户端提供计算工具

MCP 相关

其 stdio MCP 服务提供五种工具:表达式计算,以及加、减、乘、除。除以零或表达式格式错误时会返回错误。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-calcport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/calcport"
]
}
}
}
启动命令npx -y @reneturcios/calcport

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/calcport0.1.0
ocighcr.io/cloudcorprecords/calcport:0.1.0

工具

5

收录的工具列表 · 更新于 1 天前

参数类型必填说明
expressionstring是要计算的算术表达式

详细介绍

calcport

calcport 可安全地进行算术运算。它的核心是一个表达式求值器,支持常见运算符、括号、少量函数以及常量 pi 和 e,除此之外不支持其他内容。求值器采用手写解析器,因此表达式绝不会变成代码执行、shell 调用或属性查找。除此之外,它还提供四个单一用途的操作,供只需计算一个和、差、积或商的调用方使用。

安装

npx @reneturcios/calcport calculate "2+3*4"

或者运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/calcport

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

# Evaluate an expression
calcport calculate "sqrt(3^2 + 4^2) + pi"
# 8.141592653589793

# Single operations
calcport add 2 3          # 5
calcport subtract 10 4    # 6
calcport multiply 2.5 4   # 10
calcport divide 7 2       # 3.5

# Machine-readable output
calcport calculate "2^10" --json
calcport add 2 3 --json

calcport --version

表达式可以使用 + - * / % ^、括号、一元负号、函数 sqrt、abs、floor、ceil 和 round,以及常量 pi 和 e。^ 是右结合运算符,因此 2^3^2 的结果为 512。

退出码:成功时为 0;无法完成计算时为 1(例如除以零或表达式格式错误,错误信息会说明原因);用法错误时为 2。

MCP 服务

一个二进制文件提供两种使用方式。mcp 子命令会启动一个 stdio MCP 服务:

npx -y @reneturcios/calcport mcp

MCP 客户端配置:

{
  "mcpServers": {
    "calcport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/calcport", "mcp"]
    }
  }
}
工具
工具输入返回内容
calculateexpression(字符串,必填)表达式的数值结果,并回显表达式。
adda、b(数字,必填)a + b,并返回两个操作数。
subtracta、b(数字,必填)a - b,并返回两个操作数。
multiplya、b(数字,必填)a * b,并返回两个操作数。
dividea、b(数字,必填)a / b,并返回两个操作数。除以零会报错。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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