mcpField
R
ruby-native

ruby-native

本地服务
rubynative.com开发工具27今天更新

关于 ruby-native

ruby-native 是面向使用 Ruby Native 将 Rails 应用构建为 iOS 和 Android 应用的团队的 MCP 服务。它检查模板和配置,并提供关联 Ruby Native 账户的构建与发布状态工具。

主要功能

  1. 01检查模板信号中的错误
  2. 02查询原生属性及辅助方法
  3. 03验证 Ruby Native 配置
  4. 04查看设备报告的配置错误
  5. 05检查已发布构建和构建状态
  6. 06准备应用商店资料及提交操作

适用场景

  1. 01查找 Rails 视图中拼写错误的信号
  2. 02在设备构建前检查配置问题
  3. 03诊断真实设备报告的故障
  4. 04查看构建准备情况和商店提交状态

MCP 相关

服务通过 stdin 和 stdout 通信。三个本地工具检查工作副本;账户及发布工具使用 Ruby Native 令牌,提交前需要经过确认步骤才会联系 Apple。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ruby_native

Ruby Native 可将 Rails 应用转换为 iOS 和 Android 应用。这个 gem 提供 Rails 端集成:视图辅助方法、YAML 配置文件、自动挂载到 /native 的端点,以及用于预览和部署构建的 CLI。完整文档(包括完整的辅助方法参考和配置架构)请访问 rubynative.com/docs。

安装

gem "ruby_native"

引擎会自动挂载到 /native。无需配置路由。

开始使用

运行安装生成器:

rails generate ruby_native:install

这会创建 config/ruby_native.yml,并根据你的路由生成标签页。如果你使用编码 Agent,请把下面的内容交给它:

bundle exec ruby_native mcp install

然后说:在此应用中设置 Ruby Native。它会配置布局、检查自己的工作,之后起草应用商店列表文案、截取屏幕截图并提交审核,只会在 Apple 保留给人工操作的少数几步停下来。手动操作时,步骤相同:

  1. 使用你的配色和标签页编辑配置(见下文)。

  2. 在布局 <head> 中添加样式表和 viewport-fit=cover:

    <meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
    <%= stylesheet_link_tag :ruby_native %>
    

    viewport-fit=cover 是必需的,这样 CSS env(safe-area-inset-*) 变量才能解析为实际值,而不是 0。

  3. 在布局 <body> 中添加标签栏:

    <%= native_tabs_tag %>
    
  4. 在手机上预览(见下文)。

完整操作指南(包括安全区域布局,以及使用 native_app? 隐藏仅适用于 Web 的导航)请访问 rubynative.com/docs/setup。

配置

config/ruby_native.yml 控制原生外壳:

appearance:
  tint_color: "#007AFF"
  background_color: "#FFFFFF"

tabs:
  - title: Home
    path: /
    icon: house
  - title: Profile
    path: /profile
    icon: person

在开发环境中,无需重启服务器即可应用更改。完整配置架构请访问 rubynative.com/docs,其中包括外观和深色模式、导航栏品牌设置、高级模式、OAuth 和关联域名。

预览

无需部署,即可在真实设备上预览应用:

bundle exec ruby_native preview

这会启动 Cloudflare 隧道,并显示一个 QR 码,供 Ruby Native 应用扫描。Rails 服务器需要单独运行。需要安装 cloudflared:

brew install cloudflare/cloudflare/cloudflared

隧道会指向端口 3000;如果设置了 PORT,则会指向该端口,这与 rails server 选择端口的方式相同。传入 --port 4000 可覆盖端口;如果上游地址不在 localhost,则可传入 --url。

有关 deploy、login 和从 CI 自动部署的信息,请访问 rubynative.com/docs/cli。

React 和 Vue

使用 Inertia 而不是 ERB 构建?@ruby-native/react 和 @ruby-native/vue 提供相同的辅助方法,作为 npm 包发布,并与此 gem 同步版本。设置说明请访问 rubynative.com/docs/inertia。

AI Agent

每个文档页面都提供 Markdown:在 URL 后附加 .md,或请求 Accept: text/markdown。如需查看所有内容的索引,请获取 rubynative.com/llms.txt;如需将完整文档作为单个文件获取,请访问 llms-full.txt。

MCP 服务

文档会告诉 Agent 应该写什么,却不会告诉它写出来的内容是否有效;而 Ruby Native 的信号会按设计静默失败:不识别 data-native-* 属性的应用会忽略它。拼写错误不会渲染任何内容,不会引发错误,也不会记录日志,因此会一直留到有人打开构建,发现按钮不见了。

ruby_native mcp 弥补了这一环节。它通过标准输入和标准输出使用 MCP。三个工具直接读取你的工作副本,无需账户:

工具可查询内容
check_views模板中有哪些信号拼写错误、重复,或比已安装的 gem 更新
lookup_signals每个 data-native-* 属性、所需的 gem 版本,以及生成该属性的辅助方法
validate_configconfig/ruby_native.yml 中有哪些内容会被应用直接拒绝,哪些会被静默忽略

另外四个工具会读取你的账户,使用 ruby_native login 已存储的令牌:

工具可查询内容
status应用距离提交到 App Store 还有多远、有哪些阻碍,以及谁可以解决每项问题
config_errors过去 48 小时内真实设备报告的失败情况,以及每项失败背后的解码错误
deployed_builds用户实际可以安装的构建,以及它无法识别哪些信号
build_status某个构建是否成功,以及失败时的错误

这两组工具需要配合使用。validate_config 会说明哪些内容将会解码失败;config_errors 会说明哪些内容确实解码失败,以及发生在哪些设备上。check_views 会将模板与 Gemfile 中的 gem 进行比较;deployed_builds 会将模板与应用商店中的二进制文件进行比较,这通常能解答“属性没问题,但我手机上什么也没发生”这个问题。

完整参考文档见 rubynative.com/docs/cli。在项目的 .mcp.json 中注册它,Claude Code 会读取此文件:

bundle exec ruby_native mcp install

然后说:在这个应用中设置 Ruby Native。

将其安装为 Claude Code 插件(先运行 claude plugin marketplace add ruby-native/gem,再运行 claude plugin install ruby-native@ruby-native)后,服务使用的仍是同一条命令。插件会询问是否提供 Ruby Native 令牌;留空即可,账户工具会使用这台机器上通过 ruby_native login 存储的登录信息。

或者,在接受 JSON 的客户端中:

{
  "mcpServers": {
    "ruby-native": {
      "command": "bundle",
      "args": ["exec", "ruby_native", "mcp"]
    }
  }
}

其余工具会通过 Ruby Native 准备各项内容,只有在构建或点击仪表板时才会联系 Apple:permissions_set、testers_add、icon_set、screenshots_setup、screenshots_capture、listing_push、listing_pull 和 demo_account_set,每个工具都与对应的 CLI 命令相同。submit 是唯一会自行联系 Apple 的工具:它需要分两次调用,中间要传入一个令牌,因此 Agent 必须先向你展示即将提交的内容,才能发送;withdraw 则会将其从队列中撤回,直到 Apple 批准。前三个工具不会离开你的机器;其余工具会将 CLI 令牌发送到 rubynative.com。check_views 需要 herb gem,与 ruby_native check 相同。

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。