| # 系统模式 | |
| **系统架构:** | |
| * **核心服务:** 基于 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 路径。 | |