jason-tan-swe/railway-mcp
If you are the rightful owner of railway-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Railway MCP Server is a Model Context Protocol server designed to integrate with the Railway.app platform, allowing users to manage infrastructure through natural language commands.
Tools
Functions exposed to the LLM to take actions
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
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: volume_create, deployment_trigger
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
template_list
[API] List all available templates on Railway
⚡️ Best for: ✓ Discovering available templates ✓ Planning service deployments ✓ Finding template IDs and sources
⚠️ Not for: × Listing existing services × Getting service details
→ Alternatives: service_create_from_repo, service_create_from_image
→ Next steps: service_create_from_template
→ Related: database_list_types
template_deploy
[WORKFLOW] Deploy a new service from a template
⚡️ Best for: ✓ Starting new services from templates ✓ Quick service deployment ✓ Using pre-configured templates
⚠️ Not for: × Custom service configurations × GitHub repository deployments (use service_create_from_repo)
→ Prerequisites: template_list
→ Alternatives: service_create_from_repo, service_create_from_image, database_deploy
→ Next steps: service_info, variable_list
→ Related: service_update, deployment_trigger
template_get_workflow_status
[API] Get the status of a workflow
⚡️ Best for: ✓ Checking workflow status
⚠️ Not for: × Creating new services
→ Next steps: service_info
→ Related: template_list, template_deploy
Prompts
Interactive templates invoked by user choice
No prompts
Resources
Contextual data attached and managed by the client