系统模式
系统架构:
- 核心服务: 基于 FastAPI 构建的 ASGI 应用程序,作为所有 MCP 应用的统一入口。
- MCP 应用: 每个 MCP 应用(例如
app01、app02、airs_tasks)都是一个独立的 Python 模块,通过FastMCP实例管理其工具和资源。 - 挂载机制: FastAPI 使用
app.mount方法将每个 MCP 应用的 SSE 端点挂载到特定的 URL 路径下(例如/app01、/app02、/tasks)。
关键技术决策:
- FastAPI: 选择 FastAPI 作为 Web 框架,因为它提供了高性能、易于使用的 API 开发能力,并内置了对 ASGI 的支持。
- FastMCP: 使用 FastMCP 库来简化 MCP 应用程序的创建和管理,包括工具注册和 SSE 端点暴露。
- 单端口多应用: 通过 FastAPI 的路由和挂载功能,实现在单个端口上服务多个独立的 MCP 应用,降低了部署复杂性。
设计模式:
- 模块化设计: 每个 MCP 应用都是一个独立的模块,易于开发、测试和维护。
- 统一接口: 所有 MCP 应用都通过
mcp.sse_app()方法提供统一的 SSE 端点,方便集成。
组件关系:
app.py(主应用) 导入并初始化各个 MCP 应用实例。- 每个 MCP 应用实例(例如
App01、App02、Tasks)内部包含一个FastMCP实例。 app.py将每个 MCP 应用的mcp.sse_app()挂载到其对应的 URL 路径。