Token导航 LogoToken导航TokenDH.com
rack MCP logo
开发工具未说明官方级别未说明来源级核验

rack MCP

MCP Server

rails-mcp是一个Ruby gem,为AI助手提供在运行中的应用服务器上下文中执行Ruby代码的能力,适用于调试和调查。

工具数

1

提示词数

0

GitHub Stars

10

资源数

0
RubyClaude开发工具ClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

raja-jamwal

提供方

raja-jamwal

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

轨道mcp

设置这个? 将您的编码代理(Cursor、Claude Code等)指向 llms.txt 并要求它在您的项目中自行配置rails mcp。

一个Ruby gem,在现有运行的应用程序服务器的上下文中为AI助手提供Ruby代码执行功能。想象一下,它让AI助手能够快速访问ruby控制台,而无需编写脚本、重新加载或重新启动。

适用于Rails、Sinatra、Hanami、Roda和任何其他基于Rack的框架。代码在应用程序的上下文中执行,用于调试和调查。

YouTube链接

使用于

在Apollo.io上使用,针对包含20k+Ruby文件的Rails代码库。

用例

  1. 快速学习新的代码库或代码区域。使用您的AI客户端和正在运行的服务器,您可以在执行实际应用程序代码的片段时要求它进行研究。它有效地充当了一个循环代码验证块。
  2. 使用生产环境的只读副本对客户升级进行快速、初步的调查。它可以执行您的应用程序代码,定位模型,并从代码库中运行相关的类方法或代码路径,以进行初步的根本原因分析(RCA)。如果您的应用程序使用事件源框架(即更改日志),那就更好了。AI客户端以及通过rails mcp的代码执行功能可以快速提供初步的RCA。
  3. 使用它进行快速数据分析并将报告导出为CSV。

安装

将此行添加到应用程序的Gemfile中:

gem "rails-mcp"

或者在本地安装以进行开发:

bundle install

用法

安装MCP服务器

轨道 (config/routes.rb):

require "rails_mcp/mcp/server"

Rails.application.routes.draw do
  mount RailsMcp::MCP::Server.new => "/mcp"
end

机架 (config.ru):

require "rails_mcp"
require "rails_mcp/mcp/server"

map "/mcp" do
  run RailsMcp::MCP::Server.new
end

辛纳屈:

require "rails_mcp/mcp/server"

mount RailsMcp::MCP::Server.new, at: "/mcp"

启动服务器

# Standalone with Rackup
bundle exec rackup -p 9292

# With Rails
bundle exec rails server

环境范围安装

此gem不带身份验证,MCP端点将接受任何到达它的请求。您有责任确保它只在适当的地方挂载。一个典型的Rails设置会将其引入环境:

Rails.application.routes.draw do
  mount RailsMcp::MCP::Server.new => "/mcp" if Rails.env.development?
end

对于临时或生产访问,请将其与网络级限制(防火墙、VPC、SSH端口转发、VPN)相结合,这样就永远无法从开放的互联网访问端点。

MCP协议

端点

MCP服务器公开了一个JSON-RPC端点:

  • POST/mcp/rpc -JSON-RPC请求和响应

可用工具

evaluate_ruby_code

  • 描述:评估Ruby代码并返回捕获的stdout/stderr结果
  • 参数:

- code (string,必填):要执行的Ruby代码

连接AI助手

光标/克劳德桌面

添加到MCP客户端配置(.cursor/mcp.json 对于光标或 claude_desktop_config.json 克劳德桌面版):

{
  "mcpServers": {
    "rails-mcp": {
      "url": "http://localhost:3001/mcp/rpc"
    }
  }
}

对于Claude Code,请从命令行添加它:

claude mcp add rails-mcp --transport http http://localhost:3001/mcp/rpc

MCP integration in Cursor

其他MCP客户端

任何兼容MCP的客户端都可以通过向服务器发出JSON-RPC请求来连接到服务器 /mcp/rpc 终点。

卷曲示例:

curl -X POST "http://localhost:3001/mcp/rpc" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'

可选:客户端验证

如果您希望在环境范围的挂载和网络门控之外建立第二层防御,请在构建服务器时启用客户端验证。启用后,每个请求都必须携带 X-Rails-Mcp-Token 值匹配的标头 ENV["RAILS_MCP_TOKEN"] (最少8个字符);否则服务器会响应 401 Unauthorized.

这故意使用自定义标头(不是 Authorization: Bearer)并返回no WWW-Authenticate 因此,它远离标准的MCP/Outh-当宿主Rails应用程序已经通过DCR/众所周知的发现公开了一个单独的、面向产品的MCP服务器时,这一点很重要。

mount RailsMcp::MCP::Server.new(use_client_verification: true) => "/mcp"

在主机环境中设置令牌:

export RAILS_MCP_TOKEN=""

克劳德代码:

claude mcp add rails-mcp --transport http \
  --header "X-Rails-Mcp-Token: $RAILS_MCP_TOKEN" \
  http://localhost:3001/mcp/rpc

光标(.cursor/mcp.json):

{
  "mcpServers": {
    "rails-mcp": {
      "url": "http://localhost:3001/mcp/rpc",
      "headers": {
        "X-Rails-Mcp-Token": ""
      }
    }
  }
}

测试

运行测试套件:

bundle exec rspec

安全警告

⚠️ 这个gem执行任意Ruby代码。

重要的安全注意事项:

  • 没有内置身份验证。 在环境(例如。, if Rails.env.development?)因此,端点不会在生产中意外暴露
  • 仅用于开发环境或安全、隔离的生产环境
  • 依靠网络级别的限制(防火墙、VPC、SSH端口转发、VPN)来限制访问
  • 考虑在沙盒或容器化环境中运行
  • 监控并记录所有代码执行请求

并发注意事项

此宝石使用全局 $stdout/$stderr 评估期间的重定向,这在多线程服务器中可能会发生冲突。对于并发的生产使用,请考虑:

  • 在单工作/线程模式下运行
  • 根据请求进行隔离评估(例如,通过 fork)
  • 使用专用作业员执行代码

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

目录标签

目录标签

RubyClaude开发工具本地部署Ruby开发AI辅助编程代码调试Rails工具

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP