关于 SimpleCalculator using Model Context Protocol (MCP) Server & Docker
这是一个用 Docker 部署的算术运算 MCP 服务示例,提供加、减、乘、除工具,适合了解自定义 MCP 实现的开发者。
主要功能
- 01加、减、乘、除运算
- 02自定义 MCP 协议处理
- 03Docker 容器化部署
- 04通过 compose.yaml 配置
适用场景
- 01为 MCP 客户端提供基础计算工具
- 02用 Docker Compose 启动计算服务
- 03测试或学习自定义 MCP 实现
MCP 相关
服务通过 MCP 向客户端提供加法、减法、乘法和除法工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
使用 Model Context Protocol(MCP)服务和 Docker 的 SimpleCalculator
演示自定义 Model Context Protocol(MCP)实现,用于执行算术运算,并通过 Docker 容器化以便轻松部署。
功能
- MCP 实现:为数学运算处理自定义协议
- 核心运算:加法、减法、乘法、除法
- 容器化架构:基于 Docker 部署
- 依赖管理:使用
pyproject.toml和uv.lock进行现代 Python 打包 - 协议安全:通过容器隔离提供基本通信安全
项目结构
.
├── src/ # MCP server implementation
├── Dockerfile # Container build instructions
├── compose.yaml # Orchestration configuration
├── requirements.txt # Python dependencies
├── pyproject.toml # Project metadata
├── uv.lock # Dependency lock file
├── .gitignore
├── LICENSE.md
└── README.md
开始使用
前提条件
- Docker
安装
git clone https://github.com/DionBenFernandes-Dev/SimpleCalculator-using-MCP-Server---Docker.git
cd SimpleCalculator-using-MCP-Server---Docker
部署
docker compose up --build
协议实现
MCP 服务通过自定义协议实现处理计算。运算按以下模式处理:
- 连接:客户端与 MCP 服务建立连接
- 请求格式:
Available tools:
- add: Add 2 numbers
- sub: Subtract 2 numbers
- mul: Multiply 2 numbers
- div: Divide 2 numbers
Enter the tool you want to use: add
Enter 1st Number: 3
Enter 2nd Number: 4
- 响应格式:
Result:: 3 + 4 = 7
配置
修改 compose.yaml 中的环境变量以调整:
- 服务端口绑定
- 日志详细程度
- 协议超时
开发
- 本地设置:
pip install uv # recommended
uv venv
uv add -r requirements.txt
uv run ./src/server.py
- 测试:
uv run .\src\client.py
- 输出:
Available tools:
- add: Add 2 numbers
- sub: Subtract 2 numbers
- mul: Multiply 2 numbers
- div: Divide 2 numbers
Enter the tool you want to use: add
Enter 1st Number: 3
Enter 2nd Number: 4
Result:: 3 + 4 = 7
许可证
MIT 许可证 - 请参阅 LICENSE.md
贡献
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/NewOperation) - 提交更改(
git commit -m 'Add modulo operation') - 推送到分支(
git push origin feature/NewOperation) - 创建 Pull Request
维护者
Dion Ben Fernandes - GitHub 个人资料
注意:此实现演示了自定义 MCP 架构模式。用于生产环境时,请考虑实现适当的协议安全措施和验证层。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。