最小MCP多服务器演示
此存储库演示了如何使用 模型上下文协议(MCP) 具有多个独立的服务器、一个自定义客户端和一个基于LLM的主机,所有这些都不依赖于更高级别的库,如 FastMCP 而是使用MCP Python SDK的低级方法。
它附在Medium文章中:
从稍微不同的角度看MCP——如何在没有FastMCP的情况下构建本地多服务器系统
______________________________________________________________________
设置
- 克隆此仓库
- (推荐)创建虚拟环境
- 安装依赖项:
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文件。
注: 此许可证仅适用于此存储库中包含的原始代码和内容。 它不适用于运行时安装的第三方库或工具, 它们由各自的许可证管理。
