Skip to main content
Glama

MCP Server: SSH Rails Runner

by tadasant

MCP サーバー: SSH Rails ランナー

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

これはCursorと非常に相性が良いです。Cursor Composerを使ってRailsモデルファイルをコンテキストとして読み込み、 execute_read_onlydry_run_mutateexecute_mutateツールを使ってデータベースに変更を加えることができます。データのラングリングや分析を行うために、複雑な管理UIを苦労して操作する必要はありません。

例

Related MCP server: MCP SSH Server

特徴

  • 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 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 コマンドの出力。

  • 使用方法:ユーザーが準備されたコード (

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

  • リモート環境へのアクセスが (一時的に) 提供されている、独自のローカル マシンからの信頼できる SSH エンドポイントでのみ使用してください。

  • **重要なのは、 executeCodeSnippetMutateでミューテーションを実行する前に、必ずprepareCodeSnippetで保存したコードを確認することです。**ミューテーションの確認は、ユーザーと呼び出し元のAIの責任となります。

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
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/tadasant/mcp-server-ssh-rails-runner'

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