使用说明
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客户端
客户:
- 连接到
server.py使用stdio。 - 列出可用工具并将其转换为LLM兼容模式。
- 连接到 Azure人工智能推理 (使用GitHub模型)。
- 向LLM发送提示(“添加2到20”)。
- 从LLM接收工具调用指令。
- 在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依赖性。