hatchbox について
hatchbox は Hatchbox でホストされた Rails アプリケーションを管理する MCP サーバーで、環境変数の管理とデプロイを扱います。デフォルトは読み取り専用で、AI アシスタントから小規模な Rails サイトを操作したい方に適しています。
主な機能
- 01SSH 経由での全環境変数および個別環境変数の参照
- 02環境変数の設定、更新、削除
- 03デプロイの実行とデプロイステータスの確認
- 04デフォルトの読み取り専用モードとデプロイ権限の個別切り替え
- 05同一サーバー上の複数アプリをアプリ名で絞り込み
活用シーン
- 01AI アシスタントから RAILS_ENV などの環境変数の現在値を確認
- 02特定のコミットをデプロイし進行状況を追跡
- 03本番環境で書き込みを制限し読み取りのみを許可
MCP 対応
本プロジェクトは MCP サーバーであり、getEnvVars、getEnvVar、setEnvVar、deleteEnvVars、triggerDeploy、checkDeploy の各ツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y hatchbox-mcp-serverHATCHBOX_API_KEYシークレットAPI key for authentication with Hatchbox.HATCHBOX_ACCOUNT_IDHatchbox account ID visible in the dashboard URL.HATCHBOX_APP_IDHatchbox application ID visible in the dashboard URL.HATCHBOX_DEPLOY_KEYシークレットDeployment webhook key for triggering deployments.WEB_SERVER_IP_ADDRESSIP address of Hatchbox server for SSH access to read environment variables.SSH_KEY_PATHシークレットPath to SSH private key for server access.HATCHBOX_APP_NAMEApp name to filter processes if multiple apps run on the same server.READONLYSet to false to enable write operations for environment variables.ALLOW_DEPLOYSSet to false to disable deployment operations.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| sha | string | いいえ | デプロイする特定の Git コミット SHA(例:"ff28bd55fb6a"、"abc123def456")。指定しない場合、設定済みブランチの最新コミットをデプロイします |
詳細
Hatchbox MCP サーバー
小規模事業者向けに Rails のホスティングをシンプルにする Hatchbox 用の MCP サーバーです。
概要
この MCP サーバーは、Hatchbox の API と連携するツールを提供します。これにより、AI アシスタントから Rails アプリケーションの環境変数やデプロイを直接管理できます。
主な機能
- 環境変数の管理:
- すべての環境変数を表示(SSH 経由)
- 特定の環境変数を取得(SSH 経由)
- 環境変数を設定および更新
- 環境変数を削除
- デプロイの制御:デプロイを開始し、ステータスを確認
- セキュリティ機能:
- デフォルトで読み取り専用モード
- デプロイ権限を設定可能
- 環境変数の読み取りには SSH ベースの安全なアクセスを使用
- 安全な認証:安全なアクセスのために API キーと SSH キーを使用
インストール
npm install hatchbox-mcp-server
設定
環境変数
必須の変数
HATCHBOX_API_KEY:認証用の Hatchbox API キーHATCHBOX_ACCOUNT_ID:Hatchbox アカウント IDHATCHBOX_APP_ID:Hatchbox アプリケーション IDHATCHBOX_DEPLOY_KEY:デプロイ用の Webhook キー
SSH アクセス用の任意の変数
WEB_SERVER_IP_ADDRESS:Hatchbox サーバーの IP アドレス(getEnvVars および getEnvVar ツールを有効にします)SSH_KEY_PATH:SSH 秘密鍵へのパス(デフォルトは ~/.ssh/id_rsa)HATCHBOX_APP_NAME:サーバー上に複数のアプリがある場合にプロセスを絞り込むためのアプリ名(以下の例を参照)
セキュリティ設定
READONLY:書き込み操作を有効にするにはfalseに設定します(デフォルト:true)ALLOW_DEPLOYS:デプロイ操作を無効にするにはfalseに設定します(デフォルト:true)
これらの値は Hatchbox ダッシュボードで確認できます。
- API キー:アカウント設定
- アカウント ID:アカウントの表示中に URL に表示されます
- アプリ ID:アプリケーションの表示中に URL に表示されます
- デプロイキー:アプリケーションのデプロイ設定
- サーバー IP:サーバーのパブリック IP アドレス(SSH アクセス用)
SSH の設定(任意:環境変数の読み取り用)
getEnvVars および getEnvVar ツールを有効にするには、Hatchbox サーバーへの SSH アクセスが必要です。
-
SSH 公開鍵を追加:Hatchbox サーバー上のデプロイユーザーに追加します。
ssh-copy-id deploy@your-server-ip -
SSH アクセスをテストします。
ssh deploy@your-server-ip "echo 'SSH access working'" -
サーバーの IP アドレスを使って MCP サーバーを設定します(以下の設定を参照)。
同じサーバー上の複数のアプリ
同じ Hatchbox サーバー上で複数の Rails アプリケーションを実行している場合は、どのアプリの環境変数を読み取るか特定するために HATCHBOX_APP_NAME を指定する必要があります。
# Example: If your server has multiple apps running
# App 1: mystore (running on port 3000)
# App 2: blog (running on port 3001)
# App 3: api (running on port 3002)
# To read env vars for the 'mystore' app:
HATCHBOX_APP_NAME=mystore
# To read env vars for the 'blog' app:
HATCHBOX_APP_NAME=blog
アプリ名は Hatchbox ダッシュボードに表示されている名前と一致させてください。これにより、プロセス一覧が絞り込まれ、対象のアプリケーションに対応する puma プロセスを見つけられます。
Claude Desktop の設定
Claude Desktop の設定ファイルにサーバーを追加します。
macOS
~/Library/Application Support/Claude/claude_desktop_config.json
Windows
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"hatchbox": {
"command": "npx",
"args": ["-y", "hatchbox-mcp-server"],
"env": {
"HATCHBOX_API_KEY": "your-api-key-here",
"HATCHBOX_ACCOUNT_ID": "1852",
"HATCHBOX_APP_ID": "8540",
"HATCHBOX_DEPLOY_KEY": "your-deploy-key-here",
"// Optional - for SSH access to read env vars": "",
"WEB_SERVER_IP_ADDRESS": "165.232.133.75",
"SSH_KEY_PATH": "/Users/yourname/.ssh/id_rsa",
"HATCHBOX_APP_NAME": "myapp",
"// Optional - security settings": "",
"READONLY": "false",
"ALLOW_DEPLOYS": "true"
}
}
}
}
ツール
環境変数
getEnvVars
SSH 経由で Hatchbox サーバーからすべての環境変数を取得します。
要件: WEB_SERVER_IP_ADDRESS の設定が必要です。
パラメーター: なし
例:
"Show me all environment variables"
getEnvVar
SSH 経由で Hatchbox サーバーから特定の環境変数を取得します。
要件: WEB_SERVER_IP_ADDRESS の設定が必要です。
パラメーター:
name(文字列、必須):取得する環境変数の名前
例:
{
"name": "RAILS_ENV"
}
setEnvVar
環境変数を設定または更新します。
要件: READONLY を false に設定する必要があります。
パラメーター:
name(文字列、必須):環境変数名value(文字列、必須):環境変数の値
例:
{
"name": "DATABASE_URL",
"value": "postgres://user:pass@host:5432/dbname"
}
deleteEnvVars
1 つ以上の環境変数を削除します。
要件: READONLY を false に設定する必要があります。
パラメーター:
names(文字列の配列、必須):削除する環境変数名の配列
例:
{
"names": ["OLD_VAR", "UNUSED_VAR"]
}
デプロイ
triggerDeploy
アプリケーションの新しいデプロイを開始します。
要件: ALLOW_DEPLOYS を true(デフォルト)に設定する必要があります。
パラメーター:
sha(文字列、任意):デプロイする特定のコミット SHA(指定しない場合は最新のもの)
例:
{
"sha": "abc123def456"
}
checkDeploy
デプロイのステータスを確認します。
要件: ALLOW_DEPLOYS を true(デフォルト)に設定する必要があります。
パラメーター:
activityId(文字列、必須):triggerDeploy から返されるデプロイアクティビティ ID
例:
{
"activityId": "12345"
}
使用例
Claude で使用できるクエリの例を紹介します。
環境変数の読み取り(WEB_SERVER_IP_ADDRESS が必要)
-
すべての環境変数を表示する: 「すべての環境変数を表示して」
-
特定の変数を取得する: 「RAILS_ENV の値は何?」
環境変数の書き込み(READONLY=false が必要)
-
環境変数を設定する: 「RAILS_ENV を production に設定して」
-
環境変数を削除する: 「OLD_VAR と UNUSED_VAR の環境変数を削除して」
デプロイ(ALLOW_DEPLOYS=true が必要)
-
最新のコードをデプロイする: 「最新のコミットを Hatchbox にデプロイして」
-
特定のコミットをデプロイする: 「コミット abc123def456 を Hatchbox にデプロイして」
-
デプロイのステータスを確認する: 「デプロイアクティビティ 12345 のステータスを確認して」
セキュリティに関する注意事項
API セキュリティ
- API キーは安全に保管し、バージョン管理に決してコミットしないでください
- サーバーがアクセスできるのは、API キーでアクセス可能な Hatchbox アカウントとアプリケーションのみです
SSH セキュリティ
- SSH アクセスでは、シークレットを含むすべての環境変数が公開されます
- SSH キーが適切に保護されていることを確認してください
- 可能であれば、読み取り専用の SSH キーを専用に用意することを検討してください
- シークレットを MCP クライアントに信頼して預けられる場合にのみ、WEB_SERVER_IP_ADDRESS を設定してください
権限モード
- 読み取り専用モード(デフォルト): 本番環境への意図しない変更を防ぎます
- デプロイ制御: 書き込み操作とは別に無効化できます
- セキュリティ要件に応じて権限を設定してください:
- 開発:
READONLY=false、ALLOW_DEPLOYS=true - ステージング:
READONLY=false、ALLOW_DEPLOYS=true - 本番:
READONLY=true、ALLOW_DEPLOYS=false(推奨)
- 開発:
- すべての API 通信は HTTPS を使用して暗号化されます
開発
このサーバーは、PulseMCP 組織が提供する MCP サーバーコレクションの一部です。開発手順と貢献ガイドラインについては、メインリポジトリを参照してください。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。