mcpField
C
Calculator MCP Server 🧮

Calculator MCP Server 🧮

Local
github.com/xiaoyingvScience & Education3Updated 64w ago

About Calculator MCP Server 🧮

Calculator MCP Server is a Python AST-based expression calculator for MCP clients that need basic math operations with safeguards. It supports arithmetic and exponentiation, and reports calculation errors.

Key features

  1. 01Basic arithmetic and exponentiation
  2. 02Positive and negative signs
  3. 03Formatted integer and decimal results
  4. 04AST-based expression parsing
  5. 05Checks for division and power errors

Use cases

  1. 01Calculate expressions from an MCP client
  2. 02Perform basic arithmetic with signed values
  3. 03Handle division-by-zero and invalid-expression errors

MCP support

It exposes the `perform_calculation` tool to MCP clients for evaluating expressions and returning formatted results or error messages.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Calculator MCP Server 🧮

PyPI version License Python Version

基于 Python AST 的安全表达式计算器 MCP 服务,支持基础数学运算和错误防护机制。

功能特性

  • ✅ 支持加减乘除四则运算(+, -, *, /)
  • ✅ 支持幂运算(**)
  • ✅ 支持正负号处理(+5, -3)
  • ✅ 智能格式化计算结果:
    • 整数结果直接显示整数
    • 小数结果保留最多15位有效数字
    • 自动去除末尾多余的零
  • ⚠️ 安全防护:
    • 拦截代码注入风险(通过 AST 解析而非 eval)
    • 除零错误防护
    • 语法错误提示
    • 类型安全检查
    • 幂运算安全检查

安装方式

pip install mcp-calculate-server

快速使用

from mcp.server.fastmcp import FastMCP

# 启动计算器服务
calculator = FastMCP("CalculatorServer")
calculator.run(transport='stdio')

API 接口

perform_calculation(expression: str) -> str

接收数学表达式字符串,返回格式化结果或错误信息

>>> perform_calculation("5+3")
"🧮 计算结果:5+3 = 8"

>>> perform_calculation("10/3")
"🧮 计算结果:10/3 = 3.333333333333333"

>>> perform_calculation("10**20")
"🧮 计算结果:10**20 = 100000000000000000000"

>>> perform_calculation("2**3")
"🧮 计算结果:2**3 = 8"

>>> perform_calculation("10/0")
"❌ 错误:除数不能为零"

>>> perform_calculation("0**-1")
"❌ 错误:零的负数次幂未定义"

>>> perform_calculation("(-1)**0.5")
"❌ 错误:负数的非整数次幂未定义"

支持的运算符

操作符说明示例
+加法3+4
-减法5-2
*乘法6*7
/除法8/2
**幂运算2**3
-x取负-5
+x取正+3

错误码说明

错误类型示例输出
语法错误❌ 表达式语法错误:unexpected EOF
不支持的运算符❌ 不支持的运算符:Mod
除零错误❌ 错误:除数不能为零
非法操作数类型TypeError: 不支持的常量类型
零的负数次幂❌ 错误:零的负数次幂未定义
负数的非整数次幂❌ 错误:负数的非整数次幂未定义

依赖环境

  • Python 3.13+
  • mcp-server 库(自动安装)

开源协议

MIT License,详情见 LICENSE

源码地址

GitHub: https://github.com/xiaoyingv/mcp_calculate_server

贡献指南

欢迎提交 PR 和报告 issue,提交前请阅读 CONTRIBUTING.md

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.