Railway MCP 服务器
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://gips0.baidu.com/it/u=3605286190,10017303&fm=3081&app=3081&f=PNG?w=200&h=200" />
<source media="(prefers-color-scheme: light)" srcset="https://gips0.baidu.com/it/u=3605286190,10017303&fm=3081&app=3081&f=PNG?w=200&h=200" />
<img alt="Railway" src="https://gips0.baidu.com/it/u=3605286190,10017303&fm=3081&app=3081&f=PNG?w=200&h=200" height="40" />
</picture>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/38db1bcd-50df-4a49-a106-1b5afd924cb2" />
<source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/82603097-07c9-42bb-9cbc-fb8f03560926" />
<img alt="MCP" src="https://github.com/user-attachments/assets/82603097-07c9-42bb-9cbc-fb8f03560926" height="40" />
</picture>
</p>
<p align="center">
<strong>
让 Claude 和其他 MCP 客户端管理您的 Railway.app 基础设施。通过自然语言部署服务、管理变量并监控部署。
</strong>
</p>
<p align="center">
<table align="center">
<th align="center">
注意:此功能正在开发中,并非所有功能都已可用。🚧
</th>
</table>
</p>
<a href="https://glama.ai/mcp/servers/lwn74iwigz">
<img width="380" height="200" src="https://gips3.baidu.com/it/u=2718458196,3803564030&fm=3081&app=3081&f=PNG?w=760&h=400" alt="railway-mcp MCP 服务器" />
</a>
一个用于与 Railway.app 平台集成的 Model Context Protocol (MCP) 服务器。



目录
<p align="center">
<a href="#features">特性</a> •
<a href="#installation">安装</a> •
<a href="#available-tools">可用工具</a> •
<a href="#example-workflows">示例工作流</a> •
<a href="#security-considerations">安全</a> •
<a href="#troubleshooting">故障排除</a> •
<a href="#contributing">贡献</a>
</p>
特性
| 状态 | 含义 |
|---|
| ✅ | 完成 |
| 🚧🔨⏳ | 正在构建或需要测试 |
| ❌ | 当前未构建 |
- ✅ 使用 Railway API 令牌进行身份验证
- ✅ 项目管理(列出、信息、删除)
- ✅ 部署管理(列出、重启)
- ✅ 服务管理(从 GitHub 仓库或 Docker 镜像创建,列出)
- ✅ 变量管理(列出、创建/更新、删除)
- ✅ 服务网络管理
- ✅ 卷管理
- ❌ 对所有模板的完全支持
- 🚧🔨⏳ 最常用的工件
- ❌ 服务的自动 GitHub 仓库链接
安装
先决条件
快速开始
此 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\"}"
<details>
<summary> <h3>Cursor 手动安装</h3></summary>
- 转到您的 Cursor 设置并找到 MCP 部分
- 点击“添加新 MCP 服务器”
- 命名它,我们建议命名为
railway-mcp 以便于理解
- 在“命令”部分粘贴此命令,其中 <RAILWAY_API_TOKEN> 是您账户的 Railway 令牌:
npx -y @jasontanswe/railway-mcp <RAILWAY_API_TOKEN>
</details>
<details>
<summary><h3>Claude 手动安装</h3></summary>
-
创建或编辑您的 Claude for Desktop 配置文件:
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
-
将 railway-mcp 服务器添加到您的配置中,包括您的 API 令牌:
"railway": {
"command": "npx",
"args": ["-y", "@jasontanswe/railway-mcp"],
"env": {
"RAILWAY_API_TOKEN": "your-railway-api-token-here"
}
}
当您有多个 MCP 服务器时,您的配置文件可能如下所示:
{
"mcpServers": {
// ... 您现有的所有 MCP 服务器 ...
// 添加带有 API 令牌的 railway-mcp 服务器
"railway": {
"command": "npx",
"args": ["-y", "@jasontanswe/railway-mcp"],
"env": {
"RAILWAY_API_TOKEN": "your-railway-api-token-here"
}
}
}
}
- 重新启动 Claude for Desktop
- 您现在可以直接在 Claude 中使用 Railway 工具。例如:
请列出我所有的 Railway 项目
- 如果您不想将令牌添加到配置文件中,可以在 Claude 中使用以下方式配置:
请使用我的令牌配置 Railway API:{YOUR_API_TOKEN_HERE}
</details>
推荐和其他信息
此服务器最好与具有终端访问权限或 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 有限制 - 避免在短时间内发送过多请求
贡献
我们欢迎社区的贡献!请参阅我们的 贡献指南,了解如何开始、开发指南和调试信息。
可用工具
<details>
<summary>查看全部</summary>
身份验证
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 - 部署一个新的数据库服务
</details>
<details>
<summary>示例工作流</summary>
设置新的服务
- 列出项目以获取项目 ID
- 从模板创建一个新的服务
- 添加环境变量
- 查看服务部署
管理环境变量
- 列出项目以查找您的项目 ID
- 列出变量以查看当前设置
- 根据需要创建或更新变量
- 删除任何过时的变量
</details>