How to integrate Railway MCP with Atomic Agent

Connect Atomic Agent to Railway MCP. Deploy latest commit to production service, list all services and environment variables, and more using natural language, with authentication handled for you.

Railway MCP logoRailway MCP
Oauth2

Railway MCP is Railway's hosted MCP server for managing projects, services, environments, variables, and deployments. Use it to automate deployments, inspect environments, and manage runtime configuration from AI agents.

46 Tools

Introduction

Atomic Agent is an open-source AI agent that runs on your machine and supports local models through llama.cpp. Connect it to 1,500+ apps through Composio, including Railway.

This guide uses Atomic Agent's built-in Composio integration. You need Atomic Agent v0.5.6 or later, your own Composio API key, and a Railway account. See the Atomic Agent documentation for installation instructions.

Also integrate Railway MCP with

How Atomic Agent connects to Railway

Atomic Agent connects to Composio's Tool Router over Streamable HTTP MCP. It discovers the tools needed for your request, and Composio handles account authentication.

Execution and account-connection tools follow Atomic Agent's configured approval policy. Review any approval prompt before allowing an action on your connected account.

Connect Railway to Atomic Agent

  1. Sign up or sign in to the Composio dashboard. Copy your API key.
  2. In Atomic Agent, open the Integrations tab and select Composio. Select API key, press e, paste the key, and press Enter. The tools become available immediately, without a restart.
  3. Ask Atomic Agent to do something in Railway. It searches Composio for the right tool.
  4. On first use, open the sign-in link returned in the chat. Connect your Railway account, then return to Atomic Agent to continue.

Headless setup

Add the following line to ~/.atomic-agent/.env, replacing YOUR_COMPOSIO_API_KEY with your key. Start Atomic Agent after saving the file.

bash
COMPOSIO_API_KEY=YOUR_COMPOSIO_API_KEY

What is the Railway MCP server, and what's possible with it?

The Railway MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Railway account. It provides structured and secure access to your Railway projects, services, environments, variables, and deployments, so your agent can create infrastructure, inspect configurations, deploy services, monitor performance, and troubleshoot failures on your behalf.

  • Project and service creation: Have your agent create Railway projects, add services from GitHub repositories or Docker images, and connect deployment sources.
  • Deployment management: Let the agent review staged changes, commit them for deployment, list recent deployments, redeploy builds, or restart running services.
  • Environment and configuration inspection: Instruct your agent to describe environments and services, list rendered variables, and inspect domains, volumes, buckets, and TCP proxies.
  • Monitoring and troubleshooting: Have your agent check service health, resource usage, request volume, error rates, response times, logs, and diagnoses for failed deployments.
  • Storage and public access: Direct your agent to create buckets and persistent volumes, generate public service domains, or expose services through TCP proxies.

Use Railway from Atomic Agent

With your account connected, ask Atomic Agent to work with Railway in natural language. You can connect more apps through the same Composio integration as you need them.

Visit the Atomic Agent website or inspect the Atomic Agent source code.

Troubleshooting

Why is my API key rejected?

Copy the key directly from the Composio dashboard. Atomic Agent requires ASCII characters because it sends the key in an HTTP header. Remove any extra characters introduced when copying.

Why are Composio tools unavailable after saving a key?

Check that you use Atomic Agent v0.5.6 or later and that Composio is enabled in your configuration. A "composio": { "enabled": false } setting disables the integration while keeping the saved key on disk.

Does Composio have a free plan?

The Hobby plan includes 100,000 tool calls per month. Composio-managed OAuth apps have a lower included allowance. See Composio pricing for the current limits that apply to your connection.

TOOLS

Supported Tools

Every Railway MCP action and event your agent gets out of the box.

Accept-deploy

DESTRUCTIVE: Commits all staged changes in a Railway environment and triggers a deploy.

Connect-service-source

Attach a source to an existing service: a GitHub repository (deploys on push, builds immediately) or a Docker image.

Create-bucket

Create an S3-compatible object storage bucket in a project and provision it in an environment.

Create-deployment

Create a new service from a GitHub repository and trigger its first deployment.

Create-project

Create a new Railway project

Create-service

Create a new service in a project from a Docker image, or an empty service to configure later (e.

Create-tcp-proxy

Expose a service on the public internet over a raw TCP port (e.

Create-volume

Create a persistent volume in a project and optionally attach it to a service at a mount path.

Delete-bucket

Permanently delete an object storage bucket and its contents.

Delete-feature-flag

Delete a project-scoped feature flag.

Delete-service

Permanently delete a service: its deployments stop and are removed, along with its domains, variables and deployment triggers.

Delete-tcp-proxy

Remove a service's TCP proxy, taking its public endpoint offline.

Delete-volume

Permanently delete a volume and its data.

Describe-environment

Inventory of everything in a Railway environment — services, volumes, buckets, shared variable names — with staged changes applied.

Describe-service

Everything 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, live domains and TCP proxies, and the latest deployment.

Domain-status

Get 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 error.

Environment-status

Health 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.

Fetch-docs

Fetch the full markdown content of a Railway documentation page by URL or slug (e.

Generate-domain

Expose a service publicly.

Get-deployment-diagnosis

Get 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 stage and error).

Get-feature-flag

Get a Railway feature flag (Signal) by name for a project or its parent workspace scope.

Get-logs

Get logs from Railway for a deployment — covers deploy (runtime), build, and http (proxy request) contexts.

Get-service-config

Prefer 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-service-metrics

Get resource usage metrics (CPU, memory, disk, network) for a service, summarized as current/average/min/max over a time window.

Get-staged-changes

Show 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 live and staged value.

Get-status

Prefer describe-environment: it also lists services that exist only in the staged patch, unattached volumes, and each resource's staged state.

Http-error-rate

Get the HTTP error rate for a service over time — the share of requests answered with a 5xx.

Http-requests

Get HTTP request counts for a service, bucketed over time and split by response status class (2xx/3xx/4xx/5xx).

Http-response-time

Get HTTP latency percentiles (p50, p90, p95, p99) for a service, bucketed over time, in milliseconds.

List-deployments

List recent deployments for a Railway project, optionally filtered by environment, service, or status.

List-domains

List all domains (Railway-generated service domains and custom domains) for a service in an environment.

List-feature-flags

List Railway feature flags (Signals) for a project and optionally the parent workspace.

List-projects

List all Railway projects accessible to the authenticated user

List-services

List the ids and names of all services and environments in a Railway project.

List-tcp-proxies

List the TCP proxies exposing a service over the public internet on a raw TCP port (e.

List-variables

List all environment variables for a service, fully rendered (reference variables like ${{Postgres.

List-workspaces

List the Railway workspaces the current user belongs to.

Railway-agent

Send a message to Railway's AI agent for complex infrastructure operations.

Redeploy

Re-run the most recent deployment of a service in a given environment, reusing that deployment's existing build.

Restart-service

Restart 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).

Search-docs

Search the Railway documentation (docs.

Set-feature-flag

Create a project-scoped feature flag or update its default value.

Set-variables

Set one or more environment variables on a service (or environment-wide shared variables when serviceId is omitted).

Update-service

Update 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.

Update-volume

Update a volume's name and/or mount path.

Whoami

Get the current authenticated Railway user's profile information

FAQ

Frequently asked questions

With a standalone Railway MCP server, the agents and LLMs can only access a fixed set of Railway tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Railway and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Atomic Agent fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Railway tools.

Yes, absolutely. You can configure which Railway scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Railway data and credentials are handled as safely as possible.

Start with Railway MCP.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Railway MCP tool your agent needs.Free to start.

Start building