铁路MCP服务器
用于与Railway.app平台集成的模型上下文协议 (MCP)服务器。
目录
特征
地位 | 意义 |
---|
✅ | 完全的 |
🚧🔨⏳ | 正在构建或需要测试 |
❌ | 目前尚未建造 |
- ✅ 使用 Railway API 令牌进行身份验证
- ✅ 项目管理(列表、信息、删除)
- ✅ 部署管理(列表、重启)
- ✅ 服务管理(从 GitHub repo 或 Docker 镜像创建、列出)
- ✅ 变量管理(列出、创建/更新、删除)
- ✅ 服务网络管理
- ✅ 音量管理
- ❌ 全面支持所有模板
- 🚧🔨⏳ 最常用的工作流程
- ❌ 自动为服务提供 GitHub 存储库链接
安装
先决条件
快速入门
此 MCP 服务器旨在与以下 MCP 客户端配合使用:
- Claude 桌面版 | ✅ 实战测试
- 光标 | ✅ 需要测试
- Cline | 🚧🔨⏳ 需要测试
- 风帆冲浪 | 🚧🔨⏳ 需要测试
- 其他 MCP 客户端 | 🚧🔨⏳ 需要测试
通过 Smithery 安装
为了自动安装 railway-mcp,我们建议使用Smithery
克劳德桌面
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\"}"
- 前往光标设置并找到 MCP 部分
- 点击“添加新的 MCP 服务器”
- 随便你怎么命名,我们推荐
railway-mcp
以获得更好的清晰度 - 将此命令粘贴到“命令”部分,其中 <RAILWAY_API_TOKEN> 是您的帐户铁路令牌:
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
- 使用您的 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 桌面版
- 现在,您可以直接在 Claude 中使用 Railway 工具。例如:
Please list all my Railway projects
- 或者,如果您不想将令牌添加到配置文件中,则可以在 Claude 中使用以下命令进行配置:
Please configure the Railway API with my token: {YOUR_API_TOKEN_HERE}
建议和其他信息
此服务器最适合与能够访问终端的 MCP 客户端或 Git **(Cursor、Windsurf)**结合使用。建议将此 MCP 与其他 MCP 一起使用,因为 railway-mcp 可以协调容器并无缝简化您的部署流程。
推荐与以下 MCP 服务器结合使用
对于克劳德
- 开箱即用,Claude 没有终端访问权限,因此它无法触发部署,因为它无法获取最新的提交。
- 启动不同的服务并对其进行监控是 Claude 的最佳用例。
对于光标
- 与 GitHub MCP 一起使用或已在 GitHub 上设置存储库并在您的机器上本地克隆以利用与 railway-mcp 的完全集成。
- 当 Cursor 做出更改时,它可能会忘记将更改推送到 GitHub,从而导致它尝试部署 Railway 无法拉取的提交。
- **解决方案:**始终在提示中询问或包含以下某处:
Have you pushed our changes to GitHub yet?
安全注意事项
- Railway API 令牌可让您完全访问自己的帐户。请务必妥善保管。
- 当使用环境变量方法时,您的令牌存储在 Claude Desktop 配置文件中。
- 敏感变量值在显示时会被自动屏蔽。
- 所有 API 调用都使用 HTTPS 进行安全通信。
- 服务器的仅限内存的令牌存储意味着您的令牌永远不会写入配置文件之外的磁盘。
故障排除
如果您遇到问题:
- 令牌认证问题
- 确保您的 API 令牌有效并具有必要的权限
- 如果使用环境变量方法,请检查配置文件中的令牌格式是否正确
- 如果环境令牌不起作用,请尝试直接在 Claude 中使用
configure
工具
- 服务器连接问题
- 检查您是否安装了最新版本的服务器
- 验证是否安装了 Node.js 18 或更高版本
- 更改配置后重新启动 Claude for Desktop
- API 错误
- 验证您使用的项目、环境和服务 ID 是否正确
- 查看铁路状态页面,了解任何服务中断情况
- Railway API 有速率限制 - 避免在短时间内发出过多请求
贡献
我们欢迎社区的贡献!请参阅我们的贡献指南,了解如何开始使用、开发指南和调试信息。
可用工具
验证
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
- 部署新的数据库服务
设置新服务
- 列出项目以获取项目 ID
- 从模板创建新服务
- 添加环境变量
- 查看服务部署
管理环境变量
- 列出项目以查找您的项目 ID
- 列出变量以查看当前设置的内容
- 根据需要创建或更新变量
- 删除所有过时的变量