返回 MCP 目录
public公开dns本地运行

mcp-gateway

MCP Gateway是一个Docker CLI插件,用于管理和部署Model Context Protocol服务器,支持与多种AI客户端集成,提供服务器管理、客户端连接、安全认证和配置备份等功能。

article

README

🚀 MCP 网关

MCP 网关是一款 Docker CLI 插件,用于管理模型上下文协议(MCP)服务器和客户端。该工具包提供了一个全面的接口,可借助 Docker 集成来发现、部署和管理 MCP 服务器。

🚀 快速开始

MCP 网关是一款强大的命令行工具,它为 Docker CLI 扩展了 MCP 功能,能让 MCP 服务器与包括 Claude Desktop、Cursor、VS Code、Zed 等在内的各种 AI 客户端实现无缝集成。

✨ 主要特性

  • 目录管理:发现、创建和管理 MCP 服务器目录
  • 服务器部署:将 MCP 服务器作为 Docker 容器进行部署
  • 客户端集成:将 MCP 服务器连接到各种 AI 桌面客户端
  • 密钥管理:安全地管理凭证和密钥
  • OAuth 支持:处理 OAuth 认证流程
  • 策略管理:定义并执行访问策略
  • 备份与恢复:备份和恢复 MCP 配置
  • OCI 注册表支持:从 OCI 注册表拉取和推送 MCP 服务器镜像

📦 安装指南

前提条件

  • Go 1.25.5 或更高版本
  • Docker CLI
  • Docker 引擎

从源代码构建

# 克隆仓库
git clone https://github.com/kawai-network/mcp-gateway.git
cd mcp-gateway

# 构建插件
go build -o docker-mcp ./cmd/docker-mcp

# 作为 Docker CLI 插件安装
mkdir -p ~/.docker/cli-plugins
cp docker-mcp ~/.docker/cli-plugins/docker-mcp
chmod +x ~/.docker/cli-plugins/docker-mcp

💻 使用示例

基础命令

# 显示帮助信息
docker mcp --help

# 显示版本信息
docker mcp version

# 列出可用命令
docker mcp --help

目录管理

# 列出可用的 MCP 服务器
docker mcp catalog ls

# 显示特定服务器的详细信息
docker mcp catalog show <server-name>

# 创建新的目录条目
docker mcp catalog create <name> --image <image>

# 向目录中添加服务器
docker mcp catalog add <name>

# 从目录中移除服务器
docker mcp catalog rm <name>

# 导出目录
docker mcp catalog export <output-file>

# 导入目录
docker mcp catalog import <input-file>

服务器管理

# 列出已部署的服务器
docker mcp server ls

# 初始化新服务器
docker mcp server init <name>

# 启用服务器
docker mcp server enable <name>

# 检查服务器配置
docker mcp server inspect <name>

客户端管理

# 列出已连接的客户端
docker mcp client ls

# 将客户端连接到 MCP 服务器
docker mcp client connect <client> <server>

# 断开客户端连接
docker mcp client disconnect <client> <server>

工具管理

# 列出可用工具
docker mcp tools list

# 调用工具
docker mcp tools call <tool-name>

# 启动工具
docker mcp tools start <tool-name>

密钥管理

# 列出密钥
docker mcp secret ls

# 设置密钥
docker mcp secret set <name> <value>

# 移除密钥
docker mcp secret rm <name>

# 导出密钥
docker mcp secret export <output-file>

OAuth 管理

# 列出 OAuth 令牌
docker mcp oauth ls

# 进行认证
docker mcp oauth auth

# 撤销令牌
docker mcp oauth revoke <token-id>

策略管理

# 转储策略配置
docker mcp policy dump

# 设置策略
docker mcp policy set <policy-file>

备份与恢复

# 备份配置
docker mcp backup dump <output-file>

# 恢复配置
docker mcp backup restore <input-file>

📚 详细文档

支持的客户端

MCP 网关支持与以下 AI 桌面客户端集成:

  • Claude Desktop - Anthropic 的 Claude AI 助手
  • Cursor - 由 AI 驱动的代码编辑器
  • VS Code - 微软的 Visual Studio Code
  • Zed - 高性能代码编辑器
  • Kiro - AI 开发环境
  • Continue.dev - AI 结对编程扩展

配置

客户端配置文件

该工具会自动检测并管理受支持应用程序的客户端配置文件。配置文件存储在以下标准位置:

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json(macOS)
  • Cursor~/.cursor/mcp.json
  • VS Code~/.vscode/mcp.json
  • Zed~/.config/zed/settings.jsonc
  • Continue.dev~/.continue/config.json

目录配置

目录以 YAML 格式定义:

name: my-mcp-server
description: My custom MCP server
image: my-registry/my-mcp-server:latest
tools:
  - name: tool1
    description: First tool
  - name: tool2
    description: Second tool

开发

项目结构

mcp-gateway/
├── cmd/docker-mcp/       # 主 CLI 应用程序
│   ├── commands/          # 命令实现
│   ├── catalog/           # 目录管理
│   ├── client/            # 客户端集成
│   ├── oauth/             # OAuth 处理
│   ├── secret-management/ # 密钥管理
│   └── server/            # 服务器管理
├── catalog/               # 目录核心逻辑
├── catalog_next/          # 下一代目录(基于 OCI)
├── client/                # 客户端配置文件管理
├── codemode/              # 代码模式功能
├── config/                # 配置处理
├── db/                    # 数据库层
├── desktop/               # 桌面集成
├── docker/                # Docker 客户端包装器
├── features/              # 功能标志
├── migrate/               # 数据库迁移
├── signatures/            # 签名验证
└── version/               # 版本信息

运行测试

# 运行所有测试
go test ./...

# 运行带覆盖率的测试
go test -cover ./...

# 运行特定包的测试
go test ./cmd/docker-mcp/commands

构建

# 为当前平台构建
go build -o docker-mcp ./cmd/docker-mcp

# 为多个平台构建
GOOS=linux GOARCH=amd64 go build -o docker-mcp-linux-amd64 ./cmd/docker-mcp
GOOS=darwin GOARCH=amd64 go build -o docker-mcp-darwin-amd64 ./cmd/docker-mcp
GOOS=darwin GOARCH=arm64 go build -o docker-mcp-darwin-arm64 ./cmd/docker-mcp

贡献代码

欢迎贡献代码!请随时提交拉取请求。

  1. Fork 仓库
  2. 创建你的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交你的更改 (git commit -m 'Add some amazing feature')
  4. 推送到该分支 (git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

本项目采用 Apache 许可证 2.0 版 - 详情请参阅 LICENSE 文件。

致谢

支持

如有问题、疑问或想要贡献代码,请访问 GitHub 仓库

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端