mcpField
H
How to build an MCP server - Calculator Example

How to build an MCP server - Calculator Example

本地服务
github.com/simonberner开发工具180 周前更新

关于 How to build an MCP server - Calculator Example

这是一个用 Python 编写的 MCP 服务示例,向客户端提供基础数学运算,适合学习构建、测试和集成 MCP 服务的开发者。

主要功能

  1. 01基础数学运算
  2. 02Python MCP 服务示例
  3. 03使用 MCP Inspector 本地测试
  4. 04基于 Pytest 的测试

适用场景

  1. 01学习开发 MCP 服务
  2. 02本地测试计算器服务
  3. 03向 MCP 客户端集成数学工具

MCP 相关

向 MCP 客户端提供基础数学运算工具,并介绍本地测试和客户端配置方式。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"calculator-simonberner": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

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

安装包
npm@smithery/cli

工具

还没有获取到工具列表

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

详细介绍

如何构建 MCP 服务 - Calculator 示例

smithery badge License: MIT

关于

这是一个非常简单的示例,演示如何构建一个 MCP 服务,为 MCP 客户端提供基本的数学运算。

什么是 MCP?

Model Context Protocol(MCP)是一种协议,可让大模型访问自定义工具和服务。MCP 客户端可以向 MCP 服务发送请求,以访问其提供的工具。此示例是一个简单的计算器服务,可为客户端提供基本的数学运算。

“MCP 可以提供一种统一的标准方式,让 AI 模型与外部系统交互。你只需编写一次代码,所有 AI 系统都能使用。” 1

“服务是为大模型提供外部数据和上下文的基础构建块。” 2

Chat MCP Calculator

技术栈

  • 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。

  • 安装 direnv(用于加载开发环境)
  • 安装 Lix
  • 克隆此仓库
  • cd 到该目录
  • 运行 direnv allow
  • 运行 pytest
替代方案

如果你不想选择 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 了解当前问题,或提交新问题。

资源

致谢

值得了解的信息

Nix
Cloudflare

评论

支持 Markdown

第一次接触 MCP?

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

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