mcpField
M
MCP Server: SSH Rails Runner

MCP Server: SSH Rails Runner

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

MCP Server: SSH Rails Runner について

MCP Server: SSH Rails Runnerは、デプロイ済みRailsアプリでSSH経由のRailsコンソールコマンドを実行します。リモートデータを読み取ったり変更したりする開発者向けで、コードを準備してから実行し、読み取り専用操作と変更操作を分けます。

主な機能

  1. 01SSH経由でRailsコンソールコードを実行
  2. 02読み取り専用操作
  3. 03Rubyスニペットの準備とレビュー
  4. 04承認済みの変更操作を実行
  5. 05コードスニペットリソースの管理

活用シーン

  1. 01リモートRailsアプリのデータを確認する
  2. 02実行前にデータベース変更コードを確認する
  3. 03確認後にリモートデータを変更する

MCP 対応

MCP サーバーは、スニペットの準備、読み取り専用コードの実行、変更の実行ツールをクライアントに提供し、スニペットリソースを管理します。変更実行には追加の安全チェックがなく、事前のユーザーレビューと明示的な確認が必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ssh-rails-runner": {
"command": "npx",
"args": [
"-y",
"mcp-server-ssh-rails-runner"
],
"env": {
"SSH_HOST": "<SSH_HOST>",
"SSH_USER": "<SSH_USER>",
"SSH_PRIVATE_KEY_PATH": "<SSH_PRIVATE_KEY_PATH>",
"RAILS_WORKING_DIR": "<RAILS_WORKING_DIR>"
}
}
}
}
起動コマンドnpx -y mcp-server-ssh-rails-runner
設定が必要な環境変数
SSH_HOST
SSH_USER
SSH_PRIVATE_KEY_PATHシークレット
RAILS_WORKING_DIR

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-server-ssh-rails-runner

ツール

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

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

詳細

MCP サーバー:SSH Rails Runner

SSH 経由で Rails コンソールコマンドを安全にリモート実行できる MCP サーバーです。このサーバーは、デプロイ済みの Rails 環境で、読み取り専用の操作と慎重に管理された変更操作の両方を行うためのツールを提供します。

Cursor との相性が抜群です。Cursor Composer を使って Rails のモデルファイルをコンテキストとして取り込み、execute_read_only、dry_run_mutate、execute_mutate ツールを使ってデータベースを変更できます。データの加工や分析を行うために、複雑な管理 UI を使いこなす必要はありません。

例

例

機能

  • SSH 経由での Rails コンソールのリモート実行
  • 安全な読み取り専用操作
  • 変更操作のドライラン機能
  • 承認済みの変更操作の実行
  • コードスニペットのリソース管理

インストール

npm install
npm run build

設定

次の環境変数を設定します:

SSH_HOST=your.remote.host
SSH_USER=your_ssh_user
SSH_PRIVATE_KEY_PATH=your_SSH_PRIVATE_KEY_PATH
RAILS_WORKING_DIR=/path/to/rails/app

Claude Desktop での使用方法

Claude Desktop の設定に追加します:

{
  "mcpServers": {
    "ssh-rails-runner": {
      "command": "npx",
      "args": ["mcp-server-ssh-rails-runner"],
      "env": {
        "SSH_HOST": "your.remote.host",
        "SSH_USER": "your_ssh_user",
        "SSH_PRIVATE_KEY_PATH": "your_SSH_PRIVATE_KEY_PATH",
        "RAILS_WORKING_DIR": "/path/to/rails/app/root",
        "PROJECT_NAME_AS_CONTEXT": "Name that shows up in tool descriptions to help the LLM describe what kind of Rails project we're working with.",
        "CODE_SNIPPET_FILE_DIRECTORY": "/path/to/store/code/snippets/locally"
      }
    }
  }
}

CODE_SNIPPET_FILE_DIRECTORY が指定されていない場合、スニペットは一時ディレクトリ(例:/tmp/mcp-ssh-rails-runner-code-snippets)に保存されます。 PROJECT_NAME_AS_CONTEXT は省略可能で、ツールの説明内でプロジェクトのコンテキストを識別するのに役立ちます。

利用可能なツール

サーバーは現在、準備 → 実行のワークフローを使用します:

mcp_ssh_rails_runner_prepare_code_snippet
  • 引数:name(文字列、ファイル名用)、type(列挙値:"readOnly" | "mutate")、code(文字列、Ruby コード)、description(文字列、省略可能)。
  • 機能:指定された Ruby コードを code_snippet_<name>.json という名前のローカルファイルに保存し、読み取り専用または変更用としてマークしたうえで、ファイルを開いてレビューできるようにします。
  • 戻り値:作成されたスニペットの file:// URI。
mcp_ssh_rails_runner_execute_code_snippet_read_only
  • 引数:uri(文字列、prepareCodeSnippet の file:// URI)。
  • 機能:URI からコードスニペットを読み込み、readOnly としてマークされていることを確認し、コードの安全性をチェックしてから実行します。
  • 戻り値:Rails コマンドの出力。
mcp_ssh_rails_runner_execute_code_snippet_mutate
  • 引数:uri(文字列、prepareCodeSnippet の file:// URI)。
  • 機能:危険ゾーン! コードスニペットを読み込み、mutate としてマークされていることを確認し、そのまま実行します。このツールにはドライランや追加の安全チェックはありません。
  • 戻り値:Rails コマンドの出力。
  • 使用方法:準備されたコード(prepareCodeSnippet が開いたファイル)をユーザーがレビューし、変更を実行することを明示的に確認した後に限り、このツールを呼び出してください。

セキュリティに関する考慮事項

  • リモート環境へのアクセスを(一時的に)許可されたローカルマシンから、信頼できる SSH エンドポイントに対してのみ使用してください。
  • 重要:executeCodeSnippetMutate で変更を実行する前に、必ず prepareCodeSnippet によって保存されたコードをレビューしてください。 変更を確認する責任は、ユーザーと呼び出し元の AI にあります。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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