一些小修改

This commit is contained in:
2025-11-19 12:23:17 +08:00
parent 95d719cc1e
commit 80ae03c8c1
25 changed files with 2291 additions and 17 deletions

View File

@@ -11,15 +11,16 @@ from starlette.routing import Mount
from system_tools import create_system_mcp
from materialproject_mcp import create_materials_mcp
from softBV_remake import create_softbv_mcp
from paper_search_mcp import create_paper_search_mcp
# from paper_search_mcp import create_paper_search_mcp
from topological_analysis_models import create_topological_analysis_mcp
from vasp_mcp import create_vasp_mcp
# 创建 MCP 实例
system_mcp = create_system_mcp()
materials_mcp = create_materials_mcp()
softbv_mcp = create_softbv_mcp()
paper_search_mcp = create_paper_search_mcp()
# paper_search_mcp = create_paper_search_mcp()
topological_analysis_mcp = create_topological_analysis_mcp()
vasp_mcp = create_vasp_mcp()
# 在 Starlette 的 lifespan 中启动 MCP 的 session manager
@contextlib.asynccontextmanager
async def lifespan(app: Starlette):
@@ -27,8 +28,9 @@ async def lifespan(app: Starlette):
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())
await stack.enter_async_context(paper_search_mcp.session_manager.run())
# await stack.enter_async_context(paper_search_mcp.session_manager.run())
await stack.enter_async_context(topological_analysis_mcp.session_manager.run())
await stack.enter_async_context(vasp_mcp.session_manager.run())
yield # 服务器运行期间
# 退出时自动清理
@@ -39,8 +41,9 @@ app = Starlette(
Mount("/system", app=system_mcp.streamable_http_app()),
Mount("/materials", app=materials_mcp.streamable_http_app()),
Mount("/softBV", app=softbv_mcp.streamable_http_app()),
Mount("/papersearch",app=paper_search_mcp.streamable_http_app()),
# Mount("/papersearch",app=paper_search_mcp.streamable_http_app()),
Mount("/topologicalAnalysis",app=topological_analysis_mcp.streamable_http_app()),
Mount("/vasp",app=vasp_mcp.streamable_http_app()),
],
)
@@ -52,4 +55,5 @@ app = Starlette(
# http://localhost:8000/softBV
# http://localhost:8000/papersearch
# http://localhost:8000/topologicalAnalysis
# http://localhost:8000/vasp
# 如果需要浏览器客户端访问CORS 暴露 Mcp-Session-Id请参考 README 中的 CORS 配置示例 [1]