项目简介

'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 用于查看审计日志。

安装步骤

  1. 安装 Docker: 'mcp' 依赖 Docker 运行 MCP 服务器,请确保您的系统已安装 Docker。
  2. 安装 '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' 代理服务器进行通信。

基本使用方法

  1. 启动 MCP 代理服务器: 在终端中运行 'mcp run stdio' 命令,启动 'mcp' 代理服务器。该命令会监听标准输入和输出,等待 MCP 客户端连接。
  2. 配置 MCP 客户端: 在您的 MCP 客户端(例如 Claude 或 Zed)中,配置连接到 'mcp' 代理服务器,使用上面提供的服务器配置信息。
  3. 管理 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 服务器才能扩展客户端的功能。

信息

分类

开发者工具