有史以来最简单的MCP
此存储库演示了MCP服务器和客户端的最小工作示例。不涉及LLM,这使用了所谓的“stdio”方法。
然而,也有一些分支引入了LLM等东西。在理解了基础代码之后,转到各个分支,看看事情是如何堆叠在上面的。
功能
此示例服务器公开了一个工具:
get_users_favorite_number:调用此工具时,只会返回字符串“42”作为用户最喜欢的数字。这是一个 *非常* 说明服务器公开工具和返回结果的能力的基本示例。
存储库内容
server.py:这是MCP服务器的核心。它定义了:
- 服务器初始化(Server("favorite-number-server")). - 这 list_tools 功能,负责向客户提供可用工具列表。 - 这 call_tool 函数,它根据工具名称和参数处理工具的执行。
test_mcp.py:此文件包含MCP服务器的自动测试。它连接到服务器,列出可用的工具,调用get_users_favorite_number工具,并断言返回值为“42”。
test.sh:执行测试的简单shell脚本。它在运行测试之前激活虚拟环境(如果存在),以确保正确管理依赖关系。
入门指南
按照以下步骤运行示例:
- 设置虚拟环境(推荐):
python3 -m venv venv
source venv/bin/activate # On Linux/macOS
# venv\Scripts\activate # On Windows- 安装
mcp图书馆:
python3 -m pip install mcp- 运行测试:
./test.sh此脚本将:
- 激活虚拟环境(如果存在)。 - 执行 test_mcp.py 文件,它将启动服务器、连接到服务器、调用工具并验证结果。
如果测试通过,您将看到以下输出(或类似输出):
🧪 Testing Favorite Number MCP Server
✓ Server initialized: favorite-number-server
✓ Available tools: ['get_users_favorite_number']
✓ Tool result: 42
✓ Test passed! Favorite number is 42
✅ All tests passed!