Railway基础设施管理服务

通过自然语言管理Railway.app基础设施的服务,支持部署服务、管理变量和监控部署。

  • by Kruglyak
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 kruglyak/railway-mcp

使用说明

铁路MCP服务器

Let Claude and other MCP clients manage your Railway.app infrastructure. Deploy services, manage variables, and monitor deployments - all through natural language.

Please Note: This is under development and not all features are available yet. 🚧

A. 模型上下文协议(MCP) 用于与集成的服务器 Railway.app 平台。

目录

Features • Installation • Available Tools • Example Workflows • Security • Troubleshooting • Contributing

特性

状态 含义
✅ 完成
🚧🔨⏳ 正在建造或需要测试
❌ 目前尚未建成
  • ✅ 使用铁路API令牌进行身份验证
  • ✅ 项目管理(列表、信息、删除)
  • ✅ 部署管理(列表、重启)
  • ✅ 服务管理(从GitHub仓库或Docker镜像创建,列表)
  • ✅ 变量管理(列表、创建/更新、删除)
  • ✅ 服务网络管理
  • ✅ 卷管理
  • ❌ 完全支持所有模板
    • 🚧🔨⏳数据库模板支持
    • 自动数据库和网络工作流程
  • 🚧🔨⏳最常用的工作流
  • ❌ 服务的自动GitHub存储库链接

安装

先决条件

  • Node.js 18+(用于内置fetch API支持)
  • 活跃的铁路账户
  • 铁路API令牌(在https://railway.app/account/tokens)

快速开始

此MCP服务器旨在与MCP客户端配合使用,例如:

  • 克劳德桌面版|✅ 战斗测试
  • 光标|✅ 需要测试
  • 克莱恩|🚧🔨⏳ 需要测试
  • 风浪|🚧🔨⏳ 需要测试
  • 其他MCP客户端|🚧🔨⏳ 需要测试

通过Smithery安装

要自动安装铁路mcp,我们建议使用 铁匠铺

克劳德桌面版

npx -y @smithery/cli install @jason-tan-swe/railway-mcp --client claude

光标

npx -y @smithery/cli@latest run @jason-tan-swe/railway-mcp --config "{\"railwayApiToken\":\"token\"}"

Manual Installation For Cursor

  1. 转到光标设置并找到MCP部分

  2. 单击“添加新的MCP服务器”

  3. 不过,如果你喜欢,我们建议 railway-mcp 为了更清晰

  4. 将此命令粘贴到“命令”部分,其中<RAILWAY_API_TOKEN>是您的帐户铁路令牌:

npx -y @jasontanswe/railway-mcp <RAILWAY_API_TOKEN>

Manual Installation For Claude

  1. 创建或编辑您的Claude for Desktop配置文件:

    • macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  2. 使用API令牌将railway-mcp服务器添加到您的配置中:

   "railway": {
      "command": "npx",
      "args": ["-y", "@jasontanswe/railway-mcp"],
      "env": {
         "RAILWAY_API_TOKEN": "your-railway-api-token-here"
      }
   }

当您有多个MCP服务器时,您的配置文件可能如下:

{
  "mcpServers": {
    // ... All of your existing MCP servers ...

    // Add the railway-mcp server to your configuration with your API token
    "railway": {
      "command": "npx",
      "args": ["-y", "@jasontanswe/railway-mcp"],
      "env": {
        "RAILWAY_API_TOKEN": "your-railway-api-token-here"
      }
    }
  }
}
  1. 重新启动桌面版的Claude

  2. 现在,您可以直接在Claude中开始使用Railway工具。例如:

Please list all my Railway projects
  1. 或者,如果您不想将令牌添加到配置文件中,可以在Claude中使用以下命令进行配置:
Please configure the Railway API with my token: {YOUR_API_TOKEN_HERE}

建议和其他信息

此服务器最好与有权访问终端的MCP客户端或Git结合使用 **(光标,风帆)**建议将此MCP与其他MCP一起使用,因为铁路MCP可以协调容器并无缝简化部署过程。

建议与MCP服务器结合使用

对于克劳德

  • 开箱即用,Claude没有终端访问权限,因此它无法触发部署,因为它无法获得最新的提交。
  • 启动不同的服务并对其进行监控是Claude的最佳用例。

对于光标

  • 与GitHub MCP一起使用,或者在GitHub上设置存储库并在您的机器上本地克隆,以利用与railway MCP的完全集成。
  • 当Cursor进行更改时,它可能会忘记将更改推送到GitHub,导致它尝试部署Railway无法拉取的提交。
    • 解决方案: 始终在提示中询问或包含以下内容: Have you pushed our changes to GitHub yet?

安全注意事项

  • 铁路API令牌提供对您帐户的完全访问。确保它们的安全。
  • 使用环境变量方法时,您的令牌存储在Claude Desktop配置文件中。
  • 敏感变量值在显示时会自动屏蔽。
  • 所有API调用都使用HTTPS进行安全通信。
  • 服务器的内存专用令牌存储意味着您的令牌永远不会写入配置文件之外的磁盘。

故障排除

如果您遇到问题:

  1. 令牌身份验证问题

    • 请确保您的API令牌有效并且具有必要的权限
    • 如果使用环境变量方法,请检查配置文件中的令牌格式是否正确
    • 尝试使用 configure 如果环境令牌不起作用,则直接在Claude中使用该工具
  2. 服务器连接问题

    • 检查您是否安装了最新版本的服务器
    • 验证是否安装了Node.js版本18或更高版本
    • 更改配置后重新启动Claude for Desktop
  3. API错误

    • 验证您是否使用了正确的项目、环境和服务ID
    • 检查铁路的状态页面是否有任何服务中断
    • 铁路API有费率限制-避免在短时间内提出过多请求

贡献

我们欢迎社区的贡献!请查看我们的 贡献指南 有关如何开始、开发指南和调试信息的详细信息。

可用工具

View All

认证

  • configure -设置Railway API令牌(仅在环境变量中未提供时需要)

项目

  • project-list -列出您帐户中的所有项目
  • project-info -获取特定项目的详细信息
  • project-create -使用可选的团队ID创建新项目
  • project-delete -删除项目
  • project-environments -列出项目中的所有环境

服务

  • service-list -列出特定项目中的所有服务
  • service-info -获取特定服务的详细信息
  • service-create-from-repo -从GitHub存储库创建新服务
  • service-create-from-image -从Docker镜像创建新服务
  • service-delete -从项目中删除服务
  • service-restart -在特定环境中重新启动服务
  • service-update -更新服务配置(构建命令、启动命令等)|🚧 需要测试

部署

  • deployment-list -列出服务的最近部署
  • deployment-trigger -触发服务的新部署
  • deployment-logs -获取特定部署的日志
  • deployment-health-check -检查部署的运行状况/状态

变量

  • variable-list -列出服务或环境的变量
  • variable-set -创建或更新变量
  • variable-delete -删除变量
  • variable-bulk-set -服务的批量更新变量|🚧 需要测试
  • variable-copy -在环境之间复制变量|🚧 需要测试

数据库

  • database-list-types -列出可以部署的所有可用数据库类型
  • database-deploy -部署新的数据库服务
Example Workflows

设置新服务

  1. 列出项目以获取项目ID
  2. 从模板创建新服务
  3. 添加环境变量
  4. 查看服务部署

管理环境变量

  1. 列出项目以查找您的项目ID
  2. 列出变量以查看当前设置的内容
  3. 根据需要创建或更新变量
  4. 删除所有过时的变量