Railway logo

Railway

Organization
railwayapp

Official Railway MCP Server for interacting with your Railway account

Publisherrailwayapp
Repositoryrailway-mcp-server
LanguageTypeScript
Forks
43
Stars
190
Available tools
14
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    Railway exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 14 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    190 stars and 43 forks from the linked repository.

Railway MCP Server

A Model Context Protocol (MCP) server for interacting with your Railway account. This is a local MCP server provides a set of opinionated workflows and tools for managing Railway resources.

[!IMPORTANT] The MCP server doesn't include destructive actions by design, that said, you should still keep an eye on which tools and commands are being executed.

Prerequisites

The Railway CLI is required for this server to function.

Installation

You can install the MCP server by running the following command:

bash
npx add-mcp @railway/mcp-server --name railway

Cursor

You can add the Railway MCP Server to Cursor by clicking the button below.

Install MCP Server

Alternatively, you can add the following configuration to .cursor/mcp.json

json
{
  "mcpServers": {
    "railway-mcp-server": {
      "command": "npx",
      "args": ["-y", "@railway/mcp-server"]
    }
  }
}

VS Code:

Add the following configuration to .vscode/mcp.json

json
{
  "servers": {
    "railway-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@railway/mcp-server"]
    }
  }
}

Claude Code:

shell
claude mcp add railway-mcp-server -- npx -y @railway/mcp-server

Example Usage

Creating a new project, deploying it, and generating a domain

text
Create a Next.js app in this directory and deploy it to Railway. Make sure to also assign it a domain. Since we're starting from scratch, there is no need to pull information about the deployment or build for now

Deploy a from a template (database, queue, etc.). Based on your prompt, the appropriate template will be selected and deployed. In case of multiple templates, the agent will pick the most appropriate one. Writing a detailed prompt will lead to a better selection. Check out all of the available templates.

text
Deploy a Postgres database
text
Deploy a single node Clickhouse database

Pulling environment variables

text
I would like to pull environment variables for my project and save them in a .env file

Creating a new environment and setting it as the current linked environment

text
I would like to create a new development environment called `development` where I can test my changes. This environment should duplicate production. Once the environment is created, I want to set it as my current linked environment

CLI Version Detection

The MCP server automatically detects your Railway CLI version to use the appropriate features.

Available MCP Tools

The Railway MCP Server provides the following tools for managing your Railway infrastructure:

  • check-railway-status - Checks that the Railway CLI is installed and that the user is logged in
  • Project Management
    • list-projects - List all Railway projects
    • create-project-and-link - Create a new project and link it to the current directory
  • Service Management
    • list-services - List all services in a project
    • link-service - Link a service to the current directory
    • deploy - Deploy a service
    • deploy-template - Deploy a template from the Railway Template Library
  • Environment Management
    • create-environment - Create a new environment
    • link-environment - Link an environment to the current directory
  • Configuration & Variables
    • list-variables - List environment variables
    • set-variables - Set environment variables
    • generate-domain - Generate a railway.app domain for a project
  • Monitoring & Logs
    • get-logs - Retrieve build or deployment logs for a service
      • Railway CLI v4.9.0+: Supports lines parameter to limit output and filter parameter for searching logs
      • Older CLI versions: Will stream logs without filtering capabilities

Development

Prerequisites

  • Node.js >= 20.0.0
  • pnpm >= 10.14.0
  1. Clone the repository

    bash
    git clone https://github.com/railwayapp/railway-mcp-server.git
    cd railway-mcp-server
  2. Install dependencies

    bash
    pnpm install
  3. Start the development server

    bash
    pnpm dev

    This command will generate a build under dist/ and automatically rebuild after making changes.

  4. Configure your MCP client

    Add the following configuration to your MCP client (e.g., Cursor, VSCode) and replace /path/to/railway-mcp-server/dist/index.js with the actual path to your built server.

    Cursor: .cursor/mcp.json

    json
    {
      "mcpServers": {
        "railway-mcp-server": {
          "command": "node",
          "args": ["/path/to/railway-mcp-server/dist/index.js"]
        }
      }
    }

    VSCode: .vscode/mcp.json

    json
    {
      "servers": {
        "railway-mcp-server": {
          "type": "stdio",
          "command": "node",
          "args": ["/path/to/railway-mcp-server/dist/index.js"]
        }
      }
    }

    For Claude Code:

    bash
    claude mcp add railway-mcp-server node /path/to/railway-mcp-server/railway-mcp-server/dist/index.js

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "railway-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@railway/mcp-server"
      ]
    }
  }
}

Available Tools

  • check-railway-status

    Check whether the Railway CLI is installed and if the user is logged in. This tool helps agents verify the Railway CLI setup before attempting to use other Railway tools.

  • create-environment

    Create a new Railway environment for the currently linked project. Optionally duplicate an existing environment and set service variables.

  • create-project-and-link

    Create a new Railway project and link it to the current directory

  • deploy-template

    Search and deploy Railway templates. This tool will search for templates using fuzzy search and automatically deploy the selected template to the current Railway project and environment.

  • deploy

    Upload and deploy from the current directory. Supports CI mode, environment, and service options.

  • generate-domain

    Generate a domain for the currently linked Railway project. If a domain already exists, it will return the existing domain URL. Optionally specify a service to generate the domain for.

  • get-logs

    Get build or deployment logs for the currently linked Railway project. This will only pull the latest successful deployment by default, so if you need to inspect a failed build, you'll need to supply a deployment ID. You can optionally specify a deployment ID, service, and environment. If no deployment ID is provided, it will get logs from the latest deployment. The 'lines' and 'filter' parameters require Railway CLI v4.9.0+. Use 'lines' to limit the number of log lines (disables streaming) and 'filter' to search logs by terms or attributes (e.g., '@level:error', 'user', '@level:warn AND rate limit'). For older CLI versions, these parameters will be ignored and logs will stream.

  • link-environment

    Link to a specific Railway environment. If no environment is specified, it will list available environments for selection.

  • link-service

    Link a service to the current Railway project. If no service is specified, it will list available services

  • list-projects

    List all Railway projects for the currently logged in account

  • list-services

    List all services for the currently linked Railway project

  • list-variables

    Show variables for the active environment

  • set-variables

    Set environment variables for the active environment

  • list-deployments

    List deployments for a Railway service with IDs, statuses and other metadata. Requires Railway CLI v4.10.0+.

Use Railway MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Railway is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Railway as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Railway MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "railway": {
      "command": "npx",
      "args": [
        "-y",
        "@railway/mcp-server"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Railway MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Railway MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Railway to help me with this task?
Railway
Sure. I read it.
Here is what I found using Railway.

Frequently asked questions

What is the Railway MCP server used for?

Railway is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Railway MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Railway with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Railway MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Railway connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Railway MCP to TypingMind?

Railway runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Railway MCP provide in TypingMind?

Railway exposes 14 MCP tools that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Railway MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Railway requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇