Railway MCP
About
The Railway MCP Server enables natural language interaction with your Railway projects and infrastructure. Ask your IDE or AI assistant to create projects, deploy templates, manage environments, pull variables, redeploy services, and more.
Details
- Transport
- SSE
Explore
database_list_types
[QUERY] List all available database types that can be deployed using Railway's official templates ⚡️ Best for: ✓ Discovering supported database types ✓ Planning database deployments ✓ Checking template availability ⚠️ Not for: × Listing existing databases × Getting database connection details → Alternatives: service_create_from_image → Next steps: database_deploy → Related: database_deploy, service_create_from_image
database_deploy_from_template
[WORKFLOW] Deploy a pre-configured database using Railway's official templates and best practices ⚡️ Best for: ✓ Standard database deployments ✓ Quick setup with security defaults ✓ Common database types (PostgreSQL, MongoDB, Redis) ⚠️ Not for: × Custom database versions × Complex configurations × Unsupported database types → Prerequisites: database_list_types → Alternatives: service_create_from_image → Next steps: variable_list, service_info → Related: volume_create, servic…
deployment_list
[API] List recent deployments for a service in a specific environment ⚡️ Best for: ✓ Viewing deployment history ✓ Monitoring service updates → Prerequisites: service_list → Next steps: deployment_logs, deployment_trigger → Related: service_info, service_restart
deployment_trigger
[API] Trigger a new deployment for a service ⚡️ Best for: ✓ Deploying code changes ✓ Applying configuration updates ✓ Rolling back to previous states ⚠️ Not for: × Restarting services (use service_restart) × Updating service config (use service_update) × Database changes → Prerequisites: service_list → Alternatives: service_restart → Next steps: deployment_logs, deployment_status → Related: variable_set, service_update
deployment_logs
[API] Get logs for a specific deployment ⚡️ Best for: ✓ Debugging deployment issues ✓ Monitoring deployment progress ✓ Checking build output ⚠️ Not for: × Service runtime logs × Database logs → Prerequisites: deployment_list → Next steps: deployment_status → Related: service_info, deployment_trigger
deployment_status
[API] Check the current status of a deployment ⚡️ Best for: ✓ Monitoring deployment progress ✓ Verifying successful deployments ✓ Checking for deployment failures ⚠️ Not for: × Service runtime logs × Database logs → Prerequisites: deployment_list, deployment_trigger → Next steps: deployment_logs → Related: service_info, service_restart, deployment_wait
domain_list
[API] List all domains (both service and custom) for a service ⚡️ Best for: ✓ Viewing service endpoints ✓ Managing domain configurations ✓ Auditing domain settings → Prerequisites: service_list → Next steps: domain_create, domain_update → Related: service_info, tcp_proxy_list
domain_create
[API] Create a new domain for a service ⚡️ Best for: ✓ Setting up custom domains ✓ Configuring service endpoints ✓ Adding HTTPS endpoints ⚠️ Not for: × TCP proxy setup (use tcp_proxy_create) × Internal service communication → Prerequisites: service_list, domain_check → Alternatives: tcp_proxy_create → Next steps: domain_update → Related: service_info, domain_list
domain_check
[API] Check if a domain is available for use ⚡️ Best for: ✓ Validating domain availability ✓ Pre-deployment checks ✓ Domain planning → Next steps: domain_create → Related: domain_list
domain_update
[API] Update a domain's configuration ⚡️ Best for: ✓ Changing target ports ✓ Updating domain settings ✓ Reconfiguring endpoints ⚠️ Not for: × Changing domain names (delete and recreate instead) × TCP proxy configuration → Prerequisites: domain_list → Next steps: domain_list → Related: service_update
domain_delete
[API] Delete a domain from a service ⚡️ Best for: ✓ Removing unused domains ✓ Cleaning up configurations ✓ Domain management ⚠️ Not for: × Temporary domain disabling × Port updates (use domain_update) → Prerequisites: domain_list → Alternatives: domain_update → Related: service_update
project_list
[API] List all projects in your Railway account ⚡️ Best for: ✓ Getting an overview of all projects ✓ Finding project IDs ✓ Project discovery and management → Next steps: project_info, service_list → Related: project_create, project_delete
project_info
[API] Get detailed information about a specific Railway project ⚡️ Best for: ✓ Viewing project details and status ✓ Checking environments and services ✓ Project configuration review → Prerequisites: project_list → Next steps: service_list, variable_list → Related: project_update, project_delete
project_create
[API] Create a new Railway project ⚡️ Best for: ✓ Starting new applications ✓ Setting up development environments ✓ Creating project spaces ⚠️ Not for: × Duplicating existing projects → Next steps: service_create_from_repo, service_create_from_image, database_deploy → Related: project_delete, project_update
project_delete
[API] Delete a Railway project and all its resources ⚡️ Best for: ✓ Removing unused projects ✓ Cleaning up test projects ⚠️ Not for: × Temporary project deactivation × Service-level cleanup (use service_delete) → Prerequisites: project_list, project_info → Alternatives: service_delete → Related: project_create
project_environments
List all environments in a project
service_list
[API] List all services in a specific Railway project ⚡️ Best for: ✓ Getting an overview of a project's services ✓ Finding service IDs ✓ Checking service status → Prerequisites: project_list → Next steps: service_info, deployment_list → Related: project_info, variable_list
service_info
[API] Get detailed information about a specific service ⚡️ Best for: ✓ Viewing service configuration and status ✓ Checking deployment details ✓ Monitoring service health → Prerequisites: service_list → Next steps: deployment_list, variable_list → Related: service_update, deployment_trigger
service_create_from_repo
[API] Create a new service from a GitHub repository ⚡️ Best for: ✓ Deploying applications from source code ✓ Services that need build processes ✓ GitHub-hosted projects ⚠️ Not for: × Pre-built Docker images (use service_create_from_image) × Database deployments (use database_deploy) × Static file hosting → Prerequisites: project_list → Alternatives: service_create_from_image, database_deploy → Next steps: variable_set, service_update → Related: deployment_trigger, service_info
service_create_from_image
[API] Create a new service from a Docker image ⚡️ Best for: ✓ Custom database deployments ✓ Pre-built container deployments ✓ Specific version requirements ⚠️ Not for: × Standard database deployments (use database_deploy) × GitHub repository deployments (use service_create_from_repo) × Services needing build process → Prerequisites: project_list → Alternatives: database_deploy, service_create_from_repo → Next steps: variable_set, service_update, tcp_proxy_create → Related: v…
service_update
[API] Update a service's configuration ⚡️ Best for: ✓ Changing service settings ✓ Updating resource limits ✓ Modifying deployment configuration ⚠️ Not for: × Updating environment variables (use variable_set) × Restarting services (use service_restart) × Triggering new deployments (use deployment_trigger) → Prerequisites: service_list, service_info → Next steps: deployment_trigger → Related: service_restart, variable_set
service_delete
[API] Delete a service from a project ⚡️ Best for: ✓ Removing unused services ✓ Cleaning up test services ✓ Project reorganization ⚠️ Not for: × Temporary service stoppage (use service_restart) × Updating service configuration (use service_update) → Prerequisites: service_list, service_info → Alternatives: service_restart → Related: project_delete
service_restart
[API] Restart a service in a specific environment ⚡️ Best for: ✓ Applying configuration changes ✓ Clearing service state ✓ Resolving runtime issues ⚠️ Not for: × Deploying new code (use deployment_trigger) × Updating service config (use service_update) × Long-term service stoppage (use service_delete) → Prerequisites: service_list → Alternatives: deployment_trigger → Related: service_info, deployment_logs
tcp_proxy_list
[API] List all TCP proxies for a service in a specific environment ⚡️ Best for: ✓ Viewing TCP proxy configurations ✓ Managing external access ✓ Auditing service endpoints → Prerequisites: service_list → Next steps: tcp_proxy_create → Related: domain_list, service_info
tcp_proxy_create
[API] Create a new TCP proxy for a service ⚡️ Best for: ✓ Setting up database access ✓ Configuring external connections ✓ Exposing TCP services ⚠️ Not for: × HTTP/HTTPS endpoints (use domain_create) × Internal service communication → Prerequisites: service_list → Alternatives: domain_create → Next steps: tcp_proxy_list → Related: service_info, service_update
tcp_proxy_delete
[API] Delete a TCP proxy ⚡️ Best for: ✓ Removing unused proxies ✓ Security management ✓ Endpoint cleanup ⚠️ Not for: × Temporary proxy disabling × Port updates → Prerequisites: tcp_proxy_list → Related: service_update
list_service_variables
[API] List all environment variables for a service ⚡️ Best for: ✓ Viewing service configuration ✓ Auditing environment variables ✓ Checking connection strings → Prerequisites: service_list → Next steps: variable_set, variable_delete → Related: service_info, variable_bulk_set
variable_set
[API] Create or update an environment variable ⚡️ Best for: ✓ Setting configuration values ✓ Updating connection strings ✓ Managing service secrets ⚠️ Not for: × Bulk variable updates (use variable_bulk_set) × Temporary configuration changes → Prerequisites: service_list → Alternatives: variable_bulk_set → Next steps: deployment_trigger, service_restart → Related: variable_list, variable_delete
variable_delete
[API] Delete a variable for a service in a specific environment ⚡️ Best for: ✓ Removing unused configuration ✓ Security cleanup ✓ Configuration management ⚠️ Not for: × Temporary variable disabling × Bulk variable removal → Prerequisites: service_list → Next steps: deployment_trigger, service_restart → Related: variable_list, variable_set
variable_bulk_set
[WORKFLOW] Create or update multiple environment variables at once ⚡️ Best for: ✓ Migrating configuration between services ✓ Initial service setup ✓ Bulk configuration updates ⚠️ Not for: × Single variable updates (use variable_set) × Temporary configuration changes → Prerequisites: service_list → Alternatives: variable_set → Next steps: deployment_trigger, service_restart → Related: variable_list, service_update
variable_copy
[WORKFLOW] Copy variables from one environment to another ⚡️ Best for: ✓ Environment migration ✓ Configuration sharing ✓ Environment duplication ⚠️ Not for: × Single variable updates (use variable_set) × Temporary configuration changes → Prerequisites: service_list → Alternatives: variable_set → Next steps: deployment_trigger, service_restart → Related: variable_list, service_update
configure_api_token
[UTILITY] Configure the Railway API token for authentication (only needed if not set in environment variables) ⚡️ Best for: ✓ Initial setup ✓ Token updates ✓ Authentication configuration ⚠️ Not for: × Project configuration × Service settings × Environment variables → Next steps: project_list, service_list → Related: project_create
volume_list
[API] List all volumes in a project ⚡️ Best for: ✓ Viewing persistent storage configurations ✓ Managing data volumes ✓ Auditing storage usage → Prerequisites: project_list → Next steps: volume_create → Related: service_info, database_deploy
volume_create
[API] Create a new persistent volume for a service ⚡️ Best for: ✓ Setting up database storage ✓ Configuring persistent data ✓ Adding file storage ⚠️ Not for: × Temporary storage needs × Static file hosting × Memory caching → Prerequisites: service_list → Next steps: volume_list → Related: service_update, database_deploy
volume_update
Update a volume's properties
volume_delete
[API] Delete a volume from a service ⚡️ Best for: ✓ Removing unused storage ✓ Storage cleanup ✓ Resource management ⚠️ Not for: × Temporary data removal × Data backup (use volume_backup first) → Prerequisites: volume_list → Related: service_update
- Create and deploy apps— Ask to scaffold a Next.js app, deploy it, and assign a domain viacreate_projectandgenerate_domain.
- Deploy from templates— Search and deploy ready-made templates like Postgres usingsearch_templatesanddeploy_template.
- Manage environment variables— Pull variables into a.envfile or set them withlist_variablesandset_variables.
- Redeploy services— Trigger a redeploy of a service in a specific environment with theredeploytool.
- Debug failing deployments— Hand a natural-language debugging request torailway-agentto diagnose crashes.
- Manage feature flags— List, get, or set feature flags on a project vialist-feature-flagsandset-feature-flag.
The Railway MCP Server implements theModel Context Protocol (MCP). It lets AI assistants create projects, deploy templates, manage environments, pull variables, and redeploy services.
- Local MCPruns through theRailway CLIon your machine and uses local CLI context.
- Remote MCPruns atmcp.railway.com. Connect directly using OAuth, or runrailway mcp proxyto reuse credentials from yourrailway loginsession.
Install the Railway CLI and configure agent skills, MCP, and authentication in one command. Select the options to generate the setup command:
If the CLI is already installed, skip the bootstrap and run:
railway setup agent # Local MCP railway setup agent --remote # Remote MCP through the CLI proxy railway setup agent --remote --oauth # Remote MCP with OAuth
Read on for per-editor manual configuration, the available tool list, and security considerations.
If you'd rather configure an editor manually, or want to inspect whatrailway mcp installwrites, use the selector to switch between local stdio, Remote MCP through the CLI proxy, and Remote MCP with OAuth:
railway mcp installmerges the Railway server entry into existing configs without removing other MCP servers. Re-run it any time to update.
TheModel Context Protocol (MCP)defines a standard for how AI applications (hosts) can interact with external tools and data sources through a client-server architecture.
- Hosts: Applications such as Cursor, VS Code, Claude Code, or Windsurf that connect to MCP servers.
- Clients: The layer within hosts that maintains one-to-one connections with individual MCP servers.
- Servers: Standalone programs (like the Railway MCP Server) that expose tools and workflows for managing external systems.
The Local MCP server translates natural language requests into CLI workflows powered by theRailway CLI. Remote MCP runs on Railway's infrastructure and supports OAuth. The CLI proxy provides another connection path by passing credentials from yourrailway loginsession to Remote MCP.
The server and authentication method determine which local tools and credentials you need.
- Local MCPrequires an installed and authenticatedRailway CLI.
- Remote MCPrequires aRailway account. Direct OAuth doesn't require the CLI. The CLI proxy requires an installed CLI and arailway loginsession so it can reuse those credentials.
Use prompts that describe the Railway outcome you want the agent to produce.
Create a Next.js app in this directory and deploy it to Railway. Also assign it a domain.
Pull environment variables for my project and save them to a .env file
Debug a failing deployment(remote-onlyrailway-agenttool)
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>
The Railway MCP Server exposes the following tools. Your AI assistant selects tools based on your request.
Local MCP runs through the Railway CLI and exposes these tools:
- Account:whoami
- Projects and services:list_workspaces,list_projects,create_project,list_services,create_service,remove_service,connect_service_source,disconnect_service_source,link_service,get_service_config,update_service, andscale_service
- Environments and deployments:create_environment,link_environment,environment_status,list_deployments, anddeploy
- Variables:list_variables,set_variables, andadd_reference_variable
- Domains:generate_domain,list_domains,domain_status,update_domain,delete_domain, andretry_domain_certificate
- Networking:list_tcp_proxies,get_tcp_proxy,create_tcp_proxy,remove_tcp_proxy,private_network_status, andprivate_network_update
- Templates:search_templatesanddeploy_template
- Storage:create_bucket,remove_bucket,create_volume,update_volume, andremove_volume
- Observability:get_logs,service_metrics,http_requests,http_error_rate, andhttp_response_time
- Documentation:docs_searchanddocs_fetch
Remote MCP exposes the following tools. Userailway-agentfor multi-step operations.
- list-projects,create-project,list-services
- list-feature-flags,get-feature-flag
- set-feature-flag,delete-feature-flag(admin; destructive delete is marked at the protocol level)
- redeploy
- accept-deploy: commit staged changes and deploy (destructive; clients prompt for confirmation)
- railway-agent: hand a natural-language request to Railway's AI agent for multi-step operations like log analysis, debugging, and service configuration
The Railway MCP Server runs CLI commands or invokes Railway APIs on your behalf. Local MCP marks destructive tools with protocol-level hints and returns a preview before requiringconfirm: true. You should still:
- Review actionsrequested by the LLM before approving them, especially destructive ones (remove_service,delete_domain,remove_tcp_proxy,remove_bucket,remove_volume,redeploy,accept-deploy, andrailway-agent).
- Restrict accessto ensure only trusted users can invoke the MCP server.
- Avoid production risksby limiting usage to non-critical environments where possible.
- CLI proxy authentication.The proxy reads and refreshes yourrailway logincredentials. Editor configuration doesn't contain a long-lived Railway credential.
- OAuth scoping.With direct OAuth, you choose which workspaces and projects the client can access. Tokens are short-lived and can be revoked from your Railway account settings.
- Destructive actionsare marked at the protocol level. Clients that respect these hints will prompt for confirmation.
- Project tokens are not accepted.Remote MCP requires a user identity for billing and audit trails.
Share feature requests on theRailway MCP Server Central Station post.
Railway runs an official remote MCP server — connect over a hosted URL instead of installing this one locally.
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
The Shipyard CLI provides an MCP server for agents to manage Shipyard environments directly: by pulling logs, comparing branches, running tests, and stopping/starting environments..
A Nix-based configuration framework for deploying MCP servers with ready-to-use packages, supporting modular and reproducible builds.
Paid remote MCP for Skybridge, structured receipts, usage logs, and audit-ready JSON evidence.
All Azure MCP tools in a single server. The Azure MCP Server implements the MCP specification to create a seamless connection between AI agents and Azure services. Azure MCP Server can be used alone or with the GitHub Copilot for Azure extension in VS Code.
Access and interact with Harness platform data, including pipelines, repositories, logs, and artifact registries.
An SSE-based MCP server that allows LLM-powered applications to interact with OCI registries. It provides tools for retrieving information about container images, listing tags, and more.
The Octopus MCP Server provides your AI assistant with powerful tools that allow it to inspect, query, and diagnose problems within your Octopus instance, transforming it into your ultimate DevOps wingmate.
Secure virtual machines for agents hosted by Superserve
HashiCorp Terraform MCP server for Infrastructure as Code workflows, including provider and module discovery through the Terraform Registry.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



