返回 MCP 目录
public公开dns本地运行

mcp-server-ssh-rails-runner

一个通过SSH安全远程执行Rails控制台命令的MCP服务器,支持只读操作和受控的数据变更。

article

README

🚀 SSH Rails Runner MCP服务器

SSH Rails Runner MCP服务器是一个借助SSH实现远程安全执行Rails控制台命令的工具。它为部署环境中的Rails应用程序提供了进行只读操作和严格管理的突变操作的能力,让数据处理和分析工作更加便捷高效。与Cursor配合使用时,能发挥出更强大的功能,你可以利用Cursor Composer拉取Rails模型文件作为上下文,然后使用相关工具对数据库进行更改,无需通过复杂的管理员UI来完成这些工作。

🚀 快速开始

SSH Rails Runner MCP服务器可通过SSH远程安全执行Rails控制台命令。你可以结合Cursor或Claude Desktop使用,以实现更便捷的数据处理和分析。

✨ 主要特性

  • 🚀 通过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": "显示在工具描述中以帮助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(字符串,可选)。
  • 功能:将提供的Ruby代码保存到本地文件code_snippet_<name>.json,标记为只读或突变,并打开该文件以供审核。
  • 返回:创建snippet的file:// URI。

mcp_ssh_rails_runner_execute_code_snippet_read_only

  • 参数uri(字符串,file:// URI来自prepareCodeSnippet)。
  • 功能:从URI读取代码片段,验证其标记为readOnly,执行代码的安全检查,并运行它。
  • 返回:Rails命令的输出。

mcp_ssh_rails_runner_execute_code_snippet_mutate

  • 参数uri(字符串,file:// URI来自prepareCodeSnippet)。
  • 功能:从URI读取代码片段,验证其标记为mutate,执行代码的安全检查,并运行它。
  • 返回:Rails命令的输出。

⚠️ 安全注意事项

⚠️ 重要提示

  • 确保SSH连接是加密的(例如使用SSH协议版本2)。
  • 避免在不受信任的网络中传输敏感数据。
  • 在处理代码片段时,始终进行严格的输入验证和 sanitization。
  • 保持服务器和客户端软件更新以防止已知的安全漏洞。

📄 许可证

本项目采用MIT许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端