AIDA MCP Server
使用说明(Markdown 格式)
-
项目简介
- AIDA MCP 服务器实现是一个完整的 MCP 服务端,遵循 MCP 开放标准,通过 JSON-RPC 与 AI 客户端沟通,提供资源读取、工具调用、以及提示/模板的渲染能力,并与 Exegol 容器化安全评估环境集成。
- 服务器核心职责包括:托管资源(Resources)、注册与执行工具(Tools)、定义并渲染 Prompt 模板(Prompts),并支持会话管理与能力声明,便于多种客户端与传输协议协同工作。
-
主要功能点
- 资源管理:提供可读取的资源清单,并按需返回资源内容。
- 工具注册与执行:暴露可被 LLM 客户端调用的工具接口,支持参数传入并返回结果。
- Prompt/模板定义与渲染:通过 MCP 机制向客户端提供系统提示与上下文渲染能力。
- JSON-RPC 通信:基于 MCP 的请求/响应格式进行通信,确保客户端与服务端数据互操作性。
- 会话与能力管理:实现对会话上下文、容器/工作区等信息的跟踪与管理,支持多种运行场景。
- 与 Exegol 集成:后端逻辑对接容器化的安全评估环境,提供数据读取、工具执行、结果回传等能力。
-
安装与运行
- 运行 MCP 服务器的入口文件位于 backend/mcp/aida_mcp_server.py,直接使用 Python 运行即可启动服务(在本地或容器环境中运行)。
- 依赖由 MCP 服务端及其环境负责加载,确保运行环境中已安装必要的依赖包,并可访问后端 API(如 PostgreSQL、Exegol 容器等)。
- 注意:此实现属于 Alpha 级别,请在受控环境中测试使用。
-
服务器配置(MCP 客户端配置示例说明)
- MCP 客户端通过一个配置文件(JSON)来连接 MCP 服务器。配置应包含服务器名称、启动命令与参数等信息,用于在客户端进程中启动 MCP 服务器并建立通信。
- 具体字段示例(请将路径替换为实际部署环境中的真实路径):
- server name: aida-mcp
- command: python3
- args: ["/absolute/path/to/AIDA/backend/mcp/aida_mcp_server.py"]
- env: 包含数据库与后端 API 的连接信息(如 DATABASE_URL、BACKEND_API_URL、其他需要的环境变量)
- 该配置示例的目的是帮助 MCP 客户端理解如何将服务器进程嵌入到客户端运行环境中以实现 JSON-RPC 通信。实际使用时,请参考客户端具体要求进行调整。
-
基本使用方法
- 启动 MCP 服务器进程:在合适的运行环境中执行命令 python3 backend/mcp/aida_mcp_server.py。
- 配置 MCP 客户端以连接该服务器(按上文配置示例)。MCP 客户端将通过标准输入输出(stdio)与服务器进行 JSON-RPC 通信,发起资源查询、工具调用等请求。
- 客户端可基于 MCP 提供的工具与资源,构建对话策略,将任务交给 MCP 服务器执行并获取结构化回复。
-
注意事项
- 该实现处于 Alpha 阶段,局部功能完整性可能随版本迭代而变化,请在本地/私有环境中进行充分测试再用于生产。
- MCP 服务器的能力与后端 API 的可用性相关,如数据库、Exegol 容器、以及后端服务接口等,需要相应环境部署就绪。