MCP计算器演示
一个演示项目,展示了使用MCP(模型控制协议)框架的计算器服务。该项目由一个提供基本算术运算的服务器和一个可以计算简单和复杂数学表达式的客户端组成。
项目结构
calculator_server.py:提供算术运算的MCP服务器client.py:连接到服务器并处理用户输入的客户端应用程序requirements.txt:项目依赖关系
特性
- 基本算术运算(加法、减法、乘法、除法)
- 支持简单操作(例如“add 2 3”)和复杂表达式
- 除零错误处理
- 客户端和服务器之间的服务器发送事件(SSE)通信
- 支持表达式中的括号
- 复杂表达式的RPN(反向波兰语表示法)求值
先决条件
- Python 3.7+
- pip(Python包管理器)
安装
- 克隆存储库
- 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt用法
启动服务器
运行计算器服务器:
python calculator_server.py服务器将于启动 http://127.0.0.1:5005 默认情况下。
运行客户端
在单独的终端中,运行客户端:
python client.py可用操作
计算器支持以下操作:
- 直接工具语法:
- add 2 3 - subtract 5 2 - multiply 4 3 - divide 10 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许可证下使用。
