ClaudeCode 配置 mcp-ssh-manager:settings.json 骨架与连通性验证
1. 为什么 ClaudeCode 里要接 mcp-ssh-manager如果你平时用 ClaudeCode 写代码同时又经常要连远程服务器看日志、传文件、跑部署脚本那你大概率经历过这种割裂感一边在编辑器里让 AI 帮你改代码另一边还得切到终端敲ssh prod-server再手动scp、tail -f、systemctl restart。AI 完全不知道你服务器上发生了什么你也没法让它顺手帮你把刚改完的代码推上去。mcp-ssh-manager 就是来解决这个断层的。它是一个基于 MCPModel Context Protocol的 SSH 连接管理工具把「连服务器」这件事抽象成一组 ClaudeCode 能调用的工具函数。配置好之后你可以在对话框里直接说「列出我所有服务器」「连到 production 看下 nginx 错误日志」ClaudeCode 会通过 MCP 通道调用 mcp-ssh-manager再由它去执行真正的 SSH 操作。它适合谁三类人最明显一是手上管着三五台甚至十几台服务器的后端/运维开发者二是做私有化部署、需要频繁在测试机和生产机之间切换的人三是想让 AI Agent 参与部署流程、但又不想把 SSH 密码明文写进脚本的人。mcp-ssh-manager 支持在环境变量里集中管理多台服务器的别名、地址、端口、认证方式ClaudeCode 只需要知道别名就能操作省掉了每次手敲 IP 的重复劳动。我试过在 MacOS 上从零配一遍整体流程不复杂但有几个坑点index.js 的绝对路径容易写错、环境变量命名有固定格式、改完配置必须 disable 再 enable 才生效。这篇就把 settings.json 骨架、启动参数、连通性验证动作完整走一遍你照着复制改改就能用。2. 前置准备装好 mcp-ssh-manager 并拿到 TaoToken Key在动 ClaudeCode 的配置文件之前先把两件事做完装 mcp-ssh-manager以及准备好模型侧的接入凭证。2.1 安装 mcp-ssh-manager官方包在 npm 上全局装一条命令就够npm install -g mcp-ssh-manager装完之后确认一下入口文件位置。MacOS 上用 Homebrew 装的 Node全局包一般在/opt/homebrew/lib/node_modules/下面Linux 或 Windows 的路径会不一样你可以用这条命令查npm root -g假设输出是/opt/homebrew/lib/node_modules那 mcp-ssh-manager 的入口就是/opt/homebrew/lib/node_modules/mcp-ssh-manager/src/index.js这个绝对路径后面要写进配置先记下来。如果你不想写死路径也可以用npx方式启动配置里 command 写npx、args 写包名即可但 npx 每次启动会做一次解析首次调用会慢几秒长期用还是建议写绝对路径。2.2 准备 TaoToken 的 API Key 和 Base URLClaudeCode 本身要连模型服务mcp-ssh-manager 只是挂在它下面的一个 MCP Server。模型侧我用的是 TaoToken 的接入方式它兼容 Anthropic 的接口协议ClaudeCode 可以直接对接。你需要准备两个值Base URLhttps://taotoken.net/apiAPI Key去控制台创建一个地址是https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite创建 Key 的入口在 API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite。点新建复制那串sk-开头的字符串只显示一次丢了就重新建。模型 ID 这块ClaudeCode 场景下常用的有claude-sonnet-4-5、claude-opus-4-1这类具体以你控制台里能选的为准。如果你还没确定用哪个模型可以先去模型对话页面试一下https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite发一条消息确认 Key 和模型都通再回来配 ClaudeCode。注意Base URL 后面不要自己加/v1ClaudeCode 的 Anthropic 兼容层会自己拼路径加了反而 404。2.3 确认 ClaudeCode 版本支持 MCPClaudeCode 从较早期版本就支持claude mcp add命令你可以先跑一下确认claude mcp --help能看到add、list、remove这些子命令就说明没问题。如果提示 command not found先升级 ClaudeCode 到最新版。3. settings.json 骨架与 mcp-ssh-manager 启动参数这一节是核心把配置文件的完整骨架给出来包括 ClaudeCode 的模型接入配置和 mcp-ssh-manager 的 MCP Server 定义。3.1 ClaudeCode 的 settings.json 模型接入部分ClaudeCode 读取的配置文件在用户目录下路径是~/.claude/settings.json。如果你之前没建过直接新建一个。模型接入相关的字段长这样{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的TaoToken密钥, ANTHROPIC_MODEL: claude-sonnet-4-5 } }三个字段的作用分别是ANTHROPIC_BASE_URL指向 TaoToken 的 API 入口ANTHROPIC_AUTH_TOKEN放你刚创建的 KeyANTHROPIC_MODEL指定默认调用的模型 ID。这三个必须同时存在缺一个 ClaudeCode 启动时会报认证或模型找不到的错。3.2 mcp-ssh-manager 的 MCP Server 定义MCP Server 的配置有两种放法项目级和用户级。项目级会在项目根目录生成.mcp.json只对当前项目生效用户级写在~/.claude.json里全局生效。推荐项目级隔离性好换项目不会互相干扰。在项目根目录执行claude mcp add ssh-manager --scope project node /opt/homebrew/lib/node_modules/mcp-ssh-manager/src/index.js执行完项目下会多一个.mcp.json默认内容{ mcpServers: { ssh-manager: { type: stdio, command: node, args: [ /opt/homebrew/lib/node_modules/mcp-ssh-manager/src/index.js ], env: {} } } }如果你不想写绝对路径可以改成 npx 启动{ mcpServers: { ssh-manager: { type: stdio, command: npx, args: [ iflow-mcp/mcp-ssh-manager ], env: {}, trust: true } } }trust: true表示信任这个 Server不会每次启动都弹确认。3.3 环境变量多台服务器的别名配置mcp-ssh-manager 的服务器信息全部通过env字段传入命名有固定格式。单台服务器的写法{ mcpServers: { ssh-manager: { type: stdio, command: node, args: [ /opt/homebrew/lib/node_modules/mcp-ssh-manager/src/index.js ], env: { SSH_SERVER_PRODUCTION_HOST: 192.168.1.100, SSH_SERVER_PRODUCTION_PORT: 22, SSH_SERVER_PRODUCTION_USER: deploy, SSH_SERVER_PRODUCTION_PASSWORD: 你的密码 } } } }PRODUCTION是服务器别名你可以随便命名但同一个别名下的 HOST、PORT、USER、PASSWORD 必须成套出现。多台服务器就换别名再写一组env: { SSH_SERVER_PRODUCTION_HOST: 192.168.1.100, SSH_SERVER_PRODUCTION_PORT: 22, SSH_SERVER_PRODUCTION_USER: deploy, SSH_SERVER_PRODUCTION_PASSWORD: prod密码, SSH_SERVER_KVMHADOOP_HOST: 10.0.0.21, SSH_SERVER_KVMHADOOP_PORT: 22, SSH_SERVER_KVMHADOOP_USER: hadoop, SSH_SERVER_KVMHADOOP_PASSWORD: hadoop密码 }如果你用密钥认证把PASSWORD换成PRIVATE_KEY_PATH值是私钥文件的绝对路径比如/Users/you/.ssh/id_rsa。两种认证方式不要同时配会冲突。3.4 启动参数说明mcp-ssh-manager 本身不需要额外命令行参数所有配置都走环境变量。但有几个点要注意type固定写stdio因为 ClaudeCode 通过标准输入输出和 MCP Server 通信。command和args拼起来就是完整的启动命令等价于在终端跑node /path/to/index.js。env里的变量会注入到子进程环境里mcp-ssh-manager 启动时读取这些变量构建服务器列表。改完配置后ClaudeCode 不会自动重载 MCP Server。你需要先 disable 再 enableclaude mcp disable ssh-manager claude mcp enable ssh-manager或者直接重启 ClaudeCode 会话。这一步很多人会漏改完配置发现没生效八成是没重载。4. 验证请求一条命令确认 MCP 通道生效配置写完重载完接下来验证。验证分两层先确认 MCP Server 本身起来了再确认 SSH 连通性。4.1 查看 MCP Server 状态在 ClaudeCode 对话框里输入/mcp会列出当前会话加载的所有 MCP Server。找到ssh-manager状态应该是connected。如果显示failed或disconnected说明启动命令有问题去检查 index.js 路径是否正确、Node 是否在 PATH 里。4.2 调用 ssh_list_servers 列出服务器mcp-ssh-manager 暴露的工具函数命名规则是mcp__server名__工具名。列出服务器的工具是ssh_list_servers所以在对话框里输入mcp__ssh-manager__ssh_list_servers如果配置正确ClaudeCode 会返回你刚才在 env 里配的所有服务器别名和基本信息类似Available SSH servers: - PRODUCTION (192.168.1.100:22, user: deploy) - KVMHADOOP (10.0.0.21:22, user: hadoop)看到这个列表说明 MCP 通道已经打通ClaudeCode 能正常调用 mcp-ssh-manager 了。4.3 执行一次真实 SSH 连通性验证光列出服务器还不够得实际连一次确认认证没问题。用ssh_exec工具在目标服务器上跑一条无害命令mcp__ssh-manager__ssh_exec参数里指定 server 为PRODUCTIONcommand 为echo mcp-ssh-ok hostname。如果返回类似mcp-ssh-ok prod-web-01说明 SSH 认证、命令执行、结果回传整条链路都通了。这一步很关键因为有些环境里服务器列表能列出来但实际连接时因为密码错、端口不通、防火墙拦截而失败只有真正执行命令才能暴露。4.4 让 ClaudeCode 用自然语言操作验证通过后你就可以用自然语言指挥了。比如连到 PRODUCTION看下 /var/log/nginx/error.log 最后 50 行ClaudeCode 会自动调用ssh_exec把tail -n 50 /var/log/nginx/error.log发到 PRODUCTION 上执行再把结果贴回来。你不需要记工具名AI 会根据你的意图选对应的 MCP 工具。5. 常见报错排查401、local proxy failed、reading choices配置过程中最容易撞的几个错我按实际遇到的频率排一下。5.1 401 Unauthorized这个错一般出在模型侧不是 MCP 侧。原因是ANTHROPIC_AUTH_TOKEN填错了或者 Key 被删了。排查步骤先去https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite确认 Key 还在然后检查 settings.json 里有没有多余空格或换行。Key 是sk-开头的一整串复制时别漏字符。如果 Key 没问题还是 401检查ANTHROPIC_BASE_URL是不是写成了https://taotoken.net/api/末尾多了斜杠有些版本会因此拼出双斜杠导致认证失败。改成不带末尾斜杠的https://taotoken.net/api。5.2 local proxy failed这个错通常出现在 ClaudeCode 启动阶段提示本地代理连接失败。原因是 ClaudeCode 尝试走系统代理但代理配置有问题。如果你没主动配代理检查环境变量里有没有残留的HTTP_PROXY、HTTPS_PROXYenv | grep -i proxy有的话 unset 掉再启动 ClaudeCode。另外确认ANTHROPIC_BASE_URL是直连地址不要指向本地某个端口。5.3 reading choices 相关报错这个错一般长这样error reading choices: unexpected end of JSON input。它出在 MCP Server 返回的数据格式不对常见原因是 mcp-ssh-manager 启动时 env 里的服务器配置不完整比如只写了 HOST 没写 USER导致内部构建服务器对象时抛异常返回了空响应。排查方法把 env 里每个别名的 HOST、PORT、USER、PASSWORD或 PRIVATE_KEY_PATH四项都补齐缺一不可。补完 disable/enable 重载。5.4 MCP Server 显示 failed 但没具体报错这种情况多半是 index.js 路径写错了。手动在终端跑一下配置里的完整命令node /opt/homebrew/lib/node_modules/mcp-ssh-manager/src/index.js如果提示Cannot find module说明路径不对用npm root -g重新确认。如果命令能跑起来但卡住不动那是正常的stdio 类型的 Server 在等输入CtrlC 退出即可说明路径没问题。5.5 改了配置不生效前面提过MCP 配置改动后必须重载。如果你只改了.mcp.json但没执行 disable/enableClaudeCode 用的还是旧配置。养成习惯改完配置先claude mcp disable ssh-manager再claude mcp enable ssh-manager然后/mcp确认状态。5.6 三件套对照表不管哪种错配 MCP 模型接入时始终盯住三件套缺一个都跑不起来组件字段值示例Base URLANTHROPIC_BASE_URLhttps://taotoken.net/apiAPI KeyANTHROPIC_AUTH_TOKENsk-xxxxModel IDANTHROPIC_MODELclaude-sonnet-4-5MCP 侧同理Server 名、启动命令、env 里的服务器四元组也是缺一不可。排查时先确认这三件套齐全再去查网络和路径。6. 把 MCP 通道用起来从验证到日常操作连通性验证通过只是起点真正省时间的是把它嵌进日常流程。我现在的习惯是项目根目录的.mcp.json跟着代码一起提交到仓库密码字段用环境变量引用不写明文团队里每个人拉下来就能用同一套服务器别名。ClaudeCode 在项目里打开时自动加载这个配置不需要每人手动 add。日常操作里最高频的三个场景看日志、传文件、重启服务。看日志直接说「连 PRODUCTION 看 xxx 日志最后 100 行」传文件说「把本地 dist 目录同步到 PRODUCTION 的 /var/www/html」重启服务说「在 PRODUCTION 上重启 nginx」。ClaudeCode 会自己选对应的 MCP 工具执行。如果你要长期跑 Agent 任务比如让 AI 自动部署、自动巡检建议把模型侧切到 Coding Plan额度更稳适合高频调用https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite。接入文档在https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite里面有各语言 SDK 的对接示例。最后一个实用技巧mcp-ssh-manager 的 env 里密码字段别直接写明文。可以在 shell 里 export 一个变量配置里用${VAR}引用ClaudeCode 启动时会做变量替换。这样配置文件能安全提交密码留在本地环境里。

相关新闻

iPhone配置同济邮箱全攻略:Exchange与IMAP参数详解

iPhone配置同济邮箱全攻略:Exchange与IMAP参数详解

一台全新iPhone,打开自带邮件应用,输入同济邮箱地址,点击下一步,系统提示“无法验证账户信息”——这应该是不少同济师生都遇到过的一幕。尤其是新生开学、新学期换手机那阵子,类似的提问在校园群里几乎每周都会出现。…

2026/9/30 18:36:01 阅读更多 →
AI+边缘计算的预测性维护:从故障预警到设备健康诊断落地指南

AI+边缘计算的预测性维护:从故障预警到设备健康诊断落地指南

简介:面向工业设备维护与智能制造从业者的《AI工业设备预测性维护方案》PPT,系统讲解如何利用数据分析与机器学习替代传统事后维修、定期检修,重点解决过维修与不足维修带来的停机及成本问题。方案覆盖数据采集、预处理、特征提取、故障诊断、…

2026/9/30 20:01:06 阅读更多 →
14K星开源项目实操:用AI代理搭建无人公司,一个人跑全流程

14K星开源项目实操:用AI代理搭建无人公司,一个人跑全流程

凌晨两点,我合上电脑前敲下最后一条指令:让仓库里的12个AI代理从"待命"状态切到"开工"状态。第二天早上九点,我打开工作台,一份32页的《露营咖啡二三线城市市场调研报告》已经躺在文件夹里,连图表…

2026/9/29 17:45:43 阅读更多 →

最新新闻

面向Agent的全模态数据平台:从数据湖到Agent记忆的落地指南

面向Agent的全模态数据平台:从数据湖到Agent记忆的落地指南

我这两年帮不少团队调试过Agent项目,有一个感受越来越强烈:Demo阶段的Agent大家好感度拉满,一上生产环境就各种翻车,而翻车点十有八九不在模型本身,在数据。模型是个好厨子,但你得先想清楚食材从哪来、怎么…

2026/9/30 20:00:52 阅读更多 →
Jev AI决策系统从概念到生产:架构拆解与落地指南

Jev AI决策系统从概念到生产:架构拆解与落地指南

1. 从概念到生产:Jev AI决策系统的架构全景与落地逻辑第一次听到“Jev”这个词,是在一个做智能决策引擎的朋友群里。有人丢了一张架构草图,说“这套东西要是真能跑起来,规则引擎那套老古董可以退休了”。后来陆续看到“jev模型”“…

2026/9/30 20:00:52 阅读更多 →
TensorFlow生产部署核心原理与工程实践指南

TensorFlow生产部署核心原理与工程实践指南

1. 这不是“装个库”那么简单:TensorFlow到底在解决什么问题? 你搜“tensorflow安装”,页面刷出来几百条教程,点开全是pip install tensorflow、conda install、GPU版本怎么选……但真正用过半年以上的人心里都清楚:装…

2026/9/30 20:00:52 阅读更多 →
Hermes Agent工程化实战:从安装部署到学习循环与多Agent架构

Hermes Agent工程化实战:从安装部署到学习循环与多Agent架构

1. 从“能跑通”到“能交付”:Hermes Agent 工程化的分水岭很多人第一次接触 Hermes Agent,都是被它的“学习循环”能力吸引的——给一个任务,它能自己拆解、执行、观察结果、修正策略,再继续推进。这个体验确实惊艳,但…

2026/9/30 20:00:52 阅读更多 →
02-常用控件

02-常用控件

常用控件:从基础到熟练 上一篇把窗口分成了状态、曲线、配方、报警。这一篇把占位换成真正的控件。数据先写死在 XAML 里。Binding 是下一篇,Command 是第 5 篇。 熟练的标准:配方区能选配方、改上下限;报警区是一张只能看、不能改…

2026/9/30 20:00:52 阅读更多 →
TensorFlow生产级落地:从静态图编译到可审计ML流水线

TensorFlow生产级落地:从静态图编译到可审计ML流水线

1. 这不是“又一个深度学习框架”——TensorFlow 是怎么从实验室走向工业级流水线的你搜“tensorflow”,页面上跳出来的全是安装报错、版本冲突、GPU识别失败、Keras和tf.keras混用踩坑……但很少有人告诉你:TensorFlow 本质上不是一套代码库&#xff0c…

2026/9/30 19:59:51 阅读更多 →

日新闻

Base64 图片头部特征识别:从文件头到格式判断的完整指南

Base64 图片头部特征识别:从文件头到格式判断的完整指南

1. 项目概述:为什么说看懂 base64 图片头部是基本功这几年跟 base64 打交道的机会越来越多,后端接口返回图片、前端渲染验证码、小程序里存小图、还有一些老系统导出报表,动不动就给你一段长到怀疑人生的 base64 字符串。很多人拿到字符串就直…

2026/9/30 0:00:35 阅读更多 →
Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

简介:本资源是一份面向Java初学者与课程设计学生的公交站牌广告灯箱管理系统毕业设计文档,聚焦城市公共广告资源信息化管理痛点,提供从需求分析到技术实现的完整方案。文档采用标准学术论文结构,含摘要、英文摘要、目录及五章正文…

2026/9/30 0:00:35 阅读更多 →
用 Redis Lua 构建大模型 API 多租户原子配额治理体系

用 Redis Lua 构建大模型 API 多租户原子配额治理体系

我去年年底接了一个内部 AI 平台的治理需求,背景很直接:公司把 DeepSeek、MiniMax 这类大模型 API 统一封装成内部网关,开放给几个业务团队用。结果第一个月账单出来,额度直接超了 4 倍。仔细查日志,发现原因并不复杂—…

2026/9/30 0:00:35 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/29 19:29:29 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/29 5:58:00 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/30 15:27:04 阅读更多 →