File size: 2,016 Bytes
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# 需求文档

## 1. 项目概述

本项目旨在开发一个基于 Model Context Protocol (MCP) 的服务,该服务能够通过单个网络端口提供对多个 MCP 应用程序的访问。这将简化 MCP 服务的部署和管理,并为客户端提供统一的访问入口。

## 2. 功能需求

### 2.1. 单端口多应用服务

*   **REQ-001:** 服务必须能够通过一个指定的网络端口(例如 7860)提供服务。
*   **REQ-002:** 服务必须能够加载和管理多个独立的 MCP 应用程序。
*   **REQ-003:** 每个 MCP 应用程序必须能够通过其自身的唯一路径(例如 `/app01/sse`, `/app02/sse`)被访问。

### 2.2. MCP 应用集成

*   **REQ-004:** 服务必须能够集成符合 MCP Python SDK 规范的应用程序。
*   **REQ-005:** 集成的 MCP 应用程序应能够暴露其定义的工具和资源。

### 2.3. 任务管理功能(现有功能)

*   **REQ-006:** 服务应支持添加、查询和管理任务的功能(通过 `airs-tasks-mcp-hf` 服务)。
*   **REQ-007:** 任务应包含标题、描述和截止日期等基本信息。

## 3. 非功能需求

### 3.1. 性能

*   **NFR-001:** 服务应具备良好的响应速度,即使在处理多个并发请求时也能保持稳定。

### 3.2. 可扩展性

*   **NFR-002:** 服务应易于扩展,以便未来可以轻松添加新的 MCP 应用程序。

### 3.3. 可维护性

*   **NFR-003:** 代码结构应清晰,模块化程度高,便于理解和维护。

### 3.4. 安全性

*   **NFR-004:** 服务应考虑基本的安全措施,例如环境变量的加载(已通过 `python-dotenv` 实现)。

## 4. 技术栈

*   **编程语言:** Python
*   **Web 框架:** FastAPI
*   **MCP SDK:** FastMCP (MCP Python SDK)
*   **ASGI 服务器:** Uvicorn
*   **依赖管理:** `requirements.txt`
*   **数据库:** Supabase (用于任务管理服务)

## 5. 部署环境

*   **操作系统:** Linux (兼容 Docker 部署)
*   **Python 环境:** Conda (推荐 `learning` 环境)