termal.in

エージェントネイティブな SSH

SSH のための MCP サーバー

Termalin は普通の SSH/ターミナルクライアントですが、MCP サーバーを内蔵しています。claude.ai や ChatGPT にカスタムコネクターとして追加したり、Claude Code や Model Context Protocol を話すエージェントをホストに向けたりすれば、SSH と SFTP でコマンドを実行し、ファイルを読み書きします。鍵がキーエージェントから外に出ることはなく、すべての操作がライブでミラーリングされ、録画され、監査ログに記録されます。

ホスト型サーバーは公式 MCP レジストリに in.termal/termalin-web として登録されています。

Claude Code への簡単インストール。ホスト型サーバーはアプリの起動が不要で、ローカルサーバーはデスクトップアプリに付属します。

claude mcp add --transport http termalin https://termal.in/mcp
claude mcp add termalin -- <path>/termalin-mcp

できること

MCP は AI エージェントとツールをつなぐためのオープンな標準規格です。多くの MCP サーバーは API をラップしますが、Termalin がラップするのはあなたのサーバーです。だからエージェントはインフラを実際に操作できます。ログを追う、サービスを再起動する、ディスクを確認する、設定を編集する、デプロイする、といった作業です。認証は Termalin の SSH キーエージェントを通して行われるため、秘密鍵がエージェントやモデルに渡ることは一切ありません。

ツール

ホスト型エンドポイントは 24 個のツールを、ローカルの termalin-mcp サーバーは 22 個を公開します。下記の共通コアに、セッション・トンネル・ライブターミナルのツールが加わります。「ホスト型エンドポイント」と記した行はホスト型にだけあります。引数まで含めた完全な一覧は MCP ツールリファレンスにあります。共通コアは次のとおりです。

ツール機能
hosts_listエージェントがアクセスできるホストの一覧を返します。
ssh_execホスト上でコマンドを 1 回実行し、その出力と終了コードを返します。
ssh_exec_many同じコマンドを複数のホストで一度に実行します(ホスト型エンドポイント)。
job_start / status / stop / list時間のかかるビルドや移行をバックグラウンドで開始し、あとでログと終了コードを確認し、停止できます(ホスト型エンドポイント)。ジョブはエージェントのターンや接続が終わっても動き続けます。
server_metricsすべてのサーバーの最新の CPU・メモリ・ディスク・負荷・ネットワークの数値、または 1 台のサーバーの詳細と直近数時間の平均値・ピーク値を返します。Termalin の監視データから読み取るもので、サーバー上では何も実行しません(ホスト型エンドポイントのみ)。
updates_list未適用のセキュリティアップデートと、インストールされているソフトウェアに含まれる既知の脆弱性(CVE)を返します。1 台のサーバー、タグ、またはすべてのサーバーを対象に、深刻度、各脆弱性を修正するバージョン、CISA が攻撃に悪用されていると記載しているか、悪用される可能性(EPSS)、そして修正方法がわかります。Linux・Windows・macOS、コンテナー、ロックファイル、単体アプリに対応します。日次/毎時のチェックから読み取るもので、サーバー上では何も実行しません(ホスト型エンドポイントのみ)。「どのサーバーに CVE-… があるか」にも答えます。
alerts_list監視がいま検出している問題(ディスクの逼迫、メモリや負荷の張り付き、失敗したサービス、期限切れが近い証明書、オフラインのサーバー)と、過去 7 日間に解消した問題を返します(ホスト型エンドポイントのみ)。
backup_create危険を伴う変更の前に、サーバーの暗号化バックアップを理由を書いたメモ付きで取ります(ホスト型エンドポイント)。サーバーには、ウェブキャビネットでバックアップジョブを設定しておく必要があります。
backup_listサーバーのバックアップジョブと最近のアーカイブを返します。いつ実行されたか、成功したか、サイズはどれくらいかがわかります(ホスト型エンドポイント)。
backup_job_createバックアップジョブの下書きを作成します。ファイルやデータベース、スケジュール、保持する数、保存先を指定でき、ウェブキャビネットでワンクリックで確認できます(鍵はブラウザー内で生成されます)。実行されるのは確認後だけです(ホスト型エンドポイント・フルアクセス)。
web_link_create / list / update / deleteサーバーのネットワークからしか到達できないダッシュボードや管理画面(localhost:3000、10.0.0.5:8080)を、内部サイトとしてウェブキャビネットに登録し、一覧表示、名前の変更やアプリの新しいアドレスへの切り替え、削除を行います(ホスト型エンドポイント)。1 つのサイトでアプリのすべてのページを開けます。開けるのはサインインしたあなただけで、共有はウェブキャビネット内で完結します。
sftp_listSFTP でディレクトリの一覧を取得します。
sftp_readSFTP でテキストファイルを読み込みます(サイズ上限あり・テキストのみ)。ホスト型エンドポイント用で、ローカルサーバーでは sftp_get を使います。
sftp_writeSFTP でテキストファイルを書き込みます。ホスト型エンドポイント用で、ローカルサーバーでは sftp_put を使います。
generate_password必要に応じて強力なパスワードを生成します。長さと文字種を自由に指定できます。
data_queryホスト上のデータベースにクエリを実行します。パスワード不要で、キーレストンネル経由でローカルの信頼(Postgres の peer 認証、MySQL の socket 認証、redis-cli、mongosh、sqlite3)を使い、各エンジン純正のクライアントを実行します。既定では読み取り専用です。
data_tablesホスト上のデータベースのテーブル・コレクション・キーの一覧を取得します。同じくパスワード不要の経路を使います。
data_schemaテーブル 1 つのカラムを説明します。

ローカルサーバーはこれに加えて次を提供します。

ツール機能
session_open / exec / close / list永続的な SSH セッションを開き、その中でコマンドを実行し、管理します。
sftp_get / sftp_putファイルをダウンロード・アップロードします。
tunnel_open / close / listホスト上でポート転送を開き、管理します。その先にあるサービスへ接続したり、ローカルのサービスを公開したり、経由してルーティングしたりできます。
terminal_open / run / run_many / sessions / hosts起動中のデスクトップアプリを操作します。ライブのターミナルタブを開いたり、すでに開いているセッションに入り込んで一緒に実行したりできます(同意が必要です)。
data_list / tables / schema / query保存したデータベースを調べてクエリを実行します。データベース・テーブル・カラムの一覧表示や、読み取り専用クエリの実行ができます。既定では無効で、接続ごとに設定し、同意が必要です。

Connector 経由で接続した Windows サーバーでは、ssh_exec とバックグラウンドジョブのツールが PowerShell で実行されます。データのツールには Unix シェルが必要なため、Linux(と macOS)でのみ使えます。

接続する 3 つの方法

1 · claude.ai / ChatGPT:いつものチャットで

インストール不要、貼り付ける鍵もありません。Termalin をカスタムコネクターとして追加し、話しかけるだけでサーバーを管理できます。

  • claude.ai:Termalin の掲載ページを開いて Connect(または Settings → Connectors → Add custom connector → https://termal.in/mcp)
  • ChatGPT:アプリディレクトリから Termalin を追加(Apps で Termalin を検索)、または Settings → Connectors → 同じ URL
  • Claude Code:claude mcp add --transport http termalin https://termal.in/mcp を実行し、続いて /mcp を実行してサインインします。または、下記のコーディングエージェントと同じリポジトリからプラグインとしてインストールすることもできます。/plugin marketplace add termalinapp/termalin-plugin を実行し、続いて /plugin install termalin@termalin を実行します。サインイン付きのリモート MCP サーバーに対応する他のクライアント(Codex、Cursor、VS Code)も同じ URL を使います。
  • Gemini(gemini.google.com):Settings → Connected Apps → Custom apps → Add a custom app → https://termal.in/mcp を貼り付け → Next。現時点では米国のみ、18 歳以上、個人の Google アカウント、英語のみの提供です。ウェブで接続すれば Gemini のモバイルアプリでも使えます。
  • Grok:grok.com/connectors → New Connector → Custom → 同じ URL。grok.com、Grok のモバイルアプリ、Grok CLI で使えます。
  • Mistral Le Chat:chat.mistral.ai/connections → Add Connector → Custom MCP Connector → 名前と同じ URL を入力 → サインイン。追加するのはワークスペースの管理者です。Free を含むすべてのプランで利用できます。
  • Perplexity:Settings → Connectors → + Custom connector → Remote → 名前と同じ URL を入力 → サインイン。Pro・Max・Enterprise プランで利用できます。
  • Meta Muse:https://termal.in/mcp を URL に指定してカスタムコネクターを追加し、サインインします。Muse のコネクターディレクトリへの Termalin の掲載は審査中です。
  • Manus:Connectors → Create → URL で MCP サーバーを追加 → 同じ URL → サインイン。
  • OpenClaw:openclaw mcp add termalin --url https://termal.in/mcp を実行し、続いて openclaw mcp login termalin でサインインします。または、プラグインバンドルをインストールします。openclaw plugins install https://github.com/termalinapp/termalin-plugin。Termalin は ClawHub にも掲載されています。
  • Hermes Agent(Nous Research):~/.hermes/config.yaml の mcp_servers: の下に、url: "https://termal.in/mcp" と auth: oauth を指定した termalin: のエントリを追加します。Hermes は最初の接続時にブラウザーでサインインページを開きます。カタログへの登録(hermes mcp install termalin)は審査待ちです。
  • OpenCode:opencode.jsonc にリモートサーバーを追加します。OpenCode は初回利用時に OAuth でサインインします(または opencode mcp auth termalin を実行)。
    {
      "mcp": {
        "servers": {
          "termalin": { "type": "remote", "url": "https://termal.in/mcp" }
        }
      }
    }
  • Kilo Code / Kilo CLI:MCP 設定で https://termal.in/mcp を URL に指定してリモート MCP サーバーを追加します。Kilo マーケットプレイスへの掲載は審査待ちです。
  • コーディングエージェント(Cursor、Kiro、Gemini CLI、Antigravity、Grok Build):Termalin プラグインリポジトリ(MIT)をインストールします。1 つのリポジトリにプラグイン形式ごとのマニフェストがあり、いずれも https://termal.in/mcp を指しています。さらに 5 つのスキルが含まれ、まずヘルスを確認する、読み取り専用でトリアージする、コマンドを安全に実行する、デプロイを検証する、データベースには既定で読み取り専用でクエリする、という進め方をエージェントに教えます(server-health、incident-triage、run-commands、deploy-check、database-access)。
    • Gemini CLI:gemini extensions install https://github.com/termalinapp/termalin-plugin
    • Antigravity(Google のエージェント IDE と CLI。2026 年 6 月に個人ユーザー向けの Gemini CLI を置き換えました):agy plugin install https://github.com/termalinapp/termalin-plugin
    • Kiro:Powers → Add Custom Power → Import power from GitHub → リポジトリの URL を貼り付け → Install
    • Cursor:このリポジトリは Agent Plugins 標準に従っている(ルートに plugin.json と mcp.json)ため、Cursor で読み込めます。マーケットプレイスへの掲載は審査待ちで、それまでは mcp.json の 1 項目を使ってください
    • Grok Build(カタログに掲載され次第):Grok Build 内で /marketplace、または grok plugin install termalin --trust

チャットが Termalin のサインインページを開くので、一度承認すれば、サーバーの一覧表示・コマンド実行・ファイルの読み書き・監視とアラートの確認ができます。「本番のディスクを確認して」「nginx のログを追って」「あの設定を直して」と会話からそのまま指示できます。アクセスは OAuth で付与され、登録済みの自分のサーバーだけに限定され、監査され、いつでも取り消せます。接続した各アプリには、それぞれ独自のコマンドポリシー(フルアクセス、コマンドの許可リスト、または読み取り専用)が割り当てられ、アカウントの「AI apps」カードで設定します。

詳しい手順:ChatGPT カスタムコネクターと claude.ai カスタムコネクター。

コピー&ペーストよりボタンがよければ、Termalin のブラウザー拡張機能(Chrome・Edge・Firefox)が、ChatGPT や Claude、GitHub や Stack Overflow などのサイトのコードブロックに「サーバーで実行」ボタンを追加します。サーバー・メトリクス・アラートをまとめたサイドパネルもつき、Termalin アカウントでサインインして使います。

初めての人が見落としがちな前提があります。ホスト型サーバーを使うには Pro または 14 日間のトライアルのアカウントが必要です。チャットが接続できるのは登録済みのサーバーだけです。termal.in/account にサインインし、Connector を追加をクリックして、表示される 1 行のインストールコマンドをコピーし、サーバー上で実行してください(デスクトップアプリの中だけにあるホストは接続できません)。もう 1 つは、会話の中で入力欄のツールメニューから Termalin を有効にすることです。設定でカスタムコネクターを追加するだけでは足りない場合があります。

2 · ローカルサーバー(自分のマシンで動作)

エージェントの MCP クライアントを、付属の termalin-mcp バイナリに向けます。Claude Code の場合は次のとおりです。

claude mcp add termalin -- <path>/termalin-mcp

または MCP クライアントの設定ファイルに次を記述します。

{
  "mcpServers": {
    "termalin": { "command": "<path>/termalin-mcp" }
  }
}

これは 設定 →「エージェントアクセス (MCP)」で選んだホストに接続します(エージェント専用の認証情報で書き込まれ、パスワードはディスクに保存されません)。各ホストには独自のエージェントアクセスレベル(フルアクセス、許可するコマンドのリスト、ブロック)があり、ホストごとに設定します。

3 · API キーを使うホスト型エンドポイント(CI・スクリプト・他のエージェント)

ウェブキャビネットで API キーを作成し、任意のエージェントを HTTP の MCP エンドポイントに向けます。

{
  "mcpServers": {
    "termalin": {
      "url": "https://termal.in/mcp",
      "headers": { "Authorization": "Bearer tk_live_…" }
    }
  }
}

これは、あなたのマシンで何も開いていなくても、トンネル接続したサーバー(1 行のインストールでエージェントを動かしているサーバー)でコマンドを実行し、ファイルを移動します。認証には短期証明書を使うため、鍵が外に渡されることはありません。API キーは特定のサーバーに限定したり、コマンドポリシー(フルアクセス、許可するコマンドのリスト、読み取り専用)を設定したり、有効期限(30 / 90 / 365 日)を付けたりでき、いつでも取り消せます。

経路によって接続先のホストが異なります。ローカルサーバーはアプリからエクスポートしたホストを、チャットのカスタムコネクターと API キーのエンドポイントは登録済みのトンネルサーバー(Connector)を対象にします。エージェントを動かす場所に合った方を選んでください。

セットアップガイド

各クライアントの手順です。

Termalin の掲載先

https://termal.in/mcp のホスト型サーバーは、すでに次のディレクトリに掲載されています。さらに多くのカタログが審査中で、プラグインリポジトリには Cursor、Kiro、Gemini CLI、Antigravity、Grok Build、OpenClaw、Claude Code 向けのマニフェストが含まれています。

主導権を保つ

  • エージェントアクセスは既定でオフです。エージェントにライブセッションへの入力を許可するのは、さらに別のトグルです。
  • アクセスはきめ細かく制御できます。デスクトップではホストごと(フルアクセス/許可リスト/ブロック)、ホスト型エンドポイントでは API キーごと、そして接続した AI アプリごと(フルアクセス/許可リスト/読み取り専用)です。あるサーバーでは読み取り専用、別のサーバーでは git だけ、といった設定ができます。
  • エージェントが鍵を持つことはありません。認証は Termalin の SSH キーエージェントか短期証明書を通して行われます。
  • エージェントのすべてのコマンドはセッション録画に印が付き、ウォッチグリッドでライブに表示され、監査ログに記録されます。
  • ホスト型での実行には、API キーごとにレート制限と実行時間の上限があります。

よくある質問

claude.ai や ChatGPT にサーバーを接続するには?

claude.ai の場合:claude.ai のコネクターディレクトリにある Termalin の掲載ページを開いて Connect をクリックします(または Settings → Connectors → Add custom connector → https://termal.in/mcp と URL で追加します)。Termalin のサインインページが開くので承認すれば、Claude がチャットの中でそのままサーバーの一覧表示・コマンド実行・ファイル管理を行えます。ChatGPT では、アプリディレクトリから Termalin を追加するか(Apps で Termalin を検索)、同じ URL を Settings → Connectors に追加します。貼り付ける API キーはありません。アクセスは OAuth で付与され、登録済みの自分のサーバーだけに限定され、いつでも取り消せます。

Gemini、Grok、Le Chat、Perplexity でも使えますか?

はい。URL で追加するカスタムコネクターとして使えます。https://termal.in/mcp を貼り付け、claude.ai や ChatGPT と同じ Termalin の同意ページでサインインします。Gemini:Settings → Connected Apps → Custom apps → Add a custom app(現時点では米国のみ、18 歳以上、個人の Google アカウント、英語のみ。ウェブで接続すれば Gemini のモバイルアプリでも使えます)。Grok:grok.com/connectors → New Connector → Custom(grok.com、Grok のモバイルアプリ、Grok CLI で使えます)。Le Chat:chat.mistral.ai/connections → Add Connector → Custom MCP Connector(ワークスペースの管理者が追加します。Free を含むすべてのプランで利用できます)。Perplexity:Settings → Connectors → + Custom connector → Remote(Pro・Max・Enterprise プラン)。コーディングエージェント(Cursor、Kiro、Gemini CLI、Antigravity、Grok Build)では、代わりに Termalin プラグインリポジトリを使います。

SSH のための MCP サーバーとは?

SSH のための MCP サーバーは、SSH と SFTP を Model Context Protocol 経由で AI エージェントが呼び出せるツールとして公開します。これにより、エージェントはサーバー上でコマンドを実行し、ファイルを読み書きできます。大きく 2 つの形があります。スタンドアロン型のサーバー(例:ssh-mcp、mcp-ssh)は動作する場所に鍵を保持します。もう 1 つは MCP サーバーを内蔵した SSH クライアント(Conduit、XPipe、Termalin)です。Termalin は SSH クライアントにこれを内蔵しています。エージェントがアクセスできるホストはあなたが選び、認証は Termalin が行うため、エージェントが秘密鍵に触れることはありません。

AI エージェントに SSH でサーバーへのアクセスを与えるには?

方法は 2 つあります。ホスト型:サーバーを Connector で登録し、エージェントに https://termal.in/mcp を追加して一度だけサインインします。Claude Code なら claude mcp add --transport http termalin https://termal.in/mcp を実行し、続いて /mcp でサインインします。スクリプトや CI では https://termal.in/api/v1/mcp に API キーで接続します。デスクトップアプリを起動する必要はありません。ローカル:Termalin をインストールし、設定 →「エージェントアクセス (MCP)」で使いたいホストを有効にして、付属のサーバーを claude mcp add termalin -- <path>/termalin-mcp で登録します。いずれの方法でも、MCP に対応したエージェント(Claude Code、Cursor、Codex、自作のものなど)がそれらのホストを一覧表示し、SSH と SFTP で操作できます。

AI エージェントは秘密鍵を見ずに SSH を使えますか?

はい。Termalin は鍵カストディアン(あなたの代わりに鍵を預かり、署名する仕組み)として動作します。鍵は一度だけロックを解除すれば、あとは Termalin がエージェントの代わりに署名するため、秘密鍵がエージェントやモデルに渡ることはありません。ホスト型エンドポイントはさらに進んで、鍵ではなく短期の SSH 証明書で実行のたびに認証します。

MCP サーバーを内蔵した SSH クライアントにはどれがありますか?

2026 年 10 月時点で、次のものがあります。Conduit(SSH・RDP・VNC・Web に対応、ローカルツール約 60 個、Apache-2.0、ローカルソケットのみ)。XPipe(ローカルの HTTP MCP サーバー。既定はオフで、変更を有効にするまで読み取り専用)。VibeShell(ツール約 28 個、MIT、ローカル)。そして Termalin(ローカルツール 22 個に加え、https://termal.in/mcp にある 24 個のツールのホスト型エンドポイント。claude.ai、ChatGPT、Claude Code、Codex、Cursor が OAuth でサインインでき、サーバーには Connector 経由でキーレスに接続。接続ごとのコマンドルールと監査ログを備え、Windows・macOS・Linux・iOS・ブラウザーで動作)。1 つのオープンソースアプリで SSH/RDP/VNC をまとめたいなら Conduit、Docker や VM 中心なら XPipe、CI やデスクトップを起動していないチャットからもエージェントを動かす必要があるなら Termalin が向いています。全体像の比較はこちら。

MCP サーバーはデスクトップアプリを起動していなくても動きますか?

2 つのモードがあります。ローカルサーバーはデスクトップアプリと一緒に動き、アプリからエクスポートしたホストを対象にします。ホスト型サーバー——https://termal.in/mcp に一度だけサインインするか、https://termal.in/api/v1/mcp に API キーで接続——はデスクトップを一切必要とせず、キーレスの Termalin Connector で登録したサーバーに短期証明書で認証して接続します。そのため CI やクラウドのサンドボックスで動くエージェントでも利用できます。このエンドポイントは公式 MCP レジストリに in.termal/termalin-web として登録されています。