项目简介
ToolHive (thv) 是一个轻量级命令行工具,旨在简化 MCP 服务器的部署、管理和安全。它使用 Docker 容器技术,在隔离且受控的环境中运行 MCP 服务器,降低了部署复杂性和安全风险,并提升了易用性和一致性。ToolHive 提供了一个精选的 MCP 服务器注册中心,用户可以轻松发现和部署各种 MCP 服务器。
主要功能点
- 简化部署: 一键部署 MCP 服务器,无需手动安装和管理各种依赖,例如 Python 或 Node.js 环境。
- 增强安全性: 通过容器隔离和安全的密钥管理,默认提供高安全性的 MCP 服务器运行环境,避免明文泄露敏感信息。
- 标准化封装: 利用 OCI 容器标准,提供可重复、标准化的 MCP 服务器打包方式,确保兼容性和可靠性。
- MCP 服务器注册中心: 内置精选的 MCP 服务器注册中心,方便用户发现和部署经过验证的 MCP 服务器。
- 企业级授权: 提供强大的企业级授权控制,安全管理工具访问,并能与 Kubernetes 等现有基础设施无缝集成。
- 客户端集成: 自动配置 GitHub Copilot、Cursor 等常用开发工具,简化客户端配置流程。
安装步骤
ToolHive 提供了多种安装方式,推荐使用 Homebrew (macOS) 或直接下载二进制文件。
方法一:使用 Homebrew (macOS)
brew tap stacklok/tap brew install thv
方法二:下载二进制文件
访问 toolhive/releases 下载适用于您操作系统的最新版本二进制文件。下载后,将其添加到您的 PATH 环境变量中。
方法三:从源代码构建
确保您已安装 Go 语言环境。
git clone https://github.com/StacklokLabs/toolhive cd toolhive go build ./cmd/thv go install ./cmd/thv
服务器配置
ToolHive 本身是一个 MCP 服务器管理器,它通过容器运行和代理实际的 MCP 服务器。对于 MCP 客户端,您需要配置连接到 ToolHive 提供的代理服务器地址。
以下是一个 MCP 客户端配置示例 (JSON 格式),展示了如何配置连接到由 ToolHive 管理的名为 "fetch" 的 MCP 服务器:
{ "mcpServers": { "fetch": { "url": "http://localhost:8080/sse#fetch" // "url" 字段指定了 MCP 服务器的地址。 // - "http://localhost:8080":ToolHive 代理服务器的地址 (主机名和端口)。 // - "/sse":SSE 协议的端点。 // - "#fetch":MCP 服务器的名称,用于 ToolHive 内部路由。 } } }
注意:
- 上述配置中的 'url' 字段是关键配置信息,需要根据 'thv run' 命令启动的 MCP 服务器实际地址进行配置。
- ToolHive 默认使用 'stdio' 传输协议,并提供 SSE 传输协议选项 ('thv run --transport sse ...')。客户端通常通过 SSE 协议与 ToolHive 代理服务器通信。
- 端口 '8080' 是示例端口,实际端口可能由 'thv run --port' 参数指定,或者由 ToolHive 自动分配。
- 服务器名称 '"fetch"' 需要与 'thv run <server-name>' 命令中使用的服务器名称一致。
基本使用方法
-
启动 MCP 服务器:
使用 'thv run <server-name>' 命令启动预定义的 MCP 服务器,例如启动 'fetch' 服务器:
thv run fetch您可以使用 'thv registry list' 命令查看可用的 MCP 服务器列表。
-
列出运行中的 MCP 服务器:
使用 'thv list' 命令查看当前 ToolHive 管理的运行中的 MCP 服务器及其状态和 URL:
thv list输出结果会包含每个 MCP 服务器的 URL,您需要将此 URL 配置到您的 MCP 客户端中。
-
停止和移除 MCP 服务器:
使用 'thv stop <server-name>' 命令停止指定的 MCP 服务器:
thv stop fetch使用 'thv rm <server-name>' 命令移除已停止的 MCP 服务器:
thv rm fetch -
管理密钥:
ToolHive 提供了 'thv secret' 命令来安全地管理 MCP 服务器所需的 API 密钥等敏感信息。
thv secret set github # 输入您的 GitHub Personal Access Token thv run --secret github,target=GITHUB_PERSONAL_ACCESS_TOKEN github上述命令设置名为 'github' 的密钥,并在运行 'github' MCP 服务器时,将其作为环境变量 'GITHUB_PERSONAL_ACCESS_TOKEN' 传递给容器。
请参考 ToolHive 的官方文档和 'thv --help' 命令获取更详细的使用说明和高级配置选项。
信息
分类
开发者工具