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

2.9 KiB
Raw Blame History

技术上下文

核心技术栈

类别 技术/库 版本 用途
核心协议 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 或更高版本
  • uvpip (用于管理Python包依赖)
  • Git (版本控制)
  • 支持Python的IDE (推荐 VS Code 或 PyCharm)

项目安装步骤 (预期)

  1. 克隆代码仓库:
    git clone <仓库URL>
    cd compliance-mcp-agent
    
  2. 创建虚拟环境:
    python -m venv .venv
    source .venv/bin/activate
    
  3. 安装依赖: 我们将创建一个 requirements.txt 文件,内容至少包括:
    model-context-protocol
    requests
    # 其他未来可能需要的依赖
    
    然后执行安装:
    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 服务。