How to integrate Railway MCP with Hermes

Connect Hermes 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

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.

This guide explains the easiest and most robust way to connect your Railway account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

Also integrate Railway MCP with

What is Composio Connect?

Composio Connect is a consumer offering that lets anyone plug 1,500+ applications directly into their agent harness — including Hermes. It can:

  • Search and load tools from relevant toolkits on-demand, reducing context usage.
  • Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
  • Manage app authentication end-to-end with zero manual overhead.

Integrating Railway with Hermes

Using Composio Connect CLI

1. Install the Composio CLI

Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

bash
curl -fsSL https://composio.dev/install | bash
Hermes authenticating with Composio

2. Authenticate

Once the CLI is installed, ask Hermes to authenticate with Composio.

3. Connect to Railway

Ask your agent to connect to Railway, or simply request any Railway-related task. Hermes will prompt you to authenticate and authorize access.

4. Done. You're all set with a new Railway connection.


Using Composio Connect MCP

1. Get your MCP URL and API Key

Go to dashboard.composio.dev and copy your Connect MCP URL and API key.

Copy MCP URL and API key from Composio dashboard

2. Open the Hermes config file

bash
nano ~/.hermes/config.yaml

3. Add the Composio Connect MCP server

bash
mcp_servers:
  composio:
    url: "https://connect.composio.dev/mcp"
    headers:
      x-consumer-api-key: "YOUR_COMPOSIO_API_KEY"
    connect_timeout: 60
    timeout: 180

Save with Ctrl + O, Enter, then exit with Ctrl + X.

4. Restart your Hermes agent

Once restarted, ask your agent to connect to Railway or request any Railway-related task. It will prompt you to authenticate and authorize access.

5. Done!

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.

Way Forward

With Railway connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.

From here, you can extend Hermes further:

  • Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
  • Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
  • Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.

If you run into trouble or want to share what you've built, join the community or check out the Docs for deeper configuration options.

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