mcp-softBV
This commit is contained in:
@@ -10,17 +10,18 @@ from starlette.routing import Mount
|
||||
|
||||
from system_tools import create_system_mcp
|
||||
from materialproject_mcp import create_materials_mcp
|
||||
|
||||
from softBV import create_softbv_mcp
|
||||
# 创建 MCP 实例
|
||||
system_mcp = create_system_mcp()
|
||||
materials_mcp = create_materials_mcp()
|
||||
|
||||
softbv_mcp = create_softbv_mcp()
|
||||
# 在 Starlette 的 lifespan 中启动 MCP 的 session manager
|
||||
@contextlib.asynccontextmanager
|
||||
async def lifespan(app: Starlette):
|
||||
async with contextlib.AsyncExitStack() as stack:
|
||||
await stack.enter_async_context(system_mcp.session_manager.run())
|
||||
await stack.enter_async_context(materials_mcp.session_manager.run())
|
||||
await stack.enter_async_context(softbv_mcp.session_manager.run())
|
||||
yield # 服务器运行期间
|
||||
# 退出时自动清理
|
||||
|
||||
@@ -30,6 +31,7 @@ app = Starlette(
|
||||
routes=[
|
||||
Mount("/system", app=system_mcp.streamable_http_app()),
|
||||
Mount("/materials", app=materials_mcp.streamable_http_app()),
|
||||
Mount("/softBV", app=softbv_mcp.streamable_http_app()),
|
||||
],
|
||||
)
|
||||
|
||||
@@ -38,5 +40,5 @@ app = Starlette(
|
||||
# 访问:
|
||||
# http://localhost:8000/system
|
||||
# http://localhost:8000/materials
|
||||
#
|
||||
# http://localhost:8000/softBV
|
||||
# 如果需要浏览器客户端访问(CORS 暴露 Mcp-Session-Id),请参考 README 中的 CORS 配置示例 [1]
|
||||
Reference in New Issue
Block a user