项目简介
'mcp' 是一个命令行工具和本地用户界面,它充当 MCP 服务器的代理(broker)。它不直接提供资源或工具,而是帮助用户发现、安装、管理和卸载各种独立的 MCP 服务器,从而扩展 MCP 客户端的功能。'mcp' 简化了 MCP 服务器的管理,并充当客户端与多个服务器之间的桥梁。
主要功能点
- MCP 服务器代理 (Broker): 作为 MCP 客户端和多个独立 MCP 服务器之间的中介,客户端只需连接到 'mcp' 即可访问所有已安装服务器的功能。
- MCP 服务器管理: 支持安装、卸载、列出和管理已安装的 MCP 服务器。
- MCP 服务器发现: 可以搜索公共 MCP 服务器注册中心,帮助用户找到所需的 MCP 服务器。
- Docker 容器化: 使用 Docker 运行和隔离 MCP 服务器,减少 host 系统依赖,提高安全性和隔离性。
- OAuth2 凭据管理: 允许 MCP 服务器请求 OAuth2 凭据,并管理凭据的获取、存储和刷新流程。
- 操作审计日志: 记录所有操作,并提供 UI 用于查看审计日志。
安装步骤
- 安装 Docker: 'mcp' 依赖 Docker 运行 MCP 服务器,请确保您的系统已安装 Docker。
- 安装 'mcp' 命令行工具: 由于仓库中没有预编译的二进制文件,您需要从源代码编译安装 'mcp'。
- 首先,确保您已安装 Go 语言环境。
- 克隆仓库到本地: 'git clone https://github.com/MCP-Mirror/ggoodman_mcp.git'
- 进入仓库目录: 'cd ggoodman_mcp'
- 使用 'go install' 命令安装 'mcp' 工具: 'go install ./cmd/mcp'
- 安装成功后,'mcp' 命令应该可以在您的 '$GOPATH/bin' 目录或 '$HOME/go/bin' 目录中找到,请确保该目录已添加到您的 PATH 环境变量中。
服务器配置 (MCP 客户端配置)
MCP 客户端需要配置连接到 'mcp' 代理服务器的命令。以下是一个示例配置,用于连接到通过 'stdio' 协议运行的 'mcp' 代理服务器:
{ "serverName": "mcp-broker", // MCP 服务器名称,可以自定义 "command": "mcp", // 启动 MCP 服务器的命令,这里是 mcp 命令行工具 "args": ["run", "stdio"] // 传递给命令的参数,"run stdio" 表示以 stdio 模式运行 mcp 代理服务器 }
配置说明:
- 'serverName': 为 MCP 服务器配置一个易于识别的名称。
- 'command': 指定启动 MCP 服务器的可执行文件,这里假设 'mcp' 命令已安装并在 PATH 环境变量中。
- 'args': 一个字符串数组,包含传递给 'command' 的参数。'["run", "stdio"]' 指示 'mcp' 以代理服务器模式('run' 命令)和 'stdio' 协议('stdio' 参数)启动。MCP 客户端将通过标准输入/输出与 'mcp' 代理服务器进行通信。
基本使用方法
- 启动 MCP 代理服务器: 在终端中运行 'mcp run stdio' 命令,启动 'mcp' 代理服务器。该命令会监听标准输入和输出,等待 MCP 客户端连接。
- 配置 MCP 客户端: 在您的 MCP 客户端(例如 Claude 或 Zed)中,配置连接到 'mcp' 代理服务器,使用上面提供的服务器配置信息。
- 管理 MCP 服务器: 使用 'mcp' 命令行工具管理已安装的 MCP 服务器。常用的命令包括:
- 'mcp registry search <query>': 在注册中心搜索 MCP 服务器。
- 'mcp package install <package[@version]>': 安装指定的 MCP 服务器。
- 'mcp package list': 列出已安装的 MCP 服务器。
- 'mcp package uninstall <package>': 卸载已安装的 MCP 服务器。
请参考 'mcp --help' 命令查看更多可用的命令和选项。
注意: 此 'mcp' 工具本身不提供资源和工具,它的主要作用是管理和代理其他 MCP 服务器。您需要安装其他 MCP 服务器才能扩展客户端的功能。
信息
分类
开发者工具