railway-mcp

by jason-tan-swe
Verified

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
RAILWAY_API_TOKENYesYour Railway API token (create one at https://railway.app/account/tokens)

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
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