如何在FastMCP中启用多端口配置?端口设置遇到问题
FastMCP多端口配置实现方案
问题分析
你当前的代码仅调用一次mcp.run(),只能启动单个端口的服务。要实现多端口配置,需要创建多个FastMCP实例并分别绑定不同端口,借助线程避免单实例启动导致的阻塞。
代码实现
from mcp.server.fastmcp import FastMCP import threading # 第一个服务实例,绑定8082端口 mcp_server_8082 = FastMCP("Linux") @mcp_server_8082.tool() def handle_8082(argument: str) -> str: return f"8082端口服务响应: {argument}" # 第二个服务实例,绑定8083端口 mcp_server_8083 = FastMCP("Linux") @mcp_server_8083.tool() def handle_8083(argument: str) -> str: return f"8083端口服务响应: {argument}" # 用线程分别启动不同端口的服务,避免阻塞主线程 threading.Thread(target=mcp_server_8082.run, kwargs={"transport": "sse", "port": 8082}).start() threading.Thread(target=mcp_server_8083.run, kwargs={"transport": "sse", "port": 8083}).start() # 保持主线程存活 while True: pass
说明
- 每个FastMCP实例独立绑定一个端口,可配置各自的工具函数,实现不同端口的独立服务。
- 使用线程启动每个实例的
run()方法,避免单个实例启动后阻塞主线程,导致其他端口服务无法启动。
内容的提问来源于stack exchange,提问作者Vivek
相关产品推荐
相关产品推荐

