Railway MCP Server について
Railway MCP Server は、Railway.app プラットフォーム向けのコミュニティ製非公式 MCP サーバーです。Claude などの MCP クライアントから、自然言語でプロジェクト、サービス、デプロイを管理できます。開発途中のため、一部の機能は未提供です。
主な機能
- 01プロジェクト、サービス、デプロイの管理
- 02変数の一覧表示、設定、削除
- 03ボリューム管理
- 04GitHub リポジトリや Docker イメージからのサービス作成
- 05Railway API トークンによる認証
活用シーン
- 01MCP クライアントからのサービスのデプロイと監視
- 02環境間での変数の一括更新やコピー
- 03Claude や Cursor 内でのプロジェクトとデプロイ状況の確認
MCP 対応
本プロジェクトは MCP サーバーであり、Railway のプロジェクト、サービス、デプロイ、変数、データベースの操作を MCP クライアントへツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Railway MCP Server
Claude やその他の MCP クライアントを使って、Railway.app のインフラストラクチャを管理できます。自然言語でサービスのデプロイ、変数の管理、デプロイ状況の監視を行えます。
| ご注意ください:これは開発中であり、まだ利用できない機能があります。 🚧 |
|---|
Railway.app プラットフォームと連携するための Model Context Protocol(MCP) サーバーです。
目次
機能 • インストール • 利用可能なツール • ワークフローの例 • セキュリティ • トラブルシューティング • コントリビューション
機能
| ステータス | 意味 |
|---|---|
| ✅ | 完了 |
| 🚧🔨⏳ | 開発中またはテストが必要 |
| ❌ | 現時点では未実装 |
- ✅ Railway API トークンによる認証
- ✅ プロジェクト管理(一覧表示、情報表示、削除)
- ✅ デプロイ管理(一覧表示、再起動)
- ✅ サービス管理(GitHub リポジトリまたは Docker イメージから作成、一覧表示)
- ✅ 変数管理(一覧表示、作成/更新、削除)
- ✅ サービスネットワーク管理
- ✅ ボリューム管理
- ❌ すべてのテンプレートへの完全対応
- 🚧🔨⏳ データベーステンプレートへの対応
- データベースおよびネットワークの自動ワークフロー
- 🚧🔨⏳ よく使われるワークフロー
- ❌ サービスへの GitHub リポジトリの自動リンク
インストール
前提条件
- Node.js 18 以降(組み込みの fetch API のサポートに必要)
- 有効な Railway アカウント
- Railway API トークン(https://railway.app/account/tokens で作成してください)
クイックスタート
この MCP サーバーは、次のような MCP クライアントでの動作を想定しています。
- Claude for Desktop | ✅ 実動作確認済み
- Cursor | ✅ テストが必要
- Cline | 🚧🔨⏳ テストが必要
- Windsurf | 🚧🔨⏳ テストが必要
- その他の MCP クライアント | 🚧🔨⏳ テストが必要
Smithery 経由でインストールする
railway-mcp を自動的にインストールするには、Smithery の利用をおすすめします。
Claude Desktop
npx -y @smithery/cli install @jason-tan-swe/railway-mcp --client claude
Cursor
npx -y @smithery/cli@latest run @jason-tan-swe/railway-mcp --config "{\"railwayApiToken\":\"token\"}"
Cursor への手動インストール
-
Cursor の設定を開き、MCP セクションを探します。
-
「Add new MCP server」をクリックします。
-
好きな名前を付けます。わかりやすくするため、
railway-mcpをおすすめします。 -
<RAILWAY_API_TOKEN> がアカウントの Railway トークンとなるように、このコマンドを「Command」セクションに貼り付けます。
npx -y @jasontanswe/railway-mcp <RAILWAY_API_TOKEN>
Claude への手動インストール
-
Claude for Desktop の設定ファイルを作成または編集します。
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
API トークンを使って、railway-mcp サーバーを設定に追加します。
"railway": {
"command": "npx",
"args": ["-y", "@jasontanswe/railway-mcp"],
"env": {
"RAILWAY_API_TOKEN": "your-railway-api-token-here"
}
}
複数の MCP サーバーを使用する場合、設定ファイルは次のようになります。
{
"mcpServers": {
// ... All of your existing MCP servers ...
// Add the railway-mcp server to your configuration with your API token
"railway": {
"command": "npx",
"args": ["-y", "@jasontanswe/railway-mcp"],
"env": {
"RAILWAY_API_TOKEN": "your-railway-api-token-here"
}
}
}
}
-
Claude for Desktop を再起動します。
-
Claude で Railway のツールを直接使えるようになります。例:
Please list all my Railway projects
- また、設定ファイルにトークンを追加したくない場合は、Claude 内で次のように設定できます。
Please configure the Railway API with my token: {YOUR_API_TOKEN_HERE}
推奨事項とその他の情報
このサーバーは、ターミナルにアクセスできる MCP クライアントや、Git を利用するクライアント (Cursor、Windsurf) との組み合わせが最適です。railway-mcp はコンテナを管理し、デプロイのプロセスをシームレスに効率化するため、ほかの MCP と併用することをおすすめします。
組み合わせて使うのにおすすめの MCP サーバー
Claude の場合
- Claude は初期状態ではターミナルにアクセスできないため、最新のコミットを取得できず、デプロイを実行できません。
- Claude では、さまざまなサービスを起動して監視する使い方が最適です。
Cursor の場合
- GitHub MCP と併用するか、リポジトリをあらかじめ GitHub に設定してローカルマシンにクローンすると、railway-mcp との完全な連携を活用できます。
- Cursor は変更を加えた後、GitHub へのプッシュを忘れることがあります。その場合、Railway が取得できないコミットをデプロイしようとします。
- 解決策: プロンプトに「変更を GitHub にプッシュしましたか?」と必ず尋ねるか、どこかに含めてください:
Have you pushed our changes to GitHub yet?
- 解決策: プロンプトに「変更を GitHub にプッシュしましたか?」と必ず尋ねるか、どこかに含めてください:
セキュリティに関する考慮事項
- Railway API トークンを使うと、アカウントに完全にアクセスできます。安全に保管してください。
- 環境変数を使う場合、トークンは Claude Desktop の設定ファイルに保存されます。
- 機密性の高い変数の値は、表示時に自動的にマスキングされます。
- すべての API 呼び出しでは、安全な通信のため HTTPS を使用します。
- サーバーではトークンをメモリ内にのみ保存するため、設定ファイル以外にディスクへ書き込まれることはありません。
トラブルシューティング
問題が発生した場合:
-
トークン認証の問題
- API トークンが有効で、必要な権限を持っていることを確認します。
- 環境変数を使っている場合は、設定ファイル内でトークンが正しくフォーマットされていることを確認します。
- 環境変数のトークンが機能しない場合は、Claude で
configureツールを直接使ってみてください。
-
サーバー接続の問題
- サーバーの最新バージョンをインストールしていることを確認します。
- Node.js バージョン 18 以降がインストールされていることを確認します。
- 設定を変更した後、Claude for Desktop を再起動します。
-
API エラー
- 正しいプロジェクト、環境、サービスの ID を使用していることを確認します。
- サービスの中断が発生していないか、Railway のステータスページを確認します。
- Railway API にはレート制限があります。短時間にリクエストを大量に送信しないでください。
コントリビューション
コミュニティからのコントリビューションを歓迎します!始め方、開発ガイドライン、デバッグ情報については、コントリビューションガイドラインをご覧ください。
利用可能なツール
すべて表示
認証
configure- Railway API トークンを設定します(環境変数で指定されていない場合にのみ必要です)
プロジェクト
project-list- アカウント内のすべてのプロジェクトを一覧表示しますproject-info- 特定のプロジェクトの詳細情報を取得しますproject-create- オプションでチーム ID を指定して、新しいプロジェクトを作成しますproject-delete- プロジェクトを削除しますproject-environments- プロジェクト内のすべての環境を一覧表示します
サービス
service-list- 特定のプロジェクト内のすべてのサービスを一覧表示しますservice-info- 特定のサービスの詳細情報を取得しますservice-create-from-repo- GitHub リポジトリから新しいサービスを作成しますservice-create-from-image- Docker イメージから新しいサービスを作成しますservice-delete- プロジェクトからサービスを削除しますservice-restart- 特定の環境でサービスを再起動しますservice-update- サービスの設定(ビルドコマンド、起動コマンドなど)を更新します | 🚧 テストが必要です
デプロイメント
deployment-list- サービスの最近のデプロイメントを一覧表示しますdeployment-trigger- サービスの新しいデプロイメントを開始しますdeployment-logs- 特定のデプロイメントのログを取得しますdeployment-health-check- デプロイメントの健全性/ステータスを確認します
変数
variable-list- サービスまたは環境の変数を一覧表示しますvariable-set- 変数を作成または更新しますvariable-delete- 変数を削除しますvariable-bulk-set- サービスの変数を一括更新します | 🚧 テストが必要ですvariable-copy- 環境間で変数をコピーします | 🚧 テストが必要です
データベース
database-list-types- デプロイ可能なすべてのデータベースの種類を一覧表示しますdatabase-deploy- 新しいデータベースサービスをデプロイします
ワークフローの例
新しいサービスのセットアップ
- プロジェクト ID を取得するために、プロジェクトを一覧表示します
- テンプレートから新しいサービスを作成します
- 環境変数を追加します
- サービスのデプロイメントを確認します
環境変数の管理
- プロジェクト ID を確認するために、プロジェクトを一覧表示します
- 現在設定されている内容を確認するために、変数を一覧表示します
- 必要に応じて変数を作成または更新します
- 不要になった変数を削除します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
