Token导航 LogoToken导航

MCP Server · 运维云端

MCP Docker Exec

一个提供安全Docker容器执行和流式支持的MCP服务器,适用于开发和生产环境。

未说明官方级别未说明来源级核验工具 0
安全执行TypeScriptCursor开发工具

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
georgegtx
提供方
georgegtx

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Docker Exec 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,适配 Cursor,没有现成的安装命令;接入前要先准备 会话凭据。

分类

运维云端

传输方式

未说明

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

MCP Docker执行服务器

一个模型上下文协议(MCP)服务器,提供安全的Docker容器执行和流支持。设计用于与Cursor和其他MCP兼容客户端无缝协作。

特性

  • 灵活的执行模式

- 缓冲模式(默认):命令完成时返回完整输出 - 流模式:长时间运行的命令的实时输出流 - TTY支持:可选伪TTY分配(默认关闭)

  • 生产就绪安全

- 命令允许列表/拒绝列表策略 - 用户权限控制(默认情况下为非root) - 路径访问限制 - 速率限制 - 全面的审计日志记录

  • 稳健的资源管理

- 用于任意大输出的内存安全流式传输 - 可配置的块大小和缓冲区限制 - 超时支持,优雅取消 - 并发执行限制

  • 企业可观察性

- 结构化JSON日志记录 - 度量收集(延迟、吞吐量、错误) - 跟踪ID相关性 - 健康检查

快速开始

安装选项

1.从npm安装(推荐)
npm install -g mcp-docker-exec
2.使用Docker镜像
docker pull ghcr.io/YOUR_USERNAME/mcp-docker-exec:latest
3.从源代码安装
git clone https://github.com/YOUR_USERNAME/mcp-docker-exec.git
cd mcp-docker-exec
npm install
npm run build

使用游标

添加到光标MCP设置(~/.cursor/mcp/settings.json):

对于npm安装:

{
  "mcpServers": {
    "docker-exec": {
      "command": "mcp-docker-exec",
      "args": [],
      "env": {
        "MCP_DOCKER_ALLOW_ROOT": "false",
        "MCP_DOCKER_MAX_BYTES": "10485760"
      }
    }
  }
}

对于Docker安装:

{
  "mcpServers": {
    "docker-exec": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-v", "/var/run/docker.sock:/var/run/docker.sock",
        "ghcr.io/YOUR_USERNAME/mcp-docker-exec:latest"
      ],
      "env": {
        "MCP_DOCKER_ALLOW_ROOT": "false",
        "MCP_DOCKER_MAX_BYTES": "10485760"
      }
    }
  }
}

可用工具

docker_exec

在正在运行的容器中执行命令。

{
  "name": "docker_exec",
  "arguments": {
    "id": "container_name_or_id",
    "cmd": ["sh", "-c", "ls -la"],
    "stream": false,
    "tty": false,
    "user": "appuser",
    "workdir": "/app",
    "env": ["NODE_ENV=production"],
    "timeoutMs": 30000,
    "chunkBytes": 16384
  }
}

码头日志

使用以下选项检索容器日志。

{
  "name": "docker_logs",
  "arguments": {
    "id": "container_name_or_id",
    "tail": "100",
    "follow": true,
    "since": "2024-01-01T00:00:00Z",
    "chunkBytes": 16384
  }
}

docker_ps

列出具有筛选选项的容器。

{
  "name": "docker_ps",
  "arguments": {
    "all": true,
    "name": "web"
  }
}

码头_检验

检查Docker对象(容器、映像、网络、卷)。

{
  "name": "docker_inspect",
  "arguments": {
    "kind": "container",
    "id": "container_name_or_id"
  }
}

健康

检查服务器健康状况和Docker连接。

{
  "name": "health",
  "arguments": {}
}

配置

所有配置都是通过环境变量完成的:

Docker连接

  • DOCKER_HOST:Docker守护进程套接字/地址(默认:本地套接字)

资源限制

  • MCP_DOCKER_MAX_BYTES:缓冲模式下的最大输出大小(默认值:1048576)
  • MCP_DOCKER_CHUNK_BYTES:流数据块大小(默认值:16384)
  • MCP_DOCKER_MAX_CONCURRENT:最大并发执行数(默认值:10)
  • MCP_DOCKER_TIMEOUT_MS:命令的默认超时(可选)

安全

  • MCP_DOCKER_SECURITY:启用安全功能(默认值:true)
  • MCP_DOCKER_DEFAULT_USER:命令的默认用户(可选)
  • MCP_DOCKER_ALLOW_ROOT:允许根执行(默认值:false)
  • MCP_DOCKER_COMMAND_POLICY_MODE:“排外主义者”、“丹尼主义者”或“无”
  • MCP_DOCKER_COMMAND_PATTERNS:逗号分隔的正则表达式模式
  • MCP_DOCKER_DENIED_PATHS:逗号分隔的拒绝路径(默认:/proc、/sys、/dev)
  • MCP_DOCKER_DENIED_FLAGS:逗号分隔的危险标志(默认值:--privileged,--pid=host,--net=host)

速率限制

  • MCP_DOCKER_RATE_LIMITS:启用速率限制(默认值:true)
  • MCP_DOCKER_EXEC_PER_MINUTE:每分钟最多执行次数(默认值:60)
  • MCP_DOCKER_LOGS_PER_MINUTE:每分钟最大日志请求数(默认值:30)

审计与可观察性

  • MCP_DOCKER_AUDIT:启用审核日志记录(默认值:true)
  • MCP_DOCKER_AUDIT_FILE:审核日志文件路径(可选)
  • MCP_DOCKER_AUDIT_RETENTION_DAYS:日志保留期(默认值:30)
  • MCP_DOCKER_LOG_LEVEL:日志级别(调试/信息/警告/错误,默认值:信息)
  • MCP_DOCKER_STRUCTURED_LOGS:使用JSON日志(默认值:true)

其他

  • MCP_DOCKER_DRY_RUN:仅记录,不执行(默认值:false)

安全考虑

⚠️ 警告:此服务器提供对Docker容器的访问,这相当于对主机系统的root访问。

最佳实践

  1. 永远不要暴露给不受信任的客户端:此服务器仅供本地开发使用。
  1. 默认情况下使用非root:设置默认非root用户:
   MCP_DOCKER_DEFAULT_USER=nobody
  1. 启用命令策略:限制可用命令:
   MCP_DOCKER_COMMAND_POLICY_MODE=allowlist
   MCP_DOCKER_COMMAND_PATTERNS="^ls,^cat,^grep,^echo"
  1. 限制路径:阻止访问敏感目录:
   MCP_DOCKER_DENIED_PATHS="/etc,/root,/var/lib"
  1. 使用只读容器 如果可能的话。
  1. 启用审核日志记录 用于生产用途:
   MCP_DOCKER_AUDIT_FILE=/var/log/mcp-docker-exec/audit.jsonl

例子

基本命令执行

// List files in container
{
  "name": "docker_exec",
  "arguments": {
    "id": "my-app",
    "cmd": ["ls", "-la", "/app"]
  }
}

流式长时间运行命令

// Follow application logs
{
  "name": "docker_exec",
  "arguments": {
    "id": "my-app",
    "cmd": ["tail", "-f", "/var/log/app.log"],
    "stream": true
  }
}

使用输入执行

// Send data to command
{
  "name": "docker_exec",
  "arguments": {
    "id": "my-app",
    "cmd": ["sh", "-c", "cat > /tmp/data.txt"],
    "stdin": "Hello, World!"
  }
}

包含以下内容的容器日志

// Stream container logs
{
  "name": "docker_logs",
  "arguments": {
    "id": "my-app",
    "follow": true,
    "tail": "50"
  }
}

远程Docker支持

连接到远程Docker守护进程:

# SSH connection (key-based auth only)
DOCKER_HOST=ssh://user@remote-host

# TCP connection (ensure TLS is configured)
DOCKER_HOST=tcp://remote-host:2376

故障排除

指挥吊架

  • 确保 tty: false (默认)用于非交互式命令
  • 使用 stream: true 对于长时间运行的命令
  • 设置适当 timeoutMs

权限不足

  • 检查 MCP_DOCKER_ALLOW_ROOT 设置
  • 验证用户是否存在于容器中
  • 查看安全策略设置

速率限制错误

  • 调整 MCP_DOCKER_EXEC_PER_MINUTE
  • 检查审计日志以了解使用模式

大产量问题

  • 使用 stream: true 用于具有大输出的命令
  • 调整 MCP_DOCKER_CHUNK_BYTES 网络性能
  • 监视器 MCP_DOCKER_MAX_BYTES 用于缓冲模式

发展

从源头构建

git clone https://github.com/your-org/mcp-docker-exec
cd mcp-docker-exec
npm install
npm run build

运行测试

npm test                    # Unit tests
npm run test:integration   # Integration tests

建筑

mcp-docker-exec/
├── src/
│   ├── index.ts           # MCP server entry point
│   ├── docker/
│   │   ├── DockerManager.ts    # Core Docker operations
│   │   ├── ExecSession.ts      # Execution session handling
│   │   └── StreamDemuxer.ts    # Stream demultiplexing
│   ├── security/
│   │   ├── SecurityManager.ts  # Command & access policies
│   │   └── AuditLogger.ts      # Audit trail
│   ├── observability/
│   │   ├── Logger.ts           # Structured logging
│   │   └── MetricsCollector.ts # Metrics collection
│   └── config/
│       └── Config.ts           # Configuration management
└── tests/
    ├── unit/              # Unit tests
    └── integration/       # Integration tests

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 确保所有测试通过
  5. 提交拉取请求

支持

  • 问题:https://github.com/your-org/mcp-docker-exec/issues
  • 文档:https://github.com/your-org/mcp-docker-exec/wiki
  • 安全:security@your-org.com

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

Docker执行TypeScript本地部署容器管理流式支持安全执行开发工具

支持客户端

Cursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Cursor 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到会话凭据的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Docker Exec

MCP World · 本页

0未说明未标注1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Docker Exec 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

MCP Docker Exec 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Docker Exec 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Docker Exec 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Docker Exec 支持哪些客户端?

公开资料标注支持 Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP