计算器服务

一个基于FastMCP框架的模型上下文协议服务器,提供基本的计算器功能(加、减、乘、除),支持容器化部署和服务器发送事件传输。

  • by Mkhubaiib
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Mkhubaiib/mcp_calculator

使用说明

MCP计算器服务器

一种模型上下文协议(MCP)服务器,通过以下方式提供计算器操作 FastMCP.

特性

  • ✅ FastMCP框架 -使用FastMCP构建,简化MCP服务器开发
  • ✅ 苏格兰和南方能源公司运输 -MCP客户端的服务器发送事件传输
  • ✅ 集装箱准备就绪 -Docker和Docker组合支持,便于部署
  • ✅ 4计算器工具 -加、减、乘、除
  • ✅ 类型安全 -使用类型提示进行自动输入验证
  • ✅ 错误处理 -巧妙处理边缘情况(除零、无效输入)

安装

# Clone the repository
git clone https://github.com/Mkhubaiib/mcp_calculator.git
cd mcp_calculator

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install in development mode
pip install -e ".[dev]"

用法

运行服务器

# Development mode with auto-reload
fastmcp run mcp_server/server.py:mcp --transport sse --port 8000 --reload

# Production mode
fastmcp run mcp_server/server.py:mcp --transport sse --port 8000

MCP检验员测试

# Interactive development mode with web UI
fastmcp dev inspector mcp_server/server.py:mcp

这将打开一个web界面,以交互方式测试您的工具。

使用Docker

# Build and run with Docker Compose
docker-compose up -d

# Or build and run manually
docker build -t mcp-calculator .
docker run -p 8000:8000 mcp-calculator

可用工具

工具 说明 参数
add 加两个数字 a (数字), b (编号)
subtract 从a中减去b a (数字), b (编号)
multiply 将两个数字相乘 a (数字), b (编号)
divide 将a除以b a (数字), b (数字,不能为零)

项目结构

mcp_calculator/
├── mcp_server/
│   ├── __init__.py
│   └── server.py          # FastMCP server implementation
├── Dockerfile             # Container image definition
├── docker-compose.yml     # Multi-container orchestration
├── pyproject.toml
└── README.md

需求

  • Python>=3.10
  • FastMCP(fastmcp>=3.0.0)
  • 用于HTTP服务器的Uvicorn(uvicorn[standard]>=0.35.0)

Docker部署

该服务器专为容器化部署而设计:

  1. 构建: docker build -t mcp-calculator .
  2. 跑: docker run -p 8000:8000 mcp-calculator
  3. 访问: http://localhost:8000

参考文献