SSH MCP Server
概要
作者による説明(英語の原文)
Modern SSH for AI agents — cloud servers to BusyBox routers, with destructive commands blocked.
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 開発者ツール
- 入力が必要なもの:SSH_PROFILES_FILE
インストール
使っているAIアプリを選んで、設定をコピーしてください。
チェック 2/2 合格 · あなたのパソコンで動きます
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
SSH MCP Server のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
パソコン版 Claude アプリの設定ファイルを開く
SettingsDeveloperEdit Config
この設定を貼り付けて保存
{ "mcpServers": { "ssh": { "command": "npx", "args": [ "-y", "@hypnosis/ssh-mcp-server" ], "env": { "SSH_PROFILES_FILE": "your-value", "SSH_MCP_LOG_LEVEL": "your-value" } } } }キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Claude を終了してもう一度開く
試してみる
SSH MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が SSH MCP Server を使っていると言うか、回答に SSH MCP Server のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ SSH MCP Server につなげません
SSH MCP Server はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
代わりにできること
A · SSH MCP Server につなげるアプリを使う
- SSH MCP Server のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
- SSH MCP Server のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Node.js を入れてください(1 回だけ)
- SSH MCP Server のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Node.js を入れてください(1 回だけ)
- SSH MCP Server のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Node.js を入れてください(1 回だけ)
B · 開発者ツール の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
- Sentry✓ ChatGPT
- Front-End Checklist✓ ChatGPT
- Compiler Explorer✓ ChatGPT
Claude Code につなげますが、先に準備が必要です
SSH MCP Server のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Node.js を入れてください(1 回だけ)
ターミナルを開く
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
このコマンドを貼り付けて Enter
claude mcp add ssh --env SSH_PROFILES_FILE=your-value --env SSH_MCP_LOG_LEVEL=your-value -- npx -y @hypnosis/ssh-mcp-serverEnter の前に「your-value」を自分のキーに書き換えてください
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Claude Code で /mcp と入力
SSH MCP Server が一覧にあり、接続済みと表示されれば OK です
試してみる
SSH MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が SSH MCP Server を使っていると言うか、回答に SSH MCP Server のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
SSH MCP Server のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Node.js を入れてください(1 回だけ)
キーを入力
SSH MCP Server の設定で SSH_PROFILES_FILE, SSH_MCP_LOG_LEVEL が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Cursor の AI チャットを Agent モードで開く
試してみる
SSH MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が SSH MCP Server を使っていると言うか、回答に SSH MCP Server のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
SSH MCP Server のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Node.js を入れてください(1 回だけ)
キーを入力
SSH MCP Server の設定で SSH_PROFILES_FILE, SSH_MCP_LOG_LEVEL が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
VS Code の AI チャットを Agent モードで開く
試してみる
SSH MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が SSH MCP Server を使っていると言うか、回答に SSH MCP Server のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
JSON 設定は下の「開発者向け」にあります
開発者向け:ターミナルのコマンドと JSON 設定
パソコンにインストール
Claude Code
claude mcp add ssh --env SSH_PROFILES_FILE=your-value --env SSH_MCP_LOG_LEVEL=your-value -- npx -y @hypnosis/ssh-mcp-serverClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"ssh": {
"command": "npx",
"args": [
"-y",
"@hypnosis/ssh-mcp-server"
],
"env": {
"SSH_PROFILES_FILE": "your-value",
"SSH_MCP_LOG_LEVEL": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"ssh": {
"command": "npx",
"args": [
"-y",
"@hypnosis/ssh-mcp-server"
],
"env": {
"SSH_PROFILES_FILE": "your-value",
"SSH_MCP_LOG_LEVEL": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"ssh": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hypnosis/ssh-mcp-server"
],
"env": {
"SSH_PROFILES_FILE": "your-value",
"SSH_MCP_LOG_LEVEL": "your-value"
}
}
}
}自分で入力する値
SSH_PROFILES_FILE必須 envAbsolute path to the JSON file describing the servers this agent may reach.SSH_MCP_LOG_LEVELenvLog verbosity: error, warn, info or debug. Defaults to info.
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ひと目でわかる
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月11日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント hypnosis で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:8 日前
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
話し合い
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
ユーザーレビュー
まだレビューはありません
開発者ツールのほかのサーバーとの比較i
- このカテゴリのほかの5747件のうち90%よりスターが多い
- このカテゴリのほかの5747件のうち31%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5747件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
SSH MCP Serverは安全ですか?
当てはまる基本チェック2項目のうち2項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
入力が必要なもの:SSH_PROFILES_FILE
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は8 日前、最新バージョン(2.3.3)がレジストリに届いたのは3 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
代わりに使えるものは?
同じカテゴリには:REA, Netdata, Front-End Checklist
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Netdata
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Front-End Checklist
Review frontend code and live pages against 386 quality-gated web development rules.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
SSH MCP Server — Remote server tools for AI agents
An SSH MCP server — a multitool that saves you and your AI agent time and tokens on debugging, development and server maintenance. Run commands, move files, read logs and audit machines over SSH — a cloud VPS, a bare-metal box, or the BusyBox router sitting in your closet.
It uses the OpenSSH client already on your machine: your keys, your ~/.ssh/config, your jump hosts, your agent forwarding. Nothing bundled, nothing to compile, no native bindings.
Works with Claude Code, Codex CLI, Cline, opencode, Gemini CLI, Qwen Code, Hermes and other MCP clients.
[Install](#install-in-30-seconds) · [Tools](#tools) · [Setup](#set-up-the-ssh-mcp-server) · [Security](#destructive-command-protection-for-ai-agents) · [Roadmap](#ssh-mcp-server-roadmap) · [Docs](docs/tools.md) · [Changelog](CHANGELOG.md)
Install in 30 seconds
No global installation required. npx downloads the package on first use:
npx -y @hypnosis/ssh-mcp-server
Add it to your MCP client — Claude Code, for example — for every project:
claude mcp add ssh -s user \
-e SSH_PROFILES_FILE="$HOME/.claude/ssh-profiles.json" \ -- npx -y @hypnosis/ssh-mcp-server
Or write it by hand — the same server in the config shape most clients share:
{
"mcpServers": { "ssh": { "command": "npx", "args": ["-y", "@hypnosis/ssh-mcp-server"], "env": { "SSH_PROFILES_FILE": "~/.claude/ssh-profiles.json" } } } }
Then create ~/.claude/ssh-profiles.json with at least one machine:
{
"profiles": { "production": { "host": "server.example.com", "username": "admin", "privateKeyPath": "~/.ssh/your_private_key" } } }
That is enough to connect.
Codex, opencode, Qwen Code and other clients are covered in Set up the SSH MCP server.
Install as a plugin
Some clients — Claude Code, for example — can take the whole thing as a plugin instead:
/plugin marketplace add hypnosis/ssh-mcp-server
/plugin install ssh-mcp-server@ssh-mcp-server
The plugin reads ~/.claude/ssh-profiles.json unless SSH_PROFILES_FILE says otherwise, so create that file first and the server comes up with your machines already loaded.
Requirements
Node.js 18+ and a system ssh client on PATH. On Windows, use a key-based profile; password and passphrase profiles are not currently available.
Prefer a pinned version, offline work, or one less registry check per launch: npm install -g @hypnosis/ssh-mcp-server, then use ssh-mcp-server as the command instead of npx.
Who this is for
- DevOps and SREs who want faster audits, incident checks and routine server work.
- Vibe coders and indie builders who ship with an AI assistant and run what they build on their own servers.
- Sysadmins and platform engineers who want structured tools instead of an unrestricted raw shell.
- Developers and small teams running their own VPS without a dedicated operations team.
- Homelab, NAS and router owners whose useful hardware has outlived its modern protocols.
Why an SSH MCP server instead of a raw shell
Fewer tokens, lower AI costs
A raw shell gives an AI agent a firehose: repeated commands, ASCII tables and log dumps. It burns tokens turning that noise into a picture of the server — your money.
Faster server debugging
Purpose-built tools batch routine checks, cap noisy output and return the part that matters. The agent spends less time translating terminal output and gets to the fix sooner.
Less guesswork, fewer AI mistakes
Structured answers say what was found, what could not be measured and what was truncated. That leaves the agent less room to fill gaps with a hallucination — and gives you fewer bad fixes, calmer deploys and more reliable code.
SSH compatibility: modern servers, legacy gear and Windows
Use your existing OpenSSH setup
No bundled SSH implementation, no native bindings, no rebuild per platform. Commands ride the system ssh client, so your keys, your ~/.ssh/config, your jump hosts and your agent forwarding all keep working exactly as they do in a terminal. When supported, one shared multiplexed connection per destination means you authenticate once, not once per command.
SSH support for legacy servers, routers and NAS devices
Send a file to a router with a modern scp and you get this:
scp app.conf router:/etc/
scp: subsystem request failed on channel 0
Nothing is broken — a current scp speaks the new protocol, and the router does not know it. In a terminal you now go read a forum thread and come back with an extra flag. Here you do nothing: the transfer is tried, the refusal is recognized, the old protocol is used instead, and that machine is remembered so the next file goes straight there.
Fallbacks for older SSH clients and missing tools
Old gear gets a fallback, not a dead end. When a modern feature is missing, the server takes the older road where it can:
| Your machine | What you get |
|---|---|
| A router or NAS too small for modern file transfer | The file still lands — the old protocol is used automatically |
| A server from ten years ago | The workflow still works; it just opens a fresh connection per command instead of reusing one |
| A stripped-down image with no way to hash a file | The upload says "could not verify" instead of claiming a match nobody checked |
| A box where a tool simply is not installed | The answer says "not measured" — never a zero that reads as "nothing there" |
Built for the Model Context Protocol
Built on the official MCP SDK, TypeScript throughout, 2500+ unit tests plus a live suite that runs against real containers rather than mocks.
Raw SSH vs an SSH MCP server: the same job, both ways
SSH server health check
Situation: A deploy just went out. The server feels slow, and you do not know whether
disk, memory, services, containers or errors are to blame.
Question: “Is this box healthy?”
Raw SSH
$ uptime
10:42:17 up 18 days, 3:21, 2 users, load average: 0.42, 0.31, 0.28 $ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 40G 35G 5.0G 87% / overlay overlay 40G 35G 5.0G 87% /var/lib/docker/overlay2/... $ free -h total used free shared buff/cache available Mem: 7.7Gi 4.9Gi 612Mi 121Mi 2.2Gi 2.5Gi $ systemctl --failed UNIT LOAD ACTIVE SUB DESCRIPTION ● api-worker.service loaded failed failed API background worker $ docker ps -a CONTAINER ID IMAGE STATUS PORTS 8e14d0b41c2a api:latest Up 3 minutes 0.0.0.0:8080->8080/tcp 65b894af2430 worker:latest Exited (1) 2 minutes ago $ ss -tulpn Netid State Local Address:Port Process tcp LISTEN 0.0.0.0:22 users:(("sshd",pid=842,fd=3)) tcp LISTEN 0.0.0.0:8080 users:(("docker-proxy",pid=1942,fd=4)) $ journalctl -p err --since -1h | tail -50 Aug 20 10:39:14 prod api-worker[22104]: database connection timed out Aug 20 10:39:14 prod systemd[1]: api-worker.service: Failed with result 'exit-code'.
That is still an abridged result. A complete check needs more commands for CPU, service states, container counts and recent errors, each with its own output format. Worse, a box without ss can look like it has zero listeners when the port check never ran.
Structured MCP result
ssh_snapshot({ "profile": "production" })
{
"disk_pct": 87, "mem_pct": 64, "cpu_pct": 12, "load": "0.42 0.31 0.28", "containers": 7, "ports": 14, "services_running": 3, "recent_errors": 21, "unavailable": [] }
What the agent gains
| Raw SSH | Structured MCP | Your gain |
|---|---|---|
| Several commands and ASCII tables | Named fields in one result | One call, named fields and fewer round trips |
| A missing tool can look like empty output | unavailable names what was not measured | Less guessing and fewer bad fixes |
| You sort through disks, services and errors | The problem signals are already surfaced | Faster debugging |
A full ssh_audit_baseline result can be longer than a handful of raw command outputs — about 1,077 tokens versus 765 in our lab measurement. The saving comes from the complete workflow, not from making one response shorter.
In a real troubleshooting session, purpose-built tools reduced 49 separate command calls to 4 MCP calls. Every additional call starts another model turn with the accumulated conversation. Prompt caching can reduce the cost of repeated input, but new commands and their output still consume context. Fewer round trips mean fewer tokens across the session, less repeated analysis and a faster path to the answer.
Need the whole picture rather than the pulse? ssh_audit_baseline batches system, disk, memory, ports, sshd, failed units, Docker, firewall and updates. Findings arrive as CRITICAL / WARNING / OK; unmeasured sections are named instead of silently reading as zero.
Linux server log search
Situation: The API is timing out, but the same message may be in nginx, syslog,
journald or an application log you cannot read with your normal user.
Question: “Where did that error come from?”
Raw SSH
$ grep -i "timeout" /var/log/nginx/error.log
2026/08/20 10:38:54 [error]