使用说明
MCP网关
用于管理模型上下文协议(MCP)服务器和客户端的Docker CLI插件。该工具包提供了一个全面的界面,用于通过Docker集成发现、部署和管理MCP服务器。
概述
MCP网关是一个强大的命令行工具,它扩展了Docker CLI的MCP功能,使MCP服务器能够与各种AI客户端无缝集成,包括Claude Desktop、Cursor、VS Code、Zed等。
特性
- 目录管理:发现、创建和管理MCP服务器目录
- 服务器部署:将MCP服务器部署为Docker容器
- 客户端集成:将MCP服务器连接到各种AI桌面客户端
- 秘密管理:安全地管理凭据和机密
- OAuth支持:处理OAuth身份验证流
- 策略管理:定义和执行访问策略
- 备份与恢复:备份和恢复MCP配置
- OCI注册表支持:从OCI注册表中拉取和推送MCP服务器映像
安装
先决条件
- 转到1.25.5或更高版本
- Docker命令行界面
- Docker引擎
从源头构建
# Clone the repository
git clone https://github.com/kawai-network/mcp-gateway.git
cd mcp-gateway
# Build the plugin
go build -o docker-mcp ./cmd/docker-mcp
# Install as a Docker CLI plugin
mkdir -p ~/.docker/cli-plugins
cp docker-mcp ~/.docker/cli-plugins/docker-mcp
chmod +x ~/.docker/cli-plugins/docker-mcp
用法
基本命令
# Show help
docker mcp --help
# Show version
docker mcp version
# List available commands
docker mcp --help
目录管理
# List available MCP servers
docker mcp catalog ls
# Show details of a specific server
docker mcp catalog show <server-name>
# Create a new catalog entry
docker mcp catalog create <name> --image <image>
# Add a server to the catalog
docker mcp catalog add <name>
# Remove a server from the catalog
docker mcp catalog rm <name>
# Export catalog
docker mcp catalog export <output-file>
# Import catalog
docker mcp catalog import <input-file>
服务器管理
# List deployed servers
docker mcp server ls
# Initialize a new server
docker mcp server init <name>
# Enable a server
docker mcp server enable <name>
# Inspect server configuration
docker mcp server inspect <name>
客户管理
# List connected clients
docker mcp client ls
# Connect a client to an MCP server
docker mcp client connect <client> <server>
# Disconnect a client
docker mcp client disconnect <client> <server>
工具管理
# List available tools
docker mcp tools list
# Call a tool
docker mcp tools call <tool-name>
# Start a tool
docker mcp tools start <tool-name>
秘密管理
# List secrets
docker mcp secret ls
# Set a secret
docker mcp secret set <name> <value>
# Remove a secret
docker mcp secret rm <name>
# Export secrets
docker mcp secret export <output-file>
OAuth管理
# List OAuth tokens
docker mcp oauth ls
# Authenticate
docker mcp oauth auth
# Revoke a token
docker mcp oauth revoke <token-id>
策略管理
# Dump policy configuration
docker mcp policy dump
# Set policy
docker mcp policy set <policy-file>
备份与恢复
# Backup configuration
docker mcp backup dump <output-file>
# Restore configuration
docker mcp backup restore <input-file>
支持的客户
MCP网关支持与以下AI桌面客户端集成:
- 克劳德桌面 -Anthropic的Claude AI助手
- 光标 -AI驱动的代码编辑器
- VS代码 -Microsoft Visual Studio代码
- 泽德 -高性能代码编辑器
- 基罗 -AI开发环境
- Continue.dev -AI配对编程扩展
配置
客户档案
该工具自动检测和管理受支持应用程序的客户端配置文件。配置文件存储在标准位置:
- 克劳德桌面:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) - 光标:
~/.cursor/mcp.json - VS代码:
~/.vscode/mcp.json - 泽德:
~/.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/ # Main CLI application
│ ├── commands/ # Command implementations
│ ├── catalog/ # Catalog management
│ ├── client/ # Client integration
│ ├── oauth/ # OAuth handling
│ ├── secret-management/ # Secret management
│ └── server/ # Server management
├── catalog/ # Catalog core logic
├── catalog_next/ # Next-gen catalog (OCI-based)
├── client/ # Client profile management
├── codemode/ # Code mode functionality
├── config/ # Configuration handling
├── db/ # Database layer
├── desktop/ # Desktop integration
├── docker/ # Docker client wrapper
├── features/ # Feature flags
├── migrate/ # Database migrations
├── signatures/ # Signature verification
└── version/ # Version information
运行测试
# Run all tests
go test ./...
# Run tests with coverage
go test -cover ./...
# Run specific package tests
go test ./cmd/docker-mcp/commands
建筑
# Build for current platform
go build -o docker-mcp ./cmd/docker-mcp
# Build for multiple platforms
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
贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目在Apache License 2.0下获得许可-有关详细信息,请参阅License文件。
致谢
- 建于 Docker CLI插件SDK
- 用途 模型上下文协议Go SDK
- 由...驱动 眼镜蛇 CLI框架
支持
有关问题、疑问或贡献,请访问 GitHub存储库.
