计算器服务

一个基于MCP框架的计算器服务,提供基本算术运算和复杂数学表达式评估功能。

  • by pijush2022
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pijush2022/mcp-server-with-client-demo-for-calculator-with-sse-

使用说明

MCP计算器演示

一个演示项目,展示了使用MCP(模型控制协议)框架的计算器服务。该项目由一个提供基本算术运算的服务器和一个可以计算简单和复杂数学表达式的客户端组成。

项目结构

  • calculator_server.py:提供算术运算的MCP服务器
  • client.py:连接到服务器并处理用户输入的客户端应用程序
  • requirements.txt:项目依赖关系

特性

  • 基本算术运算(加法、减法、乘法、除法)
  • 支持简单操作(例如“add 2 3”)和复杂表达式
  • 除零错误处理
  • 客户端和服务器之间的服务器发送事件(SSE)通信
  • 支持表达式中的括号
  • 复杂表达式的RPN(反向波兰语表示法)求值

先决条件

  • Python 3.7+
  • pip(Python包管理器)

安装

  1. 克隆存储库
  2. 创建并激活虚拟环境:
    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. 安装依赖项:
    pip install -r requirements.txt
    

用法

启动服务器

运行计算器服务器:

python calculator_server.py

服务器将于启动 http://127.0.0.1:5005 默认情况下。

运行客户端

在单独的终端中,运行客户端:

python client.py

可用操作

计算器支持以下操作:

  1. 直接工具语法:

    • add 2 3
    • subtract 5 2
    • multiply 4 3
    • divide 10 2
  2. 复杂表达式:

    • 5+7-2
    • 5+7-2*3
    • (5+7)*2
    • 10/2+3*4

示例用法

» add 2 3
Result: 5

» 5+7-2*3
Result: 6

» (5+7)*2
Result: 24

» divide 10 0
Error: Division by zero.

技术细节

  • 服务器使用FastMCP处理MCP操作
  • 客户端和服务器之间的通信是通过服务器发送事件(SSE)完成的
  • 客户端实现了用于解析复杂表达式的Shunting Yard算法
  • 对无效表达式和除零执行错误处理

依赖项

  • 快速
  • 优维康
  • 赛斯·斯塔莱特
  • fastmcp>=0.1.0
  • 火焰指数
  • 火焰指数
  • 人类
  • python dotenv
  • 请求:
  • sseclient py
  • 紫外线

许可证

这个项目是开源的,可以在MIT许可证下使用。