SSH Rails Runner MCP服务器是一个借助SSH实现远程安全执行Rails控制台命令的工具。它为部署环境中的Rails应用程序提供了进行只读操作和严格管理的突变操作的能力,让数据处理和分析工作更加便捷高效。与Cursor配合使用时,能发挥出更强大的功能,你可以利用Cursor Composer拉取Rails模型文件作为上下文,然后使用相关工具对数据库进行更改,无需通过复杂的管理员UI来完成这些工作。
SSH Rails Runner MCP服务器可通过SSH远程安全执行Rails控制台命令。你可以结合Cursor或Claude Desktop使用,以实现更便捷的数据处理和分析。
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配置中添加:
{
"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": "显示在工具描述中以帮助LLM描述我们正在处理的Rails项目的名称。",
"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
(字符串,可选)。code_snippet_.json
,标记为只读或突变,并打开该文件以供审核。file://
URI。mcp_ssh_rails_runner_execute_code_snippet_read_only
uri
(字符串,file://
URI来自prepareCodeSnippet
)。readOnly
,执行代码的安全检查,并运行它。mcp_ssh_rails_runner_execute_code_snippet_mutate
uri
(字符串,file://
URI来自prepareCodeSnippet
)。mutate
,执行代码的安全检查,并运行它。⚠️ 重要提示
- 确保SSH连接是加密的(例如使用SSH协议版本2)。
- 避免在不受信任的网络中传输敏感数据。
- 在处理代码片段时,始终进行严格的输入验证和 sanitization。
- 保持服务器和客户端软件更新以防止已知的安全漏洞。
本项目采用MIT许可证。