railway-mcp
Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
RAILWAY_API_TOKEN | Yes | Your Railway API token (create one at https://railway.app/account/tokens) |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
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, service_update |
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 |