计算器服务

基于MCP协议的计算器服务,提供基本的数学运算功能,适用于需要通过标准输入/输出进行通信的应用场景。

  • by fjjt3
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 fjjt3/mcp-for-beginners

使用说明

MCP(模型上下文协议)项目计算器

这个项目是一个如何使用MCP(模型上下文协议)创建通过stdio(标准输入/输出)通信的服务器和客户端的示例。

什么是MCP?

MCP(模型上下文协议)是一种允许应用程序与提供工具和资源的服务器通信的协议。在这种情况下,我们创建了一个可以执行基本数学运算的计算器服务器。

项目结构

server.py -MCP服务器

服务器使用 FastMCP 揭露:

  • 工具:客户端可以调用的函数

    • add(a, b):添加两个数字
    • subtract(a, b):减去两个数字
    • multiply(a, b):将两个数字相乘
    • divide(a, b):除以两个数字
    • greet(name):直呼某人的名字
    • read_text(text):读取并显示文本内容
  • 资源:客户端可以读取的数据

    • greeting://{name}:生成个性化问候语

client.py -带LLM的MCP客户端

客户:

  1. 连接到 server.py 使用stdio。
  2. 列出可用工具并将其转换为LLM兼容模式。
  3. 连接到 Azure人工智能推理 (使用GitHub模型)。
  4. 向LLM发送提示(“添加2到20”)。
  5. 从LLM接收工具调用指令。
  6. 在MCP服务器上执行该工具并显示结果。

如何运行项目

1.激活虚拟环境

在macOS/Linux上:

source venv/bin/activate

在Windows(PowerShell)上:

.\venv\Scripts\Activate.ps1

如果您在Windows上的执行策略有问题,请先运行:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

2.设置您的GitHub Token

你需要一个GitHub个人访问令牌来使用LLM模型。

在macOS/Linux上:

export GITHUB_TOKEN="your_github_token_here"

在Windows(PowerShell)上:

$env:GITHUB_TOKEN="your_github_token_here"

3.运行客户端

客户端将自动连接到服务器:

python client.py
# or
python3 client.py

在Windows上,您还可以使用:

py client.py

4.查看输出

客户端将显示:

  • ✅ 可用工具列表
  • 🔄 转换后的工具模式
  • 🤖 打电话给LLM。..
  • 🛠️ 工具执行结果(例如“22”)

依赖项

依赖关系在 requirements.txt:

  • mcp:主MCP协议库
  • fastmcp:快速创建MCP服务器的框架
  • azure-ai-inference:Azure AI推理客户端库(GitHub模型)

备注

  • 服务器(server.py)当客户端(client.py)连接。
  • 通信是通过stdin/stdout(stdio)完成的。
  • 由于以下原因,需要Python 3.10+ fastmcp 依赖性。