Railway MCP for AI agents

Agents read Railway MCP at once. Changes and sends are held for a person's approval by default.

About Railway MCP

Create, inspect, deploy, and manage Railway projects, services, environments, variables, and deployments through Railway's hosted MCP server.

What an agent can do in Railway MCP

Every Railway MCP action is classed by the platform as a read, a change or a send. Reads run at once. Changes and sends are held for a person by default.

Runs at once (reads)

Looks things up in Railway MCP without asking first. 25 actions.

  • Describe-environmentInventory of everything in a Railway environment — services, volumes, buckets, shared variable names — with staged changes applied. Each resource carries a `state`: live, staged-create (exists only in
  • Describe-serviceEverything about one service in an environment: its config with staged changes applied (source, build, deploy, networking, volume mounts), the per-field staged changes pending on it, mounted volumes,
  • Domain-statusGet detailed status for one domain on a service, by hostname, URL, or domain ID: required DNS records and whether they currently match, ownership verification, certificate status, and any certificate
  • Environment-statusHealth overview of every service in an environment in one call: current LIVE (settled) deployment state, replica status, recent failures, unresolved warnings/criticals, and cron execution results. Doe
  • Fetch-docsFetch the full markdown content of a Railway documentation page by URL or slug (e.g. 'https://docs.railway.com/quick-start' or 'reference/variables'). Use search-docs first to find the right page.
  • Get-deployment-diagnosisGet the AI-generated diagnosis for a failed deployment: root cause category, analysis, and suggested fixes, along with deployment context (service config, source repo, branch, commit, PR, failure stag
  • Get-feature-flagGet a Railway feature flag (Signal) by name for a project or its parent workspace scope.
  • Get-logsGet logs from Railway for a deployment — covers deploy (runtime), build, and http (proxy request) contexts. Pass a specific deploymentId, or pass serviceId + environmentId to resolve the latest deploy
  • Get-service-configPrefer describe-service: it applies the staged diff onto the live config for you and adds mounted volumes, domains, TCP proxies and the latest deployment. Get a service's configuration in an environme
  • Get-service-metricsGet resource usage metrics (CPU, memory, disk, network) for a service, summarized as current/average/min/max over a time window. Defaults to CPU_USAGE and MEMORY_USAGE_GB over the last hour. If enviro
  • Get-staged-changesShow the changes staged in a Railway environment that accept-deploy would commit: per resource (service, volume, bucket, group) the action — create, delete, update — and each changed field with its li
  • Get-statusPrefer describe-environment: it also lists services that exist only in the staged patch, unattached volumes, and each resource's staged state. Get the deployment status of a Railway project environmen
Show all 25
  • Http-error-rateGet the HTTP error rate for a service over time — the share of requests answered with a 5xx. Use this for reliability and to locate error spikes. 4xx responses are reported separately and are not coun
  • Http-requestsGet HTTP request counts for a service, bucketed over time and split by response status class (2xx/3xx/4xx/5xx). Use this for traffic volume and the mix of successful versus failing responses. Defaults
  • Http-response-timeGet HTTP latency percentiles (p50, p90, p95, p99) for a service, bucketed over time, in milliseconds. Use this for performance and to find slow requests. Defaults to the last hour. If environmentId is
  • List-deploymentsList recent deployments for a Railway project, optionally filtered by environment, service, or status. Returns the most recent first.
  • List-domainsList all domains (Railway-generated service domains and custom domains) for a service in an environment. If environmentId is omitted, the production environment is used.
  • List-feature-flagsList Railway feature flags (Signals) for a project and optionally the parent workspace. Project flags are editable with admin access; workspace flags are read-only from project context.
  • List-projectsList all Railway projects accessible to the authenticated user
  • List-servicesList the ids and names of all services and environments in a Railway project. Prefer describe-environment for what is actually in an environment: it includes volumes, buckets, deployments and staged c
  • List-tcp-proxiesList the TCP proxies exposing a service over the public internet on a raw TCP port (e.g. a database's public endpoint). Returns the public endpoint (host:port) and the application port each proxy forw
  • List-variablesList all environment variables for a service, fully rendered (reference variables like ${{Postgres.DATABASE_URL}} are resolved). With a Railway session or API token, values are returned in plaintext a
  • List-workspacesList the Railway workspaces the current user belongs to. Use a workspace ID with create-project to choose where a project is created.
  • Search-docsSearch the Railway documentation (docs.railway.com) for features, configuration, guides, and tutorials. Returns matching sections with URLs — use fetch-docs to read a full page.
  • WhoamiGet the current authenticated Railway user's profile information

Held for approval by default (changes and sends)

Held for a person's approval by default. The approval is recorded and the action is sent once, never twice, with 10 seconds to undo. 21 actions.

  • Accept-deployDESTRUCTIVE: Commits all staged changes in a Railway environment and triggers a deploy. Only use this when the user has explicitly confirmed they want to deploy.
  • Connect-service-sourceAttach a source to an existing service: a GitHub repository (deploys on push, builds immediately) or a Docker image. This is how a service that has never deployed gets its first deployment, and how an
  • Create-bucketCreate an S3-compatible object storage bucket in a project and provision it in an environment. Default region is sjc. Pass staged: true to stage the bucket in the environment's pending changes instead
  • Create-deploymentCreate a new service from a GitHub repository and trigger its first deployment. The repo must be one the authenticated user has connected via GitHub. Returns the new service; use get-status or list-de
  • Create-projectCreate a new Railway project
  • Create-serviceCreate a new service in a project from a Docker image, or an empty service to configure later (e.g. before setting variables and attaching a source). Pass staged: true to stage the service in one envi
  • Create-tcp-proxyExpose a service on the public internet over a raw TCP port (e.g. make a database reachable externally). Creates a TCP proxy forwarding a public endpoint to the given application port, applied through
  • Create-volumeCreate a persistent volume in a project and optionally attach it to a service at a mount path. The attach and redeploy are committed together so the service comes up with the mount applied. Pass stage
  • Delete-bucketPermanently delete an object storage bucket and its contents. By default it is removed from every environment it is provisioned in; pass an environmentId to remove it from that one environment only. P
  • Delete-feature-flagDelete a project-scoped feature flag. Workspace-scoped flags cannot be deleted from project context.
  • Delete-servicePermanently delete a service: its deployments stop and are removed, along with its domains, variables and deployment triggers. Any volume attached to it is detached and kept — delete-volume removes a
  • Delete-tcp-proxyRemove a service's TCP proxy, taking its public endpoint offline. Anything connecting through that endpoint (e.g. external database clients) loses access. Pass staged: true to stage the removal in the
Show all 21
  • Delete-volumePermanently delete a volume and its data. The volume is unmounted from any service it is attached to (redeploying that service). By default it is removed from every environment; pass an environmentId
  • Generate-domainExpose a service publicly. Without `domain`, generates a Railway *.up.railway.app service domain (if the service already has domains, they are returned instead of creating another). With `domain`, att
  • Railway-agentSend a message to Railway's AI agent for complex infrastructure operations. The agent can inspect services, diagnose issues, and take actions on your behalf.
  • RedeployRe-run the most recent deployment of a service in a given environment, reusing that deployment's existing build. Only works on a service that has already deployed in that environment — check with list
  • Restart-serviceRestart a service's running deployment in place — the containers restart without rebuilding the image, and no new deployment is created (use redeploy for a fresh build copy). Restarting causes brief d
  • Set-feature-flagCreate a project-scoped feature flag or update its default value. Use list-feature-flags and get-feature-flag to inspect existing flags first.
  • Set-variablesSet one or more environment variables on a service (or environment-wide shared variables when serviceId is omitted). Existing variables with the same name are overwritten; others are left unchanged. R
  • Update-serviceUpdate a service's configuration: build/start/pre-deploy commands, healthcheck, sleep mode, root directory, cron schedule, Dockerfile path, restart policy, config file path, and watch patterns. Only t
  • Update-volumeUpdate a volume's name and/or mount path. A mount path change redeploys the affected service so the new mount takes effect. Only the fields you pass are changed. Pass staged: true with an environmentI

Changes wait in Needs you

Changes and sends in Railway MCP are held for a person's approval by default. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.

How approvals work

Railway MCP questions

Can an agent change data in Railway MCP on its own?

Not by default. Changes and sends in Railway MCP are held for a person's approval. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.

What can an agent read in Railway MCP?

This connector lists 25 read actions. Reads run at once, without waiting for approval.

How does Railway MCP connect?

It connects with OAuth 2.0. Connectors are built and maintained by third-party developers; availability is confirmed during scoping.

Bring Railway MCP to your agents.