Skip to main content
Glama

ssh-mcp-remote

Remote MCP-style HTTP+SSE server that exposes simple tools including ssh.exec for executing commands on remote hosts over SSH.

概要

  • Node.js + Express による HTTP サーバー

  • MCP Remote Connector から利用できるような形で、以下の 2 エンドポイントを提供します:

    • GET /sse : サーバーからのイベントを受け取るための SSE ストリーム

    • POST /query: MCP 風のツール呼び出し (search, fetch, ssh.exec)

  • レスポンスは MCP 互換の形に近づけるため、必ず次の形を返します:

    { "content": [ { "type": "text", "text": "<JSON文字列>" } ] }

    text フィールド内に、実際の JSON オブジェクトを文字列化したものが入ります。

セットアップ

リポジトリのルート (ghostfolio) で依存をインストールします。

cd ssh-mcp-remote npm install

起動方法

cd ssh-mcp-remote npm start

デフォルトではポート 8787 で起動します。Replit や Render などのホスティング環境では、環境変数 PORT が自動的に付与されるため、それを利用してリッスンします。

起動後:

  • http://localhost:8787/ : ヘルスチェック用の簡単な JSON レスポンス

  • http://localhost:8787/sse: SSE ストリーム (ブラウザや MCP Remote Connector が接続)

  • POST http://localhost:8787/query: MCP 風ツール呼び出し

/query の使い方

search ツール (ダミー)

curl -X POST http://localhost:8787/query \ -H "Content-Type: application/json" \ -d '{ "tool": "search", "query": "ssh" }'

返り値は ssh ツール 1 件だけを含むダミーのレスポンスです。

fetch ツール (ダミー)

curl -X POST http://localhost:8787/query \ -H "Content-Type: application/json" \ -d '{ "tool": "fetch", "id": "ssh" }'

search と同様のダミー応答を返します。

ssh.exec ツール

curl -X POST http://localhost:8787/query \ -H "Content-Type: application/json" \ -d '{ "tool": "ssh.exec", "args": { "host": "192.168.0.x", "user": "mizuki", "password": "your-password", "command": "ls -la" } }'

または usernameprivateKey も利用可能です:

curl -X POST http://localhost:8787/query \ -H "Content-Type: application/json" \ -d '{ "tool": "ssh.exec", "args": { "host": "192.168.0.x", "username": "mizuki", "privateKey": "C:/Users/you/.ssh/id_rsa", "command": "uname -a" } }'

レスポンスの content[0].text 内には、次のような JSON 文字列が入ります:

{ "host": "192.168.0.x", "user": "mizuki", "command": "ls -la", "stdout": "...", "stderr": "...", "code": 0, "error": null }

同時に、SSE に接続しているクライアントには type: "ssh.exec.result" のイベントとして同じ内容が PUSH されます。

ChatGPT MCP Remote Connector への登録例

実際の UI や設定方法は ChatGPT のバージョンによって異なります。ここでは概念的な例を示します。

  • Server URL (ローカル): http://localhost:8787

  • SSE Endpoint: /sse

  • Query Endpoint: /query

Remote MCP Connector の設定画面が以下のような項目を要求する場合:

  • Base URL: http://localhost:8787

  • SSE Path: /sse

  • Query Path: /query

と設定すれば、このサーバーが Remote MCP として機能します。

クラウド (Replit / Render) にデプロイした場合の URL 例

Replit や Render にこのプロジェクトをデプロイした場合、ベース URL は以下のようになります。

  • Base URL (Render): https://ssh-mcp-remote.onrender.com (サービス名に応じて変わります)

  • Base URL (Replit): https://your-repl-name.your-username.repl.co

  • SSE Path: /sse

  • Query Path: /query

ChatGPT MCP Remote Connector 側では、上記の Base URL とパスを指定してください。

例: Render に ssh-mcp-remote という名前でデプロイした場合:

  • Base URL: https://ssh-mcp-remote.onrender.com

  • SSE Path: /sse

  • Query Path: /query

推奨コマンドまとめ

# セットアップ cd ssh-mcp-remote npm install # 起動 npm start # 動作確認 (例: ssh.exec) curl -X POST http://localhost:8787/query \ -H "Content-Type: application/json" \ -d '{ "tool": "ssh.exec", "args": { "host": "192.168.0.x", "user": "mizuki", "password": "your-password", "command": "ls -la" } }'

この構成を元に、ChatGPT MCP Remote Connector から ssh.exec を呼び出せば、NAS や Linux/VPS 上でコマンドを実行し、その結果を ChatGPT 側で扱えるようになります。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shiroi1229/ssh-mcp-remote'

If you have feedback or need assistance with the MCP directory API, please join our Discord server