10 分钟用 TaoToken 让 Claude Code 跑通 Docker MCP 服务器
告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度1. 先把目标定清楚让 Claude Code 用自然语言管 Docker这篇要解决的事很具体在 Claude Code 里注册一个 Docker MCP Server然后用一句中文让它「列出本地容器再读某个容器的日志」。整个过程控制在 10 分钟内前提是你机器上已经装好 Docker 和 Claude Code。MCP 是 Model Context Protocol你可以把它理解成给 AI 装「外设驱动」的协议。Claude Code 本身能读写文件、跑命令但它默认不知道你的 Docker 里跑了什么。挂上 Docker MCP Server 之后容器列表、日志、镜像这些信息就变成了模型可以直接调用的工具。适合谁适合每天跟容器打交道、又不想反复敲docker ps和docker logs的后端和运维同学。我试过把这套流程跑通中间踩的坑主要在两个地方一是 MCP 注册的 JSON 路径写错二是供应商没切到 TaoToken 导致请求直接失败。下面按顺序拆开讲你照着做基本不会卡。2. 环境准备与 Docker MCP Server 的获取动手前先确认三样东西Docker 在跑、Claude Code 能启动、你有权限改配置文件。先验证 Dockerdocker --version docker psdocker ps能列出容器就说明守护进程正常。如果报Cannot connect to the Docker daemon先把 Docker Desktop 或dockerd起起来这一步不解决后面全白搭。Docker 官方提供了 MCP 工具链社区也有现成的 server 实现。这里用 Docker 官方的mcp命令方式它会把 MCP Server 跑在容器里隔离干净。先确认命令可用docker mcp --help如果提示找不到命令说明你的 Docker 版本较旧需要更新到较新的 Desktop 版本官方 MCP 工具链是随新版一起分发的。更新后重开终端再试。接着看 Claude Code 是否就绪claude --version能打印版本号即可。Claude Code 的 MCP 配置有两种作用域项目级放在项目根目录的.mcp.json用户级放在~/.claude.json或通过claude mcp add命令写入。为了不污染全局我这里用项目级配置进你的工作目录再操作。3. 注册 Docker MCP Server 到 Claude CodeClaude Code 注册 MCP 有两种方式命令行和手写 JSON。命令行更快手写更可控我都给你。命令行方式claude mcp add docker -- docker mcp gateway run这条命令的意思是新增一个名叫docker的 MCP Server启动方式是执行docker mcp gateway run。gateway是官方提供的聚合入口它会把 Docker 相关的工具统一暴露出来。如果你更想手写配置在项目根目录建.mcp.json{ mcpServers: { docker: { command: docker, args: [mcp, gateway, run] } } }保存后回到 Claude Code用/mcp命令查看连接状态。正常的话会看到docker这一项显示 connected并列出它暴露的工具通常包括容器列表、日志读取、镜像管理等。这里有个容易翻车的点command必须写docker而不是完整路径除非你的 docker 不在 PATH 里。如果 Claude Code 启动时报spawn docker ENOENT把command换成which docker输出的绝对路径比如/usr/local/bin/docker。注册完先别急着测自然语言用/mcp确认工具列表出来了再往下走。4. 接入 TaoToken拿 Key 与设为默认供应商Claude Code 默认走 Anthropic 官方端点国内直连经常超时。这一步把请求切到 TaoToken同时完成鉴权。先去官网注册并创建 API Keyhttps://taotoken.net/?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerateutm_content登录后进控制台在 API Keys 页面新建一个 Key复制出来。控制台地址https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerateutm_content拿到 Key 之后通过环境变量告诉 Claude Code 走 TaoToken。Base URL 填https://taotoken.net/apiexport ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENsk-你的TaoToken密钥把这两行写进~/.zshrc或~/.bashrc可以持久化重开终端生效。注意变量名是ANTHROPIC_AUTH_TOKEN不是ANTHROPIC_API_KEY写错了 Claude Code 会继续找官方 Key然后报鉴权失败。验证配置是否生效echo $ANTHROPIC_BASE_URL输出https://taotoken.net/api就对了。然后启动 Claude Codeclaude如果启动后对话能正常返回说明供应商已经切到 TaoToken。这一步是整个流程的关键MCP 只是给模型加工具模型本身连不上工具再多也没用。想确认可用模型和计费口径看接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerateutm_content5. 执行自然语言指令并验证结果现在回到 Claude Code 会话里直接输入中文列出我本地正在运行的 Docker 容器然后读取名字里带 redis 的那个容器的最近 50 行日志Claude Code 会先调用dockerMCP Server 的容器列表工具拿到结果后再调用日志工具。你会在界面上看到工具调用的过程类似● docker - list_containers ⎿ CONTAINER ID IMAGE STATUS NAMES a1b2c3d4e5f6 redis:7 Up 2 hours redis-cache 9f8e7d6c5b4a nginx:latest Up 3 hours web-proxy ● docker - get_container_logs (container: redis-cache, tail: 50) ⎿ 1:M 01 Jan 2025 10:00:00.000 * Ready to accept connections 1:M 01 Jan 2025 10:00:01.123 * Background saving started ...看到两段工具调用都返回内容就说明整条链路通了Claude Code 解析你的中文 → 选中 Docker MCP 工具 → 执行 → 把结果组织成回答。失败分支要会判断。如果 Claude Code 说「我没有可用的 Docker 工具」说明 MCP 没连上回第 3 步用/mcp检查。如果工具调用了但报permission denied多半是 Docker socket 权限问题Linux 下把当前用户加进 docker 组sudo usermod -aG docker $USER然后重新登录。如果日志读取返回空检查容器名是否拼对docker ps里NAMES列才是准确的名字。再补一个常见情况容器很多时模型可能一次列不全。你可以把指令收窄比如「只列出镜像名包含 redis 的容器」减少工具返回的数据量响应会更快。6. 限制、成本与模型选择几个实际会碰到的边界。Docker MCP Server 能做的事受它暴露的工具集限制默认不包含docker exec这类交互式操作想进容器里跑命令还是得手动。日志读取有行数上限超大日志建议先在指令里限定tail行数否则返回内容会撑爆上下文。成本方面MCP 工具调用会额外消耗 token因为工具定义和返回结果都算输入。容器列表越长、日志越多单次请求越贵。日常用建议把常用查询写成固定指令模板减少模型来回试探。模型选择上工具调用能力强的模型在 MCP 场景下表现更稳具体支持哪些模型、各自的价格和上下文长度以官网和控制台实际展示为准不同时间可能有调整。你可以先在控制台看当前可用的模型清单再决定用哪个跑 Docker 这类多步工具任务。最后提醒一句ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN这两个环境变量是全局的如果你同时用其他需要官方端点的工具记得在对应终端里临时覆盖别互相干扰。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度