gongwenxin 1901cf611e 集成
2025-07-24 17:22:36 +08:00

54 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 技术上下文
## 核心技术栈
| 类别 | 技术/库 | 版本 | 用途 |
| ---------- | ----------------------------------------- | ---- | ---------------------------------------------- |
| 核心协议 | Model-Context-Protocol (MCP) | v1+ | 定义系统所有组件间的通信标准。 |
| **官方SDK** | **`model-context-protocol/python-sdk`** | 最新 | **我们实现Host, Client, Server的基石。** |
| 核心语言 | Python | 3.8+ | 主要开发语言。 |
| AI模型 | 兼容OpenAI API的大语言模型 (LLM) | - | 作为Agent的“大脑”负责推理和规划。 |
| HTTP客户端 | requests | 最新 | 在APICallerServer中用于执行HTTP请求。 |
| Web框架 | (可选) FastAPI / Flask | - | 或许会用于构建可通过HTTP访问的远程MCP Server。 |
## 开发环境设置
### 必要组件
- Python 3.8 或更高版本
- `uv``pip` (用于管理Python包依赖)
- Git (版本控制)
- 支持Python的IDE (推荐 VS Code 或 PyCharm)
### 项目安装步骤 (预期)
1. **克隆代码仓库**:
```bash
git clone <仓库URL>
cd compliance-mcp-agent
```
2. **创建虚拟环境**:
```bash
python -m venv .venv
source .venv/bin/activate
```
3. **安装依赖**:
我们将创建一个 `requirements.txt` 文件,内容至少包括:
```
model-context-protocol
requests
# 其他未来可能需要的依赖
```
然后执行安装:
```bash
uv pip install -r requirements.txt
```
4. **运行项目**:
* **启动所有MCP Servers**: 需要编写一个脚本来并行启动所有工具服务器。
* **启动MCP Host**: 运行主程序 `run_mcp_tests.py` 来开始整个测试流程。
## 关键技术决策
1. **SDK 优先**: 我们将尽可能地利用官方 Python SDK 的能力,而不是重新发明轮子。所有的 Host/Client/Server 实现都应基于该 SDK 提供的类和方法。
2. **Stdio 通信**: 在项目初期为了简单起见Host 和 Client 之间的通信将主要通过标准输入/输出 (`stdio`) 进行,这由 `stdio_client` 提供支持。这对于本地运行的 Agent 来说足够高效。
3. **独立的 Server 进程**: 每个 MCP Server 都将作为一个独立的 Python 进程运行。这确保了工具之间的完全隔离,并为未来将某个工具部署为网络服务(例如使用 FastAPI提供了可能性。
4. **异步编程**: 官方 SDK 大量使用了 `asyncio`。因此,我们的 Host 和 Client 代码也必须是异步的,以充分利用 SDK 的性能。
5. **LLM 接口**: Agent 与 LLM 的交互将通过一个通用的、兼容 OpenAI 的 API 客户端进行。这允许我们未来可以轻松切换不同的后端 LLM 服务。