mcpField
S
SimpleCalculator using Model Context Protocol (MCP) Server & Docker

SimpleCalculator using Model Context Protocol (MCP) Server & Docker

本地服务
github.com/DionBenFernandes-Dev云与基础设施079 周前更新

关于 SimpleCalculator using Model Context Protocol (MCP) Server & Docker

这是一个用 Docker 部署的算术运算 MCP 服务示例,提供加、减、乘、除工具,适合了解自定义 MCP 实现的开发者。

主要功能

  1. 01加、减、乘、除运算
  2. 02自定义 MCP 协议处理
  3. 03Docker 容器化部署
  4. 04通过 compose.yaml 配置

适用场景

  1. 01为 MCP 客户端提供基础计算工具
  2. 02用 Docker Compose 启动计算服务
  3. 03测试或学习自定义 MCP 实现

MCP 相关

服务通过 MCP 向客户端提供加法、减法、乘法和除法工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"SimpleCalculator-using-MCP-Server---Docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
启动命令docker run -i --rm compose

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocicompose

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

使用 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 服务通过自定义协议实现处理计算。运算按以下模式处理:

  1. 连接:客户端与 MCP 服务建立连接
  2. 请求格式:
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
  1. 响应格式:
Result:: 3 + 4 = 7

配置

修改 compose.yaml 中的环境变量以调整:

  • 服务端口绑定
  • 日志详细程度
  • 协议超时

开发

  1. 本地设置:
pip install uv # recommended

uv venv

uv add -r requirements.txt

uv run ./src/server.py
  1. 测试:
uv run .\src\client.py
  1. 输出:
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


贡献

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/NewOperation)
  3. 提交更改(git commit -m 'Add modulo operation')
  4. 推送到分支(git push origin feature/NewOperation)
  5. 创建 Pull Request

维护者

Dion Ben Fernandes - GitHub 个人资料


注意:此实现演示了自定义 MCP 架构模式。用于生产环境时,请考虑实现适当的协议安全措施和验证层。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。