
Railway
STDIORailway云平台管理和部署自动化MCP服务器
Railway云平台管理和部署自动化MCP服务器
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] This is an experimental project (like really experimental). You should expect bugs and missing features. 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.
The Railway CLI is required for this server to function.
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"], } } }
Add the following configuration to .vscode/mcp.json
{ "servers": { "railway-mcp-server": { "type": "stdio", "command": "npx", "args": ["-y", "@railway/mcp-server"], } } }
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
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 inlist-projects
- List all Railway projectscreate-project-and-link
- Create a new project and link it to the current directorylist-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 Librarycreate-environment
- Create a new environmentlink-environment
- Link an environment to the current directorylist-variables
- List environment variablesset-variables
- Set environment variablesgenerate-domain
- Generate a railway.app domain for a projectget-logs
- Retrieve build or deployment logs for a serviceClone 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"], } } }