关于 How to build an MCP server - Calculator Example
这是一个用 Python 编写的 MCP 服务示例,向客户端提供基础数学运算,适合学习构建、测试和集成 MCP 服务的开发者。
主要功能
- 01基础数学运算
- 02Python MCP 服务示例
- 03使用 MCP Inspector 本地测试
- 04基于 Pytest 的测试
适用场景
- 01学习开发 MCP 服务
- 02本地测试计算器服务
- 03向 MCP 客户端集成数学工具
MCP 相关
向 MCP 客户端提供基础数学运算工具,并介绍本地测试和客户端配置方式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
如何构建 MCP 服务 - Calculator 示例
关于
这是一个非常简单的示例,演示如何构建一个 MCP 服务,为 MCP 客户端提供基本的数学运算。
什么是 MCP?
Model Context Protocol(MCP)是一种协议,可让大模型访问自定义工具和服务。MCP 客户端可以向 MCP 服务发送请求,以访问其提供的工具。此示例是一个简单的计算器服务,可为客户端提供基本的数学运算。
“MCP 可以提供一种统一的标准方式,让 AI 模型与外部系统交互。你只需编写一次代码,所有 AI 系统都能使用。” 1
“服务是为大模型提供外部数据和上下文的基础构建块。” 2

技术栈
- Python3
- Pytest
- MCP SDK
- MCP CLI
- Nix(可选)
如何设置和使用
Smithery
若要通过 Smithery 自动为 Claude Desktop 安装 mcp-server-calculator:
npx -y @smithery/cli install @simonberner/mcp-server-calculator --client claude
开发环境设置
本项目使用 Nix 来构建可复现且隔离的开发环境,因此无需安装 Python 或任何其他依赖项。开箱即可获得所需的一切。此外,也无需使用 venv 或 poetry 在 Python 中创建虚拟环境,但你需要愿意在系统上安装 Nix。
替代方案
如果你不想选择 Smithery 或 Nix,也可以使用 uv 构建软件包/项目。以下是一些指导:
# Install uv (see https://docs.astral.sh/uv/getting-started/installation/)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create a virtual environment named .venv
uv venv
# Activate the virtual environment (example for bash/zsh)
source .venv/bin/activate
# Now run the install or build commands
uv pip install -e .
# or
uv pip wheel . -w dist
在本地运行和测试服务
- MCP Inspector 是一款实用的 GUI 工具,可让你通过 http://localhost:5173 上的 Web 界面测试自定义 MCP 服务,无需将其与大模型 / AI Agent 集成。
mcp dev src/mcp_server_calculator/calculator.py
主机/客户端集成
- 将以下内容添加到你的 MCP 配置中:
{
"mcpServers": {
"calculator": {
"command": "python",
"args": [
"<YOUR-PATH>/mcp-server-calculator/src/mcp_server_calculator/calculator.py"
]
}
}
}
备注
- 将 Windsurf IDE 用作 MCP 主机时,你需要拥有 Pro Plan,才能将 Cascade(作为 MCP 客户端)与 MCP 服务搭配使用。
问题
查看 Issues 了解当前问题,或提交新问题。
资源
- [1] MCP 服务:从头开始构建的分步指南
- [2] 什么是 Model Context Protocol(MCP)?
- 了解 MCP,以及 AI 工程师如何利用它
- MCP SDK
- MCP CLI
- MCP Inspector
- 最大的 MCP 服务集合
- MCP 入门指南
- Claude MCP 永远改变了 AI——以下是你需要了解的内容
- 查找 MCP 服务
- 不到 10 分钟,用 TypeScript 构建你的第一个 MCP 服务
- Model Context Protocol(MCP)简介
致谢
- Nix-Setup 取自 ical2json
值得了解的信息
Nix
Cloudflare
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。