Railway MCP

公式

Railway MCP Serverを使用すると、Railwayのプロジェクトやインフラストラクチャに対して自然言語で操作できます。IDEやAIアシスタントに指示して、プロジェクトの作成、テンプレートのデプロイ、環境の管理、変数の取得、サービスの再デプロイなどを行うことができます。

Railway MCPで何ができますか?

  • アプリの作成とデプロイ — Next.js アプリの雛形作成、デプロイ、ドメイン割り当てを create_projectgenerate_domain で依頼できます。
  • テンプレートからのデプロイsearch_templatesdeploy_template を使用して、Postgres などの既製テンプレートを検索・デプロイできます。
  • 環境変数の管理list_variablesset_variables を使用して、変数を .env ファイルに取り込んだり、設定したりできます。
  • サービスの再デプロイredeploy ツールを使用して、特定の環境でサービスの再デプロイをトリガーします。
  • 失敗したデプロイのデバッグ — 自然言語でのデバッグ要求を railway-agent に渡して、クラッシュの原因を診断します。
  • フィーチャーフラグの管理list-feature-flagsset-feature-flag を使用して、プロジェクトのフィーチャーフラグを一覧表示、取得、設定します。

ドキュメント

Railway MCP ServerはModel Context Protocol (MCP)を実装しています。AIアシスタントがプロジェクトの作成、テンプレートのデプロイ、環境の管理、変数の取得、サービスの再デプロイを行うことができます。

Railwayは2つのMCPサーバーを提供しています:

  • Local MCPは、お使いのマシン上のRailway CLIを通じて実行され、ローカルのCLIコンテキストを使用します。
  • Remote MCPmcp.railway.comで実行されます。OAuthを使用して直接接続するか、railway mcp proxyを実行してrailway loginセッションの認証情報を再利用します。

クイックスタート

Railway CLIをインストールし、エージェントスキル、MCP、認証を1つのコマンドで設定します。オプションを選択してセットアップコマンドを生成してください:

CLIがすでにインストールされている場合は、ブートストラップをスキップして次を実行します:

railway setup agent                  # Local MCP
railway setup agent --remote         # Remote MCP through the CLI proxy
railway setup agent --remote --oauth # Remote MCP with OAuth

エディターごとの手動設定、利用可能なツール一覧、セキュリティに関する考慮事項については、以下をお読みください。

エディターごとの設定

エディターを手動で設定したい場合、またはrailway mcp installが書き込む内容を確認したい場合は、セレクターを使用して、ローカルstdio、CLIプロキシ経由のRemote MCP、OAuthを使用したRemote MCPを切り替えてください:

railway mcp installは、他のMCPサーバーを削除せずにRailwayサーバーのエントリを既存の設定にマージします。更新する場合はいつでも再実行してください。

MCPについて

**Model Context Protocol (MCP)**は、AIアプリケーション(ホスト)がクライアント・サーバーアーキテクチャを通じて外部ツールやデータソースと対話する方法の標準を定義します。

  • ホスト: Cursor、VS Code、Claude Code、Windsurfなど、MCPサーバーに接続するアプリケーション。
  • クライアント: 個々のMCPサーバーとの1対1の接続を維持するホスト内のレイヤー。
  • サーバー: 外部システムを管理するためのツールとワークフローを公開するスタンドアロンプログラム(Railway MCP Serverなど)。

Local MCPサーバーは、自然言語のリクエストをRailway CLIを利用したCLIワークフローに変換します。Remote MCPはRailwayのインフラストラクチャ上で実行され、OAuthをサポートしています。CLIプロキシは、railway loginセッションの認証情報をRemote MCPに渡すことで、もう1つの接続経路を提供します。

前提条件

サーバーと認証方法によって、必要なローカルツールと認証情報が決まります。

  • Local MCPには、インストール済みで認証済みのRailway CLIが必要です。
  • Remote MCPにはRailwayアカウントが必要です。直接OAuthではCLIは不要です。CLIプロキシでは、インストール済みのCLIとrailway loginセッションが必要で、それらの認証情報を再利用できます。

使用例

エージェントに実現させたいRailwayの成果を説明するプロンプトを使用してください。

  • 新しいアプリの作成とデプロイ

    Create a Next.js app in this directory and deploy it to Railway.
    Also assign it a domain.
    
  • テンプレートからのデプロイ

    Deploy a Postgres database
    
  • 環境変数の取得

    Pull environment variables for my project and save them to a .env file
    
  • 失敗したデプロイのデバッグ(リモート専用のrailway-agentツール)

    Use the railway agent to figure out why my backend service is
    crashing on deploy
    
  • サービスの再デプロイ

    Redeploy my api service in the production environment
    
  • フィーチャーフラグの管理

    List feature flags for project <projectId>
    
    Set the checkout-v2 feature flag to true on project <projectId>
    

利用可能なMCPツール

Railway MCP Serverは以下のツールを公開しています。AIアシスタントはリクエストに基づいてツールを選択します。

Local MCP

Local MCPはRailway CLIを通じて実行され、以下のツールを公開しています:

  • アカウント: whoami
  • プロジェクトとサービス: list_workspaceslist_projectscreate_projectlist_servicescreate_serviceremove_serviceconnect_service_sourcedisconnect_service_sourcelink_serviceget_service_configupdate_service、およびscale_service
  • 環境とデプロイ: create_environmentlink_environmentenvironment_statuslist_deployments、およびdeploy
  • 変数: list_variablesset_variables、および add_reference_variable
  • ドメイン: generate_domainlist_domainsdomain_statusupdate_domaindelete_domain、およびretry_domain_certificate
  • ネットワーキング: list_tcp_proxiesget_tcp_proxycreate_tcp_proxyremove_tcp_proxyprivate_network_status、およびprivate_network_update
  • テンプレート: search_templatesおよびdeploy_template
  • ストレージ: create_bucketremove_bucketcreate_volumeupdate_volume、およびremove_volume
  • 可観測性: get_logsservice_metricshttp_requestshttp_error_rate、およびhttp_response_time
  • ドキュメント: docs_searchおよびdocs_fetch

Remote MCP

Remote MCPは以下のツールを公開しています。複数ステップの操作にはrailway-agentを使用してください。

  • アカウント
    • whoami
  • プロジェクト
    • list-projectscreate-projectlist-services
  • フィーチャーフラグ
    • list-feature-flagsget-feature-flag
    • set-feature-flagdelete-feature-flag(管理者用。破壊的な削除はプロトコルレベルでマークされます)
  • デプロイ
    • redeploy
    • accept-deploy: ステージングされた変更をコミットしてデプロイ(破壊的。クライアントは確認を求めます)
  • エージェント
    • railway-agent: ログ分析、デバッグ、サービス設定などの複数ステップの操作をRailwayのAIエージェントに自然言語のリクエストとして渡します

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

Railway MCP Serverは、ユーザーに代わってCLIコマンドを実行したり、Railway APIを呼び出したりします。Local MCPは、破壊的なツールをプロトコルレベルのヒントでマークし、confirm: trueを要求する前にプレビューを返します。それでも以下のことを行う必要があります:

  • アクションの確認: LLMが要求したアクションを承認する前に確認します。特に破壊的なアクション(remove_servicedelete_domainremove_tcp_proxyremove_bucketremove_volumeredeployaccept-deploy、およびrailway-agent)は注意が必要です。
  • アクセスの制限: 信頼できるユーザーのみがMCPサーバーを呼び出せるようにします。
  • 本番環境のリスク回避: 可能な限り、重要でない環境での使用に限定します。

Remote MCPの場合:

  • CLIプロキシ認証。 プロキシはrailway loginの認証情報を読み取り、更新します。エディター設定には長期間有効なRailwayの認証情報は含まれません。
  • OAuthスコープ。 直接OAuthでは、クライアントがアクセスできるワークスペースとプロジェクトを選択できます。トークンは短期間有効で、Railwayアカウント設定から失効させることができます。
  • 破壊的なアクションはプロトコルレベルでマークされます。これらのヒントを尊重するクライアントは確認を求めます。
  • プロジェクトトークンは受け付けられません。 Remote MCPでは、請求と監査証跡のためにユーザーIDが必要です。

機能リクエスト

機能リクエストは、Railway MCP Server Central Stationの投稿で共有してください。