Railway MCP Server

DevOps

by jason-tan-swe

通过自然语言管理 Railway 基础设施,借助 Claude 等 MCP 客户端安全地部署、配置并监控各类服务。

什么是 Railway MCP Server

通过自然语言管理 Railway 基础设施,借助 Claude 等 MCP 客户端安全地部署、配置并监控各类服务。

核心功能 (38 个工具)

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

README

Railway MCP Server

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://avatars.githubusercontent.com/u/66716858?s=200&v=4" /> <source media="(prefers-color-scheme: light)" srcset="https://avatars.githubusercontent.com/u/66716858?s=200&v=4" /> <img alt="Railway" src="https://avatars.githubusercontent.com/u/66716858?s=200&v=4" height="40" /> </picture> &nbsp;&nbsp; <picture> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/38db1bcd-50df-4a49-a106-1b5afd924cb2" /> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/82603097-07c9-42bb-9cbc-fb8f03560926" /> <img alt="MCP" src="https://github.com/user-attachments/assets/82603097-07c9-42bb-9cbc-fb8f03560926" height="40" /> </picture> </p> <p align="center"> <strong> Let Claude and other MCP clients manage your Railway.app infrastructure. Deploy services, manage variables, and monitor deployments - all through natural language. </strong> </p> <p align="center"> <table align="center"> <th align="center"> Please Note: This is under development and not all features are available yet. 🚧 </th> </table> </p> <a href="https://glama.ai/mcp/servers/lwn74iwigz"> <img width="380" height="200" src="https://glama.ai/mcp/servers/lwn74iwigz/badge" alt="railway-mcp MCP server" /> </a>

A Model Context Protocol (MCP) server for integrating with the Railway.app platform.

smithery badge

MseeP.ai Security Assessment Badge

Verified on MseeP

Table of Contents

<p align="center"> <a href="#features">Features</a> • <a href="#installation">Installation</a> • <a href="#available-tools">Available Tools</a> • <a href="#example-workflows">Example Workflows</a> • <a href="#security-considerations">Security</a> • <a href="#troubleshooting">Troubleshooting</a> • <a href="#contributing">Contributing</a> </p>

Features

StatusMeaning
Complete
🚧🔨⏳Being Built or Needs Testing
Not Built at the moment
  • ✅ Authentication with Railway API tokens
  • ✅ Project management (list, info, delete)
  • ✅ Deployment management (list, restart)
  • ✅ Service management (create from GitHub repo or Docker image, list)
  • ✅ Variable management (list, create/update, delete)
  • ✅ Service Network management
  • ✅ Volume management
  • ❌ Full support for all templates
    • 🚧🔨⏳ Database template support
    • Automatic database and networking workflows
  • 🚧🔨⏳ Most commonly used workflows
  • ❌ Automatic GitHub repository linking for services

Installation

Prerequisites

Quick Start

This MCP server is designed to work with MCP Clients like:

  • Claude for Desktop | ✅ Battle-Tested
  • Cursor | ✅ Needs Testing
  • Cline | 🚧🔨⏳ Needs Testing
  • Windsurf | 🚧🔨⏳ Needs Testing
  • Other MCP Clients | 🚧🔨⏳ Needs Testing

Installing via Smithery

To install railway-mcp automatically, we recommend using Smithery

Claude Desktop

bash
npx -y @smithery/cli install @jason-tan-swe/railway-mcp --client claude

Cursor

code
npx -y @smithery/cli@latest run @jason-tan-swe/railway-mcp --config "{\"railwayApiToken\":\"token\"}"
<details> <summary> <h3>Manual Installation For Cursor</h3></summary>
  1. Head to your cursor settings and find the MCP section

  2. Click 'Add new MCP server'

  3. Name it however, you like, we recommend railway-mcp for better clarity

  4. Paste this command into the 'Command' section, where <RAILWAY_API_TOKEN> is your accounts Railway token:

bash
npx -y @jasontanswe/railway-mcp <RAILWAY_API_TOKEN>
</details> <details> <summary><h3>Manual Installation For Claude</h3></summary>
  1. Create or edit your Claude for Desktop config file:

    • macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the railway-mcp server to your configuration with your API token:

json
   "railway": {
      "command": "npx",
      "args": ["-y", "@jasontanswe/railway-mcp"],
      "env": {
         "RAILWAY_API_TOKEN": "your-railway-api-token-here"
      }
   }

When you have multiple MCP servers, your config file might look like this:

json
{
  "mcpServers": {
    // ... All of your existing MCP servers ...

    // Add the railway-mcp server to your configuration with your API token
    "railway": {
      "command": "npx",
      "args": ["-y", "@jasontanswe/railway-mcp"],
      "env": {
        "RAILWAY_API_TOKEN": "your-railway-api-token-here"
      }
    }
  }
}
  1. Restart Claude for Desktop

  2. You can now start using Railway tools directly in Claude. For example:

code
Please list all my Railway projects
  1. Alternatively, if you don't want to add your token to the configuration file, you can configure it within Claude using:
code
Please configure the Railway API with my token: {YOUR_API_TOKEN_HERE}
</details>

Recommendations and Other Information

This server best combines with MCP-clients that have access to terminal or with Git (Cursor, Windsurf). Using this MCP with others is recommended as railway-mcp orchestrates containers and streamlines your deployment process seamlessly.

Recommended MCP servers to combine with

For Claude

  • Out of the box, Claude does not have terminal access, so it cannot trigger deployments as it will not be able to get the latest commit.
  • Spinning up different services and monitoring them are the best use case with Claude.

For Cursor

  • Use with GitHub MCP or have the repository already setup on GitHub and cloned locally on your machine to leverage full integration with railway-mcp.
  • When Cursor makes a change, it may forget to push it's changes to GitHub causing it to try and deploy a commit that Railway cannot pull.
    • SOLUTION: Always ask or include somewhere in your prompt: Have you pushed our changes to GitHub yet?

Security Considerations

  • Railway API tokens provide full access to your account. Keep them secure.
  • When using the environment variable method, your token is stored in the Claude Desktop configuration file.
  • Sensitive variable values are automatically masked when displayed.
  • All API calls use HTTPS for secure communication.
  • The server's memory-only token storage means your token is never written to disk outside of the configuration file.

Troubleshooting

If you encounter issues:

  1. Token Authentication Issues

    • Ensure your API token is valid and has the necessary permissions
    • If using the environment variable method, check that the token is correctly formatted in the config file
    • Try using the configure tool directly in Claude if the environment token isn't working
  2. Server Connection Issues

    • Check that you've installed the latest version of the server
    • Verify that Node.js version 18 or higher is installed
    • Restart Claude for Desktop after making changes to the configuration
  3. API Errors

    • Verify that you're using correct project, environment, and service IDs
    • Check Railway's status page for any service disruptions
    • Railway API has rate limits - avoid making too many requests in a short period

Contributing

We welcome contributions from the community! Please see our Contributing Guidelines for details on how to get started, development guidelines, and debugging information.

</details>

Available Tools

<details> <summary>View All</summary>

Authentication

  • configure - Set your Railway API token (only needed if not provided in environment variables)

Projects

  • project-list - List all projects in your account
  • project-info - Get detailed information about a specific project
  • project-create - Create a new project with optional team ID
  • project-delete - Delete a project
  • project-environments - List all environments in a project

Services

  • service-list - List all services in a specific project
  • service-info - Get detailed information about a specific service
  • service-create-from-repo - Create a new service from a GitHub repository
  • service-create-from-image - Create a new service from a Docker image
  • service-delete - Delete a service from a project
  • service-restart - Restart a service in a specific environment
  • service-update - Update service configuration (build command, start command, etc.) | 🚧 Needs Testing

Deployments

  • deployment-list - List recent deployments for a service
  • deployment-trigger - Trigger a new deployment for a service
  • deployment-logs - Get logs for a specific deployment
  • deployment-health-check - Check the health/status of a deployment

Variables

  • variable-list - List variables for a service or environment
  • variable-set - Create or update a variable
  • variable-delete - Delete a variable
  • variable-bulk-set - Bulk update variables for a service | 🚧 Needs Testing
  • variable-copy - Copy variables between environments | 🚧 Needs Testing

Databases

  • database-list-types - List all available database types that can be deployed
  • database-deploy - Deploy a new database service
</details> <details> <summary>Example Workflows</summary>

Setting up a new service

  1. List projects to get the project ID
  2. Create a new service from a template
  3. Add environment variables
  4. View the service deployment

Managing environment variables

  1. List projects to find your project ID
  2. List variables to see what's currently set
  3. Create or update variables as needed
  4. Delete any obsolete variables
</details>

常见问题

Railway MCP Server 是什么?

通过自然语言管理 Railway 基础设施,借助 Claude 等 MCP 客户端安全地部署、配置并监控各类服务。

Railway MCP Server 提供哪些工具?

提供 38 个工具,包括 database_list_types、deployment_list、deployment_trigger

相关 Skills

可观测性设计

by alirezarezvani

Universal
热门

面向生产系统规划可落地的可观测性体系,串起指标、日志、链路追踪与 SLI/SLO、错误预算、告警和仪表盘设计,适合搭建监控平台与优化故障响应。

把监控、日志、链路追踪串起来,帮助团队从设计阶段构建可观测性,排障更快、系统演进更稳。

DevOps
未扫描9.8k

资深开发运维

by alirezarezvani

Universal
热门

覆盖 CI/CD 流水线生成、Terraform 基建脚手架和自动化部署,适合在 AWS、GCP、Azure 上搭建云原生发布流程,管理 Docker/Kubernetes 基础设施并持续优化交付。

把CI/CD、基础设施即代码、容器与监控串成一条交付链,尤其适合AWS/GCP/Azure多云团队高效落地。

DevOps
未扫描9.8k

环境密钥管理

by alirezarezvani

Universal
热门

统一梳理dev/staging/prod的.env和密钥流程,自动生成.env.example、校验必填变量、扫描Git历史泄漏,并联动Vault、AWS SSM、1Password、Doppler完成轮换。

统一管理环境变量、密钥与配置,减少泄露和部署混乱,安全治理与团队协作一起做好,DevOps 场景很省心。

DevOps
未扫描9.8k

相关 MCP Server

kubefwd

编辑精选

by txn2

热门

kubefwd 是让 AI 帮你批量转发 Kubernetes 服务到本地的开发神器。

微服务开发者最头疼的本地调试问题,它一键搞定——自动分配 IP 避免端口冲突,还能用自然语言查询状态。但依赖 AI 工作流,纯命令行爱好者可能觉得不够直接。

DevOps
4.1k

Cloudflare

编辑精选

by Cloudflare

热门

Cloudflare MCP Server 是让你用自然语言管理 Workers、KV 和 R2 等云资源的工具。

这个工具解决了开发者频繁切换控制台和文档的痛点,特别适合那些在 Cloudflare 上部署无服务器应用、需要快速调试或管理配置的团队。不过,由于它依赖多个子服务器,初次设置可能有点繁琐,建议先从 Workers Bindings 这类核心功能入手。

DevOps
3.6k

Terraform

编辑精选

by hashicorp

Terraform MCP Server 是让 AI 助手直接操作 Terraform Registry 和 HCP Terraform 的桥梁。

如果你经常在 Terraform 里翻文档找模块配置,这个服务器能省不少时间——直接问 Claude 就能生成准确的代码片段。最适合管理多云基础设施的团队,但注意它目前只适合本地使用,别在生产环境里暴露 HTTP 端点。

DevOps
1.3k

评论