铁路MCP管理平台
让克劳德和光标通过自然语言管理您的铁路基础设施。自主且安全地部署、配置和监控。
服务介绍
Railway MCP 服务器
一个模型上下文协议 (MCP) 服务器,用于与Railway.app平台集成。
目录
特性
| 状态 | 含义 |
|---|---|
| ✅ | 完成 |
| 🚧🔨⏳ | 正在构建或需要测试 |
| ❌ | 当前未构建 |
- ✅ 使用Railway API令牌进行身份验证
- ✅ 项目管理(列出、信息、删除)
- ✅ 部署管理(列出、重启)
- ✅ 服务管理(从GitHub仓库或Docker镜像创建,列出)
- ✅ 变量管理(列出、创建/更新、删除)
- ✅ 服务网络管理
- ✅ 卷管理
- ❌ 对所有模板的完全支持
- 🚧🔨⏳ 数据库模板支持
- 自动数据库和网络工作流
- 🚧🔨⏳ 最常用的大多数工作流
- ❌ 服务自动链接到GitHub仓库
安装
前提条件
- Node.js 18+(为了内置fetch API支持)
- 一个活跃的Railway账户
- 一个Railway API令牌(可以在 https://railway.app/account/tokens 创建)
快速开始
这个MCP服务器设计为与以下MCP客户端一起使用:
- Claude for Desktop | ✅ 经过实战测试
- Cursor | ✅ 需要测试
- Cline | 🚧🔨⏳ 需要测试
- Windsurf | 🚧🔨⏳ 需要测试
- 其他 MCP 客户端 | 🚧🔨⏳ 需要测试
通过 Smithery 安装
为了自动安装 railway-mcp,我们推荐使用 Smithery
Claude Desktop
npx -y @smithery/cli install @jason-tan-swe/railway-mcp --client claude
Cursor
npx -y @smithery/cli@latest run @jason-tan-swe/railway-mcp --config "{\"railwayApiToken\":\"token\"}"
-
前往您的 Cursor 设置并找到 MCP 部分
-
点击 '添加新的 MCP 服务器'
-
按照您的喜好命名它,我们建议使用
railway-mcp以便更清晰 -
将此命令粘贴到 '命令' 部分,其中 <RAILWAY_API_TOKEN> 是您的 Railway 账号令牌:
npx -y @jasontanswe/railway-mcp <RAILWAY_API_TOKEN>
-
创建或编辑您的 Claude for Desktop 配置文件:
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
使用您的 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"
}
}
}
}
-
重启 Claude for Desktop
-
您现在可以直接在 Claude 中开始使用 Railway 工具。例如:
Please list all my Railway projects
- 另外,如果您不想将令牌添加到配置文件中,可以在 Claude 内部通过以下方式配置:
Please configure the Railway API with my token: {YOUR_API_TOKEN_HERE}
推荐和其他信息
该服务器最适合与具有终端访问权限或 Git 访问权限的 MCP 客户端结合使用 (Cursor, Windsurf)。推荐与其他 MCP 结合使用,因为 railway-mcp 可以编排容器并无缝简化您的部署过程。
推荐结合使用的 MCP 服务器
对于 Claude
- 开箱即用的情况下,Claude 没有终端访问权限,因此无法触发部署,因为它无法获取最新的提交。
- 启动不同的服务并监控它们是 Claude 最佳的使用场景。
对于 Cursor
- 与 GitHub MCP 一起使用,或者已经在 GitHub 上设置好仓库并在本地克隆,以充分利用与 railway-mcp 的集成。
- 当 Cursor 进行更改时,可能会忘记将其更改推送到 GitHub,导致尝试部署 Railway 无法拉取的提交。
- 解决方案: 总是询问或在提示中包含:“您已经将我们的更改推送到 GitHub 了吗?”
安全注意事项
- Railway API 令牌提供对你帐户的完全访问权限。请确保它们的安全。
- 当使用环境变量方法时,你的令牌将存储在 Claude Desktop 配置文件中。
- 显示敏感变量值时会自动进行掩码处理。
- 所有 API 调用都使用 HTTPS 进行安全通信。
- 服务器仅在内存中存储令牌,这意味着你的令牌除了配置文件外不会写入磁盘。
故障排除
如果遇到问题:
-
令牌认证问题
- 确保你的 API 令牌有效且具有必要的权限
- 如果使用环境变量方法,请检查配置文件中的令牌格式是否正确
- 如果环境变量不起作用,尝试直接在 Claude 中使用
configure工具
-
服务器连接问题
- 检查你是否已安装最新版本的服务器
- 确认已安装 Node.js 版本 18 或更高版本
- 在更改配置后重启 Claude for Desktop
-
API 错误
- 确认你使用的项目、环境和服务 ID 是否正确
- 检查 Railway 的状态页面是否有服务中断的情况
- Railway API 有速率限制——避免在短时间内发送过多请求
贡献
我们欢迎社区贡献!请参阅我们的 贡献指南 了解如何开始、开发指南和调试信息。
可用工具
认证
configure- 设置你的 Railway API 令牌(仅当未通过环境变量提供时需要)
项目
project-list- 列出帐户中的所有项目project-info- 获取特定项目的详细信息project-create- 创建一个新项目,可选团队 IDproject-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- 部署一个新的数据库服务
设置新服务
- 列出项目以获取项目 ID
- 从模板创建新服务
- 添加环境变量
- 查看服务部署
管理环境变量
- 列出项目以找到您的项目 ID
- 列出变量以查看当前设置
- 根据需要创建或更新变量
- 删除任何过时的变量