关于 MCP Server: SSH Rails Runner
MCP Server: SSH Rails Runner 通过 SSH 在已部署的 Rails 应用中运行 Rails 控制台命令,面向需要远程读取或修改数据的开发者。它采用先准备代码片段、再执行的流程,并区分只读和变更操作。
主要功能
- 01通过 SSH 运行 Rails 控制台代码
- 02执行只读操作
- 03准备并审查 Ruby 代码片段
- 04执行已批准的变更操作
- 05管理代码片段资源
适用场景
- 01检查远程 Rails 应用中的数据
- 02在运行前审查数据库变更代码
- 03经确认后执行远程数据修改
MCP 相关
该 MCP 服务向客户端提供代码片段准备、只读执行和变更执行工具,并管理代码片段资源。变更执行不包含额外安全检查,需先由用户审查并明确确认。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 服务:SSH Rails Runner
一个可通过 SSH 安全远程执行 Rails 控制台命令的 MCP 服务。该服务提供只读操作工具,以及用于在已部署 Rails 环境中谨慎管理变更的工具。
它与 Cursor 配合使用效果很好。你可以使用 Cursor Composer 将 Rails 模型文件作为上下文引入,然后使用 execute_read_only、dry_run_mutate 和 execute_mutate 工具修改数据库。无需费力操作复杂的管理界面,即可完成数据整理和分析。
示例

功能
- 通过 SSH 远程执行 Rails 控制台命令
- 安全的只读操作
- 支持对变更进行试运行
- 执行已批准的变更
- 管理代码片段资源
安装
npm install
npm run build
配置
设置以下环境变量:
SSH_HOST=your.remote.host
SSH_USER=your_ssh_user
SSH_PRIVATE_KEY_PATH=your_SSH_PRIVATE_KEY_PATH
RAILS_WORKING_DIR=/path/to/rails/app
在 Claude Desktop 中使用
添加到 Claude Desktop 配置中:
{
"mcpServers": {
"ssh-rails-runner": {
"command": "npx",
"args": ["mcp-server-ssh-rails-runner"],
"env": {
"SSH_HOST": "your.remote.host",
"SSH_USER": "your_ssh_user",
"SSH_PRIVATE_KEY_PATH": "your_SSH_PRIVATE_KEY_PATH",
"RAILS_WORKING_DIR": "/path/to/rails/app/root",
"PROJECT_NAME_AS_CONTEXT": "Name that shows up in tool descriptions to help the LLM describe what kind of Rails project we're working with.",
"CODE_SNIPPET_FILE_DIRECTORY": "/path/to/store/code/snippets/locally"
}
}
}
}
如果未提供 CODE_SNIPPET_FILE_DIRECTORY,代码片段将存储在临时目录中(例如 /tmp/mcp-ssh-rails-runner-code-snippets)。
PROJECT_NAME_AS_CONTEXT 为可选项,有助于在工具描述中标识项目上下文。
可用工具
该服务现在采用准备 -> 执行工作流:
mcp_ssh_rails_runner_prepare_code_snippet
- 参数:
name(字符串,用作文件名)、type(枚举:"readOnly" | "mutate")、code(字符串,Ruby 代码)、description(字符串,可选)。 - 功能:将提供的 Ruby 代码保存到名为
code_snippet_<name>.json的本地文件中,将其标记为只读或变更,并打开文件供审阅。 - 返回:所创建代码片段的
file://URI。
mcp_ssh_rails_runner_execute_code_snippet_read_only
- 参数:
uri(字符串,来自prepareCodeSnippet的file://URI)。 - 功能:从 URI 读取代码片段,验证其标记为
readOnly,对代码进行安全检查,然后执行。 - 返回:Rails 命令的输出。
mcp_ssh_rails_runner_execute_code_snippet_mutate
- 参数:
uri(字符串,来自prepareCodeSnippet的file://URI)。 - 功能:危险区域! 读取代码片段,验证其标记为
mutate,并直接执行。此工具不会进行试运行或进一步的安全检查。 - 返回:Rails 命令的输出。
- 用法:只有在用户审阅准备好的代码(通过
prepareCodeSnippet打开的文件)并明确确认要执行变更后,才能调用此工具。
安全注意事项
- 仅在自己的本地计算机上使用可信的 SSH 端点;该计算机需获得对远程环境的(临时)访问权限。
- 至关重要的是,在使用
executeCodeSnippetMutate执行任何变更之前,务必审阅prepareCodeSnippet保存的代码。 确认变更的责任由用户和调用该工具的 AI 承担。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。