The Railway MCP Server is an experimental local server that provides opinionated workflows and tools for efficiently managing Railway resources. Key capabilities include:
CLI Integration: Verify Railway CLI installation and user login status
Project Management: Create, list, and link projects to your current directory
Service Management: List, link, and deploy services from your directory or Railway Template Library using fuzzy search
Environment Management: Create, link, and manage environments with options to duplicate existing environments and configure service variables
Configuration & Variables: List, set, and manage environment variables, plus generate
railway.appdomains for projects or servicesMonitoring & Logs: Retrieve build or deployment logs with options to specify deployment ID, service, and environment
IDE Integration: Supports setup and usage with Cursor and VSCode
Provides comprehensive tools for managing Railway infrastructure including project and service management, deployments from templates, environment configuration, domain generation, and monitoring through build/deployment logs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Railway MCP Serverdeploy a Postgres database for my new project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Railway MCP Server
A Model Context Protocol (MCP) server for interacting with your Railway account. This is a local MCP server provides a set of opinionated workflows and tools for managing Railway resources.
The MCP server doesn't include destructive actions by design, that said, you should still keep an eye on which tools and commands are being executed.
Prerequisites
The Railway CLI is required for this server to function.
Related MCP server: Caltrain MCP Server
Installation
You can install the MCP server by running the following command:
npx add-mcp @railway/mcp-server --name railwayCursor
You can add the Railway MCP Server to Cursor by clicking the button below.
Alternatively, you can add the following configuration to .cursor/mcp.json
{
"mcpServers": {
"railway-mcp-server": {
"command": "npx",
"args": ["-y", "@railway/mcp-server"]
}
}
}VS Code:
Add the following configuration to .vscode/mcp.json
{
"servers": {
"railway-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@railway/mcp-server"]
}
}
}Claude Code:
claude mcp add railway-mcp-server -- npx -y @railway/mcp-serverExample Usage
Creating a new project, deploying it, and generating a domain
Create a Next.js app in this directory and deploy it to Railway. Make sure to also assign it a domain. Since we're starting from scratch, there is no need to pull information about the deployment or build for nowDeploy a from a template (database, queue, etc.). Based on your prompt, the appropriate template will be selected and deployed. In case of multiple templates, the agent will pick the most appropriate one. Writing a detailed prompt will lead to a better selection. Check out all of the available templates.
Deploy a Postgres databaseDeploy a single node Clickhouse databasePulling environment variables
I would like to pull environment variables for my project and save them in a .env fileCreating a new environment and setting it as the current linked environment
I would like to create a new development environment called `development` where I can test my changes. This environment should duplicate production. Once the environment is created, I want to set it as my current linked environmentCLI Version Detection
The MCP server automatically detects your Railway CLI version to use the appropriate features.
Available MCP Tools
The Railway MCP Server provides the following tools for managing your Railway infrastructure:
check-railway-status- Checks that the Railway CLI is installed and that the user is logged inProject Management
list-projects- List all Railway projectscreate-project-and-link- Create a new project and link it to the current directory
Service Management
list-services- List all services in a projectlink-service- Link a service to the current directorydeploy- Deploy a servicedeploy-template- Deploy a template from the Railway Template Library
Environment Management
create-environment- Create a new environmentlink-environment- Link an environment to the current directory
Configuration & Variables
list-variables- List environment variablesset-variables- Set environment variablesgenerate-domain- Generate a railway.app domain for a project
Monitoring & Logs
get-logs- Retrieve build or deployment logs for a serviceRailway CLI v4.9.0+: Supports
linesparameter to limit output andfilterparameter for searching logsOlder CLI versions: Will stream logs without filtering capabilities
Development
Prerequisites
Node.js >= 20.0.0
pnpm >= 10.14.0
Clone the repository
git clone https://github.com/railwayapp/railway-mcp-server.git cd railway-mcp-serverInstall dependencies
pnpm installStart the development server
pnpm devThis command will generate a build under
dist/and automatically rebuild after making changes.Configure your MCP client
Add the following configuration to your MCP client (e.g., Cursor, VSCode) and replace
/path/to/railway-mcp-server/dist/index.jswith the actual path to your built server.Cursor:
.cursor/mcp.json{ "mcpServers": { "railway-mcp-server": { "command": "node", "args": ["/path/to/railway-mcp-server/dist/index.js"] } } }VSCode:
.vscode/mcp.json{ "servers": { "railway-mcp-server": { "type": "stdio", "command": "node", "args": ["/path/to/railway-mcp-server/dist/index.js"] } } }For Claude Code:
claude mcp add railway-mcp-server node /path/to/railway-mcp-server/railway-mcp-server/dist/index.js