Railway MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RAILWAY_API_TOKEN | No | Single API token for a workspace (backwards compatible). Alternatively, use RAILWAY_TOKEN_<LABEL> for named tokens per workspace, or RAILWAY_API_TOKENS for a comma-separated list. | |
| RAILWAY_API_TOKENS | No | Comma-separated list of API tokens for multiple workspaces. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_teamsA | List all teams/organizations you belong to |
| list_projectsA | List ALL Railway projects — both personal and from all teams/orgs. Returns projects grouped by personal vs each team. |
| list_personal_projectsA | List only your personal Railway projects |
| list_team_projectsA | List projects for a specific team/organization |
| get_projectA | Get details of a specific Railway project |
| create_projectB | Create a new Railway project |
| delete_projectA | Delete a Railway project (irreversible!) |
| list_servicesA | List all services in a Railway project |
| create_serviceB | Create a new service in a project (from GitHub repo or Docker image) |
| delete_serviceB | Delete a service from a project |
| list_deploymentsB | List deployments for a service in an environment |
| get_deploymentA | Get details of a specific deployment |
| deploy_serviceC | Trigger a new deployment for a service |
| redeploy_serviceB | Redeploy the latest deployment of a service |
| restart_deploymentB | Restart a specific deployment |
| remove_deploymentB | Remove/cancel a specific deployment |
| list_environmentsA | List all environments in a project |
| create_environmentB | Create a new environment in a project |
| delete_environmentA | Delete an environment from a project |
| get_variablesB | Get environment variables for a service |
| set_variablesA | Set one or more environment variables (upsert) |
| delete_variableB | Delete a single environment variable |
| create_service_domainA | Generate a Railway-provided domain (*.up.railway.app) for a service |
| create_custom_domainC | Attach a custom domain to a service |
| delete_service_domainA | Remove the Railway-provided domain from a service |
| get_deployment_logsA | Get runtime/application logs for a deployment |
| get_build_logsB | Get build logs for a deployment |
| create_volumeA | Create a persistent volume attached to a service |
| raw_graphqlA | Execute an arbitrary GraphQL query/mutation against Railway's API. Use this for operations not covered by other tools. |
| introspect_schemaA | Fetch the full Railway GraphQL schema. Useful for discovering available operations beyond the built-in tools. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 30 tools
Most tools target distinct resources/actions, but a few overlap: list_projects/personal/team_projects and deploy/redeploy/restart could cause selection errors. Descriptions help clarify, but boundaries are not razor-sharp.
Uses mostly verb_noun (list_*, create_*, delete_*) but 'remove_deployment' breaks delete_* pattern, and 'redeploy_service'/'deploy_service' are closely named. Otherwise predictable.
30 tools is excessive for an MCP server, even for a comprehensive platform. Several tools (list_personal_projects, list_team_projects) could be folded into list_projects. The count weighs on agent tool selection.
Covers CRUD for projects, deployments, environments, variables, domains, logs, and volumes partially. Missing update operations for projects/services/environments, get_service, and volume list/delete. raw_graphql mitigates gaps but the built-in surface is incomplete.