Railway MCP Server
A Model Context Protocol (MCP) server that gives Claude (and other MCP-compatible AI tools) full access to your Railway.app infrastructure. Deploy, manage services, check logs, configure environment variables — all through natural conversation.
README
Railway MCP Server
A Model Context Protocol (MCP) server that gives Claude (and other MCP-compatible AI tools) full access to your Railway.app infrastructure. Deploy, manage services, check logs, configure environment variables — all through natural conversation.
Supports multiple workspaces — use one token per workspace and the server merges results across all of them.
Quick Start
1. Get Railway API Tokens
Go to railway.com/account/tokens and create a workspace-scoped token for each workspace you want to access. Tokens scoped to "No workspace" can only see account-level info, not projects.
2. Install & Build
cd railway-mcp-server
npm install
npm run build
3. Configure in Claude Desktop
Open your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Multiple workspaces (recommended)
Use named env vars — one per workspace:
{
"mcpServers": {
"railway": {
"command": "node",
"args": ["/FULL/PATH/TO/railway-mcp-server/build/index.js"],
"env": {
"RAILWAY_TOKEN_MYCOMPANY": "token-scoped-to-company-workspace",
"RAILWAY_TOKEN_PERSONAL": "token-scoped-to-personal-workspace"
}
}
}
}
The label after RAILWAY_TOKEN_ becomes the workspace name in results (e.g. mycompany, personal).
Single workspace
If you only need one workspace, you can use the simpler format:
{
"mcpServers": {
"railway": {
"command": "node",
"args": ["/FULL/PATH/TO/railway-mcp-server/build/index.js"],
"env": {
"RAILWAY_API_TOKEN": "your-token-here"
}
}
}
}
All token formats supported
| Env var | Behavior |
|---|---|
RAILWAY_TOKEN_<LABEL> |
Named tokens — one per workspace (recommended) |
RAILWAY_API_TOKENS |
Comma-separated list of tokens |
RAILWAY_API_TOKEN |
Single token (backwards compatible) |
4. Restart Claude Desktop
The Railway tools will appear automatically.
Available Tools (30 total)
Teams
| Tool | Description |
|---|---|
list_teams |
List all teams/organizations you belong to |
Projects
| Tool | Description |
|---|---|
list_projects |
List ALL projects across all workspaces |
list_personal_projects |
List only your personal projects |
list_team_projects |
List projects for a specific team |
get_project |
Get project details (services, environments) |
create_project |
Create a new project |
delete_project |
Delete a project |
Services
| Tool | Description |
|---|---|
list_services |
List services in a project |
create_service |
Create from GitHub repo or Docker image |
delete_service |
Remove a service |
Deployments
| Tool | Description |
|---|---|
list_deployments |
List deployments for a service |
get_deployment |
Get deployment status and details |
deploy_service |
Trigger a new deployment |
redeploy_service |
Redeploy the latest version |
restart_deployment |
Restart a running deployment |
remove_deployment |
Cancel/remove a deployment |
Environments
| Tool | Description |
|---|---|
list_environments |
List environments (production, staging, etc.) |
create_environment |
Create a new environment |
delete_environment |
Remove an environment |
Variables
| Tool | Description |
|---|---|
get_variables |
Read environment variables |
set_variables |
Set one or more variables (upsert) |
delete_variable |
Delete a variable |
Domains
| Tool | Description |
|---|---|
create_service_domain |
Generate a *.up.railway.app domain |
create_custom_domain |
Attach your own domain |
delete_service_domain |
Remove the Railway domain |
Logs
| Tool | Description |
|---|---|
get_deployment_logs |
Runtime/application logs |
get_build_logs |
Build output logs |
Volumes
| Tool | Description |
|---|---|
create_volume |
Create persistent storage for a service |
Advanced
| Tool | Description |
|---|---|
raw_graphql |
Run any GraphQL query/mutation directly |
introspect_schema |
Discover all available API operations |
How Multi-Workspace Works
When you configure multiple tokens, the server handles routing automatically:
- Listing projects: Queries all workspaces in parallel and merges results, labeled by workspace name.
- ID-based lookups (get project, deploy, check logs, etc.): Tries each token until one succeeds. Since Railway IDs are globally unique, it finds the right workspace automatically.
- Create operations: Uses the first configured token by default.
Example Usage (in Claude)
"List my Railway projects"
"Deploy my-app service to production"
"Show me the logs for the latest deployment of api-server"
"Set DATABASE_URL on my backend service in staging"
"Create a new project called 'my-saas' with a Postgres database"
Development
npm run dev # Watch mode — recompiles on changes
npm run build # One-time build
npm start # Run the server
How It Works
This server communicates with Railway's public GraphQL API at backboard.railway.com/graphql/v2. It runs locally on your machine via STDIO transport, so your API tokens never leave your computer.
The raw_graphql tool is an escape hatch — if Railway adds new API operations before this server is updated, you (or Claude) can still access them by writing the GraphQL directly.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.