mcpField
A
A Better Mcp ssh Server

A Better Mcp ssh Server

ローカル
github.com/zhangyc310開発ツール147 週間前に更新

A Better Mcp ssh Server について

mcpsshは、リモートサーバー上の対話型SSHセッションを管理するAIエージェント向けのGo製MCPサーバーです。PTYを使った永続セッションと、開始・操作・終了のツールを提供します。

主な機能

  1. 01PTYでSSHセッションを開始
  2. 02入力送信と出力の読み取り
  3. 03永続セッションの維持
  4. 04セッション終了とリソース解放

活用シーン

  1. 01リモートサーバーでコマンドを実行
  2. 02対話型シェルのプロンプトに応答
  3. 03SSHセッション経由でスクリプトを実行

MCP 対応

MCPサーバーは、SSHセッションの開始、稼働中セッションとの対話、終了を行うツールを公開します。セッションは返されるsession IDで識別されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

プロジェクトの概要

mcpsshは、AI エージェントの SSH セッション管理を支援するために設計された、Go ベースの Model Context Protocol(MCP)サーバーです。永続的なセッションを作成し、コマンドを送信して、擬似端末(PTY)インターフェースを通じて出力を読み取ることで、AI が SSH 経由でリモートサーバーとやり取りできるようにします。

アーキテクチャと主要コンポーネント

このプロジェクトは、MCP サーバーとそのツールを定義する単一のメインファイルmcpssh.goで構成されています。

コアツール
  • start_session:PTY を使用して、指定したホストへの新しい SSH 接続を開始します。session_idを返します。
  • interact_session:アクティブな SSH セッションに入力を送信し、出力を読み取ります。これにより、対話型シェルを使用できます(例:プロンプトへの応答、スクリプトの実行)。
  • close_session:アクティブな SSH セッションを終了し、リソースをクリーンアップします。
依存関係
  • github.com/mark3labs/mcp-go:MCP サーバー SDK。
  • github.com/creack/pty:対話型 SSH セッションの PTY 管理。
  • github.com/google/uuid:セッション ID の生成。

ビルドと実行

前提条件
  • Go 1.25.0 以降。
  • システムにsshがインストールされていること。macOSで使用しています。
  • ~/.ssh/configファイル
ビルドコマンド
go build -o mcpssh

インストール

codexのインストールでcmd引数を使用

codex mcp add mcpssh -- /your_path_to_mcpssh/mcpssh

geminiでファイル~/.gemini/settings.jsonを編集
"mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["chrome-devtools-mcp@latest"]
    },
    "ssh": {
      "command": "/your_path_to_mcpssh/mcpssh",
      "args": []
    }
  },

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。