多服务器MCP演示

一个展示如何使用Model Context Protocol (MCP)与多个独立服务器、自定义客户端和基于LLM的主机交互的演示项目,适用于本地多服务器系统的构建。

  • by SeaSparks-GmbH
  • Jupyter Notebook
  • 本地部署
  • 更新于
在 GitHub 查看 seasparks-gmbh/mcp-multi-server-demo

使用说明

最小MCP多服务器演示

此存储库演示了如何使用 模型上下文协议(MCP) 具有多个独立的服务器、一个自定义客户端和一个基于LLM的主机,所有这些都不依赖于更高级别的库,如 FastMCP 而是使用MCP Python SDK的低级方法。

它附在Medium文章中:

从稍微不同的角度看MCP——如何在没有FastMCP的情况下构建本地多服务器系统


设置

  1. 克隆此仓库
  2. (推荐)创建虚拟环境
  3. 安装依赖项:
pip install -r requirements.txt

启动服务器

使用笔记本中提供的“启动服务器”单元格(host.ipynb)或者在单独的终端中启动每个服务器:

python math_server.py
python weather_server.py

默认情况下:

  • MathServer在端口上运行 58000
  • WeatherServer在端口上运行 58001

要使用不同的端口,请更新 .py 相应的文件。


使用主机

打开 host.ipynb 在Jupyter中,执行单元格并尝试,例如:

await run_host_query("How many hours are in 5 days?")
await run_host_query("What's the weather like in Berlin?")

LLM将选择正确的工具,主机将使用MCP返回工具调用的结果。


目录

  • math_server.py:MCP服务器 add 和 multiply 工具
  • weather_server.py:MCP服务器 get_weather 提供虚假天气信息的工具
  • client.py:连接到多个服务器的客户端
  • host.ipynb:使用OpenAI的交互式主机逻辑
  • requirements.txt:依赖关系

联系

如有疑问或反馈,请随时联系: 给我们发电子邮件

许可证

本存储库根据知识共享署名-非商业4.0国际(CC BY-NC 4.0)许可协议获得许可。 您可以出于非商业目的自由共享和修改此存储库的内容,前提是给予适当的信用。 有关完整详细信息,请参阅LICENSE文件。

注: 此许可证仅适用于此存储库中包含的原始代码和内容。 它不适用于运行时安装的第三方库或工具, 它们由各自的许可证管理。