Skip to main content
Glama

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

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.

Related MCP server: Railway MCP Server

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

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wardspan/railway-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server