How to connect Railway with ChatGPT

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

How to connect Railway MCP with ChatGPT

ChatGPT can take action across your apps and files, stay with a project for hours, and turn a goal into finished materials like sheets, slides, and docs, not just answers.

In this guide, I will explain the easiest and most secure way to connect your Railway account to ChatGPT via Composio Connect, so it can create projects, inspect environments, trigger deployments, and manage rollbacks through natural language commands without ever putting your account credentials at risk.

Also integrate Railway MCP with

Why use Composio over default connectors?

  • Apps with read and write access. Default connectors mostly can read your data. Composio's Railway integration lets ChatGPT take actions like creating drafts, sending updates, labeling records, and more.
  • 1,500+ SaaS toolkits out of the box. Composio gives you instant access to a vast catalog of pre-built connectors, from Gmail and Slack to Notion, Linear, and Salesforce.
  • One MCP server for every app. Connect any of your applications on demand through a single endpoint, rather than juggling a separate server for each app.
  • Smart, context-aware tool loading. Unlike traditional MCP servers that dump every available tool into the LLM context window, Composio searches for and loads only the tools relevant to the task at hand.
  • Cross-app automation. Chain actions across multiple apps in a single run - fetch a thread, summarize it in Notion, and post highlights to Slack without leaving the conversation.

Prerequisites

Note: Composio connects through OAuth. You will be asked to sign in and approve specific permissions. Review the permission screen carefully if you are using a work account.

Step-by-step: Connect Railway to ChatGPT

1. Install the Composio plugin

Click the button. ChatGPT opens the Composio plugin page. Click Install plugin.

Install in ChatGPT

Composio plugin page in ChatGPT with the Install plugin button

You can also find it inside ChatGPT: go to Settings, open Plugins, search the marketplace for Composio, and click Install plugin.

2. Authenticate

After you install, ChatGPT asks you to authenticate with Composio. Log in and click Allow access to authorize ChatGPT to use your Composio account.

Composio login and Allow access screen for ChatGPT

3. Start using Composio

That is it. Composio tools are now available in ChatGPT. Type @Composio followed by your request, for example @Composio find unread Railway messages and summarize them, and it will run the actions you authorize. On first use it asks you to authorize Railway.

Option 2: Add Composio as an MCP server

If you cannot use the plugin marketplace, add Composio as a custom MCP server instead.

1. Open the MCP settings

In ChatGPT, go to Settings and open the Plugins section. Inside the Plugins page, click the MCP tab.

ChatGPT settings showing the Plugins page with the MCP tab selected

2. Add the server

Click Add server. In the Name field enter Composio, for Type select Streamable HTTP, and in the URL field paste the Composio MCP server URL:

bash
https://connect.composio.dev/mcp
ChatGPT Add server dialog with the name Composio, type Streamable HTTP, and the Composio MCP URL

Then click Save. The Composio server now appears in your MCP plugins list.

ChatGPT Plugins page showing the Composio MCP server added to the list

3. Authenticate

Click Authenticate on the Composio entry, log in via Composio, and click Allow access. Composio tools are then available in ChatGPT the same way as with the plugin.

What you can do after connecting Railway

  • Deploy latest commit to production service
  • List all services and environment variables
  • Create staging environment and deploy service

Security + privacy notes (important)

  • Use least-privilege access: Only grant permissions you actually need.
  • Review OAuth permissions before approving: Make sure requested scopes match what you expect Composio and ChatGPT to do.
  • Keep write actions human-reviewed: For actions like sending messages, creating labels, or editing drafts, keep manual confirmation enabled.
  • Be careful with sensitive data: Avoid using this setup with highly sensitive information unless allowed by your personal, company, or client policies.
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. ChatGPT 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