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.
[!IMPORTANT]
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.
Installation
Cursor
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-server
Example 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 now
Deploy 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 database
Deploy a single node Clickhouse database
Pulling environment variables
I would like to pull environment variables for my project and save them in a .env file
Creating 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 environment
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 in
- Project Management
list-projects
- List all Railway projects
create-project-and-link
- Create a new project and link it to the current directory
- Service Management
list-services
- List all services in a project
link-service
- Link a service to the current directory
deploy
- Deploy a service
deploy-template
- Deploy a template from the Railway Template Library
- Environment Management
create-environment
- Create a new environment
link-environment
- Link an environment to the current directory
- Configuration & Variables
list-variables
- List environment variables
set-variables
- Set environment variables
generate-domain
- Generate a railway.app domain for a project
- Monitoring & Logs
get-logs
- Retrieve build or deployment logs for a service
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-server
-
Install dependencies
pnpm install
-
Start the development server
pnpm dev
This 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.js
with 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"],
}
}
}