项目简介

该项目是一个实现了 Model Context Protocol (MCP) 的服务器应用,专注于提供安全的数学表达式计算能力。它不是一个独立的计算器程序,而是设计作为大型语言模型(LLM)或其他 MCP 客户端可调用的后端服务,为它们提供可靠、安全的计算功能。

主要功能点

  • 安全计算: 使用 Python 的抽象语法树 (AST) 解析表达式,而非不安全的 'eval',有效防范代码注入风险。
  • 基础运算支持: 支持加 ('+')、减 ('-')、乘 ('*')、除 ('/') 四则运算,以及正负号处理。
  • 自动格式化: 将计算结果自动格式化为两位小数。
  • 错误防护: 集成了除零错误、语法错误、不支持运算符和非法类型操作数的检测与提示。

安装步骤

本服务可以通过 pip 包管理器轻松安装:

pip install mcp-calculate-server

这将安装 MCP 计算器服务及其所需的依赖,包括 'mcp-server' 库。

服务器配置

作为 MCP 服务器,它需要由 MCP 客户端来启动和管理。客户端在连接时需要知道如何启动该服务器进程以及其通信方式。

客户端需要配置服务器的名称(通常是 ''CalculatorServer'',可以在服务器代码中确认)、启动该服务器进程的命令(例如,安装后可以通过 'python -m mcp_calculate_server' 命令来启动)、命令参数(本服务在启动时通常无需额外的命令行参数)以及通信方式(本服务默认通过标准输入输出 'stdio' 进行通信)。这些配置信息通常以 JSON 格式在客户端进行管理。

基本使用方法

安装并由 MCP 客户端成功启动连接后,MCP 客户端可以通过 JSON-RPC 调用该服务器暴露的工具(Tool)。

本服务提供一个名为 'perform_calculation' 的工具。客户端调用此工具时,需要传入一个字符串参数,即需要计算的数学表达式(例如 '"5+3"' 或 '"10/2 * -4"')。服务器执行计算后,会将格式化后的计算结果或详细的错误信息作为调用的返回结果发送回客户端。

例如,客户端调用 'perform_calculation("5+3")',服务器可能返回 '"🧮 计算结果:5+3 = 8.00"';调用 'perform_calculation("10/0")' 则可能返回 '"❌ 错误:除数不能为零"'。

信息

分类

AI与计算