railway-mcp

jason-tan-swe/railway-mcp

3.5

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

No resources