Token导航 LogoToken导航TokenDH.com
MCP Docker Examples logo
开发工具未说明官方级别未说明来源级核验

MCP Docker Examples

MCP Server

通过Docker Compose配置文件动态管理MCP服务器,按需启动以减少上下文令牌消耗,适用于AI编码助手环境。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
上下文管理ShellClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kekzl

提供方

kekzl

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP Docker示例

使用Docker Compose配置文件的动态、按需模型上下文协议(MCP)服务器。这种方法通过仅启动当前任务所需的MCP服务器来解决“上下文吞噬”问题。

问题

当您将多个MCP服务器连接到AI编码助手时,每个服务器都会消耗上下文令牌来维持连接:

Your context budget: 100,000 tokens

Connected MCP servers:
├── GitHub MCP: ~5,000 tokens
├── Slack MCP: ~8,000 tokens
├── Database MCP: ~3,000 tokens
├── Google Drive MCP: ~4,000 tokens
└── Jira MCP: ~6,000 tokens

Total overhead: 26,000 tokens (26% of your budget!)

解决方案

使用Docker Compose配置文件仅启动您需要的MCP服务器:

# Working on code? Start just GitHub
./mcp.sh frontend

# Need database access? Switch contexts
./mcp.sh backend

# Planning sprint? Different set of tools
./mcp.sh planning

# Done? Clean up
./mcp.sh stop

快速开始

  1. 克隆此存储库:
   git clone https://github.com/kekzl/mcp-docker-examples.git
   cd mcp-docker-examples
  1. 复制环境模板:
   cp .env.example .env
  1. 将您的API令牌添加到 .env
  1. 为您的任务启动MCP服务器:
   ./mcp.sh frontend   # GitHub only
   ./mcp.sh backend    # GitHub + Database
   ./mcp.sh planning   # Jira + Slack
   ./mcp.sh full       # All servers (use sparingly!)
   ./mcp.sh stop       # Stop all
   ./mcp.sh status     # Show running servers

可用配置文件

配置文件MCP服务器用例
githubGitHub代码浏览、PR、问题
databasePostgreSQL数据库查询、模式检查
slackSlack团队沟通、渠道历史
jiraJiraSprint计划、票务管理
filesystem文件系统本地文件访问(沙盒)

预定义任务配置文件

mcp.sh 脚本提供了方便的快捷方式:

  • 前端:仅限GitHub
  • 后端:GitHub+数据库
  • 规划:Jira+Slack
  • 调试:GitHub+数据库+文件系统
  • 满的:所有服务器(警告:上下文使用率高)

自定义组合

您还可以直接启动特定的配置文件:

# Start specific profiles
docker compose --profile github --profile slack up -d

# Stop specific profiles
docker compose --profile github down

配置

环境变量

创建一个 .env 使用您的凭据文件:

# GitHub
GITHUB_TOKEN=ghp_xxxxxxxxxxxx

# Database
DATABASE_URL=postgresql://user:pass@host:5432/db

# Slack
SLACK_BOT_TOKEN=xoxb-xxxxxxxxxxxx
SLACK_APP_TOKEN=xapp-xxxxxxxxxxxx

# Jira
JIRA_URL=https://your-org.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=xxxxxxxxxxxx

# Filesystem (sandboxed directory)
ALLOWED_PATHS=/home/user/projects

Claude桌面集成

添加到您的Claude桌面配置(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": ["compose", "-f", "/path/to/docker-compose.yml", "--profile", "github", "run", "--rm", "github-mcp"]
    }
  }
}

安全注意事项

  1. 永不承诺 .env 文件 -它们包含敏感令牌
  2. 使用最小权限 -只启动您需要的服务器
  3. 沙盒文件系统访问 -限制 ALLOWED_PATHS
  4. 定期旋转令牌 -尤其是在测试之后

建筑

┌─────────────────────────────────────────┐
│  AI Session (Claude Code, etc.)         │
│  └── MCP Client                         │
│      ├── "I need GitHub" → profile up   │
│      ├── "Done with GitHub" → down      │
│      └── Only active MCP uses context   │
└─────────────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────┐
│  Docker Compose                         │
│  ├── [github] GitHub MCP Server         │
│  ├── [database] PostgreSQL MCP Server   │
│  ├── [slack] Slack MCP Server           │
│  ├── [jira] Jira MCP Server             │
│  └── [filesystem] Filesystem MCP Server │
└─────────────────────────────────────────┘

相关资源

许可证

MIT许可证-请参阅 许可证 了解详情。

目录标签

目录标签

上下文管理ShellClaude本地部署DockerComposeMCP服务器AI编码助手动态配置

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP