使用说明(Markdown 格式)
- 项目简介
- 目的:在 AIG/AI-Infra-Guard 框架中实现一个可运行的 MCP 服务端,向 LLM 客户端按标准化协议提供资源数据、可执行工具和可渲染的 Prompts,整个系统通过 JSON-RPC 进行通信,并支持多种传输通道。
- 主要功能点
- MCP 核心能力
- 资源管理(Resources):后端可托管和提供数据资源,供 LLM 客户端读取与交互。
- 工具注册与执行(Tools):注册工具、描述工具能力、并在需要时执行本地或远程 MCP 工具。
- 提示模板(Prompts):定义、渲染与返回可定制的 Prompt 模板,支持多语言输出。
- 通信协议
- 使用 JSON-RPC 规范进行请求/响应交互,支持请求读取资源、调用工具、获取提示等。
- 会话与能力声明
- 会话管理、能力披露,按需渲染系统提示和工具描述。
- 多传输协议
- 支持 SSE、StdIO、WebSocket 等传输方式,以适配不同的客户端场景。
- 安全与扩展
- 插件/工具的注册、SCP/XML 描述、日志与审计、以及可扩展的 MCP 插件体系。
- 安装与运行(快速指南)
- 依赖与构建
- 本仓库包含多种语言实现的组件,核心 MCP 服务端组件落在 Go 语言子目录(如 internal/mcp、common/websocket 等)。
- 使用 Go 构建、打包并运行;也提供基于 Docker/Docker-Compose 的部署方式(请参考 docker-compose.images.yml 等文档)。
- 启动方式(示例思路)
- 直接在本地编译运行 MCP 服务端(Go 语言实现的核心服务),并通过配置监听端口提供 JSON-RPC 接口。
- 也可按仓库提供的 Docker 部署方式,将 MCP 服务以容器形式拉起,并暴露相应端口供客户端连接。
- 运行注意
- MCP 客户端需要配置服务器的启动信息(见下方的服务器配置字段)。
- 如需使用 Pro/跨域等高级特性,请参考项目中的文档与示例。
- 服务器配置(给 MCP 客户端的配置示例) MCP 客户端需要知道服务器的启动信息来建立连接,以下 JSON 仅用于描述服务器启动与连接参数,实际客户端实现可能会有差异,请以客户端文档为准。
{ "server_name": "AI-Infra-Guard MCP Server", "command": "docker-compose", "args": ["-f", "docker-compose.images.yml", "up", "-d"] } 参数说明:
- server_name: MCP 服务器的标识名称,便于客户端区分配置。
- command: 用于启动服务器的主命令(示例为通过 Docker-Compose 部署)。
- args: 启动命令的参数数组,描述启动所需的镜像、端口映射、模式等。此处使用 docker-compose 的方式来启动镜像组,以实现 MCP 服务端的部署。
- 基本使用方法
- 启动与连接
- 使用上述服务器配置在目标环境中启动 MCP 服务器。
- MCP 客户端通过指定服务器地址(如主机及端口)建立 JSON-RPC 通道,向服务器发送读取资源、调用工具、获取 Prompt 的请求。
- 常用操作
- 读取资源:请求资源数据以供 LLM 上下文使用。
- 调用工具:远程调用 MCP 服务器注册的工具,LLM 客户端可将上下文传递给工具执行。
- 获取 Prompt:获取用于与 LLM 交互的 Prompt 模板描述和渲染后的实际提示。
- 调试与扩展
- 服务器开启日志输出,便于追踪请求与工具执行过程。
- 通过插件系统加载新的 MCP 工具/描述,扩展 MCP 能力。
- 如需在本地或私有网络中部署,请结合部署文档与安全策略进行。
- 注意事项
- MCP 服务器需要合理的认证与访问控制策略,避免将服务暴露在公网上。
- 多传输通道需要对应的客户端实现支持,确保在特定环境下能够稳定通信。
信息
分类
AI与计算