File size: 1,468 Bytes
d41fc87 4b2a02f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 系统模式
**系统架构:**
* **核心服务:** 基于 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 路径。
|