Rails SSH 控制台运行器添加福利群:解决AI开发者的「MCP实战痛点」这是一个MCP服务器,可通过SSH安全地远程执行Rails控制台命令。该服务器提供工具用于只读操作以及在生产环境中的受控变更操作。
与Cursor配合使用效果极佳。您可以使用Cursor Composer拉取Rails模型文件作为上下文,然后通过execute_read_only、dry_run_mutate和execute_mutate工具对数据库进行修改。无需繁琐地操作复杂的管理员界面即可完成数据整理和分析工作。

npm install npm run build
设置以下环境变量:
SSH_HOST=你的远程主机地址 SSH_USER=你的SSH用户名 SSH_PRIVATE_KEY_PATH=你的SSH私钥路径 RAILS_WORKING_DIR=/rails应用路径
将以下配置添加到Claude Desktop配置文件中:
{
"mcpServers": {
"ssh-rails-runner": {
"command": "npx",
"args": ["mcp-server-ssh-rails-runner"],
"env": {
"SSH_HOST": "你的远程主机地址",
"SSH_USER": "你的SSH用户名",
"SSH_PRIVATE_KEY_PATH": "你的SSH私钥路径",
"RAILS_WORKING_DIR": "/rails应用根目录路径",
"PROJECT_NAME_AS_CONTEXT": "在工具描述中显示的项目名称,帮助LLM理解我们正在处理哪种Rails项目",
"CODE_SNIPPET_FILE_DIRECTORY": "/本地存储代码片段的路径"
}
}
}
}

如果未提供CODE_SNIPPET_FILE_DIRECTORY,代码片段将存储在临时目录中(例如/tmp/mcp-ssh-rails-runner-code-snippets)。
PROJECT_NAME_AS_CONTEXT是可选参数,用于在工具描述中标识项目上下文。
服务器现在采用"准备 -> 执行"工作流程:
mcp_ssh_rails_runner_prepare_code_snippetname(字符串,用于文件名),type(枚举:"readOnly" | "mutate"),code(字符串,Ruby代码),description(字符串,可选)。code_snippet_<name>.json的本地文件中,标记为只读或变更操作,并打开文件供审查。file:// URI。mcp_ssh_rails_runner_execute_code_snippet_read_onlyuri(字符串,来自prepareCodeSnippet的file:// URI)。readOnly,对代码进行安全检查,然后执行它。mcp_ssh_rails_runner_execute_code_snippet_mutateuri(字符串,来自prepareCodeSnippet的file:// URI)。mutate,并直接执行它。此工具内部没有试运行或进一步的安全检查。prepareCodeSnippet打开的文件审查了准备好的代码并明确确认要执行变更操作后调用此工具。prepareCodeSnippet保存的代码。 确认变更操作的责任在于用户和调用AI。MIT许可证