使用说明
项目简介
'av/tools' Docker镜像是一个为LLM(大型语言模型)代理设计的工具集合,核心目标是简化各种工具的安装、配置和运行,特别是与MCP(Model Context Protocol)服务器相关的工具。它预装了Python和Node.js运行环境,并集成了多个用于管理和桥接MCP及OpenAPI工具的实用程序,例如 'mcpo' (MCP到OpenAPI桥梁) 和 'supergateway' (MCP STDIO/SSE桥梁)。通过Docker容器化部署,用户可以快速启动各种LLM工具服务,并利用统一的缓存机制提升效率。
主要功能点
- 预置运行时环境: 包含 Python 和 Node.js 运行时,方便执行各种工具。
- MCP服务器支持: 可以运行多种基于MCP的工具服务器,如示例中的 'mcp-server-time' 和 'mcp-server-fetch'。
- OpenAPI桥接: 集成 'mcpo' 工具,可以将MCP服务器桥接到OpenAPI,方便与支持OpenAPI的客户端集成。
- 多种传输协议桥接: 集成 'supergateway' 工具,支持MCP STDIO和SSE协议桥接,扩展了MCP服务器的接入方式。
- 统一缓存管理: 所有工具共享 '/app/cache' 目录作为缓存,方便数据持久化和快速重启。
- 调试工具: 包含 '@modelcontextprotocol/inspector',用于调试MCP协议交互。
安装步骤
- 安装 Docker: 确保你的机器上已经安装了 Docker 和 Docker Compose (可选,但推荐使用 Docker Compose 简化部署)。
- 拉取 Docker 镜像: 使用以下命令从 GitHub Container Registry 拉取 'av/tools' 镜像:
docker pull ghcr.io/av/tools
服务器配置
此 Docker 镜像主要用于运行 MCP 服务器工具,以下是针对 MCP 客户端配置服务器连接的说明。MCP 客户端需要配置服务器的启动命令和参数,以便连接到 'av/tools' 镜像中运行的 MCP 服务器。
示例配置 (JSON 格式):
假设我们要运行 'mcp-server-time' 这个 MCP 时间服务器,以下是客户端可能的配置信息:
{ "serverName": "time-server", "command": "docker run", "args": [ "ghcr.io/av/tools", "uvx", "mcp-server-time" ], "description": "提供当前时间的 MCP 服务器 (Docker 运行)" }
配置参数解释:
- '"serverName"': 服务器的名称,客户端用于标识和管理不同的 MCP 服务器连接,例如 "time-server" (时间服务器)。
- '"command"': MCP 客户端无需配置此项,因为客户端本身不负责启动 Docker 容器。 此项在示例中仅为说明 'av/tools' 镜像的使用方式。 实际使用时,'av/tools' 镜像 已经在 Docker 环境中运行,MCP 客户端需要连接到容器内已经运行的 MCP 服务器。 正确的配置方式取决于 MCP 服务器暴露的连接方式 (例如,如果 MCP 服务器监听某个端口,客户端需要配置连接到该端口)。 'av/tools' 镜像主要通过 STDIO 或 SSE 等协议与客户端通信,具体配置需要参考实际运行的 MCP 服务器工具的文档。
- '"args"': MCP 客户端无需配置此项,原因同上。 此项在示例中仅为说明 'av/tools' 镜像的 'docker run' 命令参数。
更准确的 MCP 客户端配置思路:
'av/tools' 镜像本身 不是一个直接可连接的 MCP 服务器,而是一个 包含多种 MCP 服务器工具的工具集镜像。 你需要根据你的需求选择运行 镜像中包含的哪个具体的 MCP 服务器工具 (例如 'mcp-server-time', 'mcp-server-fetch' 等),并 了解该工具的连接方式 (例如 STDIO, SSE, WebSocket)。
例如,如果 'mcp-server-time' 工具通过 STDIO 与客户端通信,并且你已经在 Docker 中运行了该工具,那么 MCP 客户端的配置可能更侧重于如何通过 STDIO 连接到已经运行的进程,而不是启动一个新的 Docker 容器。
简而言之,'av/tools' 镜像提供的是 MCP 服务器工具的运行环境和工具集,MCP 客户端的配置需要根据实际运行的 MCP 服务器工具的文档和连接方式来确定,而不是直接配置 'docker run' 命令。
基本使用方法
-
运行 MCP 服务器工具: 使用 Docker 运行 'av/tools' 镜像,并指定要运行的 MCP 服务器工具作为命令。例如,运行时间服务器:
docker run ghcr.io/av/tools uvx mcp-server-time或者使用 Docker Compose (示例 'docker-compose.yaml'):
version: '3.8' services: time: image: ghcr.io/av/tools command: uvx mcp-server-time然后启动: 'docker-compose up -d'
-
连接 MCP 客户端: 配置你的 MCP 客户端,使其能够连接到运行在 Docker 容器内的 MCP 服务器。 具体的连接方式取决于你运行的 MCP 服务器工具以及它的协议支持 (例如 STDIO, SSE)。 请参考你使用的 MCP 服务器工具的文档来配置客户端连接。
-
使用 OpenAPI 桥接 (可选): 如果你需要将 MCP 服务器桥接到 OpenAPI,可以使用 'mcpo' 工具。例如:
docker run -p 8000:8000 ghcr.io/av/tools uvx mcpo -- uvx mcp-server-time这将启动 'mcp-server-time' 并通过 'mcpo' 桥接为 OpenAPI 服务,你可以通过 'http://0.0.0.0:8000/docs' 访问 OpenAPI 文档。
-
使用 MCP Inspector (可选): 使用 MCP Inspector 进行调试:
docker run -p 6274:6274 -p 6277:6277 ghcr.io/av/tools npx @modelcontextprotocol/inspector然后通过浏览器访问 Inspector 界面进行调试。
注意: 'uvx' 在这里是一个工具运行时,用于执行 'mcp-server-*' 等 MCP 服务器工具。 'av/tools' 镜像本身提供的是一个工具箱,你需要根据你的需求选择并运行箱子里的具体工具。
信息
分类
开发者工具