From 43de11d93ea2ea6940dc7acc18ef2e5d9ec7bfc5 Mon Sep 17 00:00:00 2001 From: ruv Date: Mon, 25 May 2026 10:32:20 -0400 Subject: [PATCH] feat(plugin/ruview): wire @ruvnet/rvagent MCP server (plugin v0.3.0) Registers @ruvnet/rvagent 0.1.0 as an MCP server in plugin.json, so installing the ruview plugin auto-exposes bfld_last_scan, bfld_subscribe, presence_now, vitals_get_breathing, vitals_get_heart_rate, vitals_get_all, and vitals_fetch as first-class Claude Code tool calls instead of shell-out via the ruview-rvagent skill. Updates the ruview-rvagent skill + Codex prompt with a Quickstart section covering the published npm package and the RVAGENT_SENSING_URL override. The existing Rust-crate exploration content (vendor/ruvector/crates/rvAgent) remains as the substrate for deeper RVF-aware agentic flows. Co-Authored-By: claude-flow --- plugins/ruview/.claude-plugin/plugin.json | 13 +++++++++++-- plugins/ruview/codex/prompts/ruview-rvagent.md | 18 ++++++++++++++++++ plugins/ruview/skills/ruview-rvagent/SKILL.md | 18 ++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/plugins/ruview/.claude-plugin/plugin.json b/plugins/ruview/.claude-plugin/plugin.json index d46671c1..4ad0211d 100644 --- a/plugins/ruview/.claude-plugin/plugin.json +++ b/plugins/ruview/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ruview", "description": "End-to-end RuView (WiFi-DensePose) toolkit for Claude Code: onboarding, ESP32 hardware setup, configuration, sensing applications, model training, advanced multistatic sensing, witness verification, BFLD privacy layer, and rvAgent + RVF agentic flows — from practical to advanced.", - "version": "0.2.0", + "version": "0.3.0", "author": { "name": "ruvnet", "url": "https://github.com/ruvnet/RuView" @@ -19,5 +19,14 @@ "edge-ai", "model-training", "onboarding" - ] + ], + "mcpServers": { + "rvagent": { + "command": "npx", + "args": ["-y", "@ruvnet/rvagent"], + "env": { + "RVAGENT_SENSING_URL": "http://localhost:3000" + } + } + } } diff --git a/plugins/ruview/codex/prompts/ruview-rvagent.md b/plugins/ruview/codex/prompts/ruview-rvagent.md index 553fe22d..3dfcda1e 100644 --- a/plugins/ruview/codex/prompts/ruview-rvagent.md +++ b/plugins/ruview/codex/prompts/ruview-rvagent.md @@ -2,6 +2,24 @@ You are helping the operator explore or prototype the integration of `vendor/ruvector/crates/rvAgent/` (a production Rust AI-agent framework) with RuView's existing sensing pipeline (`v2/crates/wifi-densepose-*`) and the RVF cognitive container format (`v2/crates/wifi-densepose-sensing-server/src/rvf_container.rs`). +## Live MCP server: `@ruvnet/rvagent` v0.1.0 + +The TypeScript MCP server (`tools/ruview-mcp/`, published as `@ruvnet/rvagent`) is live on npm and exposes `bfld_last_scan`, `bfld_subscribe`, `presence_now`, `vitals_get_breathing`, `vitals_get_heart_rate`, `vitals_get_all`, `vitals_fetch`. Add to a Codex MCP config: + +```json +{ + "mcpServers": { + "rvagent": { + "command": "npx", + "args": ["-y", "@ruvnet/rvagent"], + "env": { "RVAGENT_SENSING_URL": "http://localhost:3000" } + } + } +} +``` + +This is the operator-facing tool surface; the Rust crate below remains the substrate for deeper RVF-aware agentic flows. + ## Trigger phrasing - "wire rvAgent into RuView" diff --git a/plugins/ruview/skills/ruview-rvagent/SKILL.md b/plugins/ruview/skills/ruview-rvagent/SKILL.md index 63ba3e8a..da4f5ba0 100644 --- a/plugins/ruview/skills/ruview-rvagent/SKILL.md +++ b/plugins/ruview/skills/ruview-rvagent/SKILL.md @@ -7,6 +7,24 @@ description: Explore and prototype rvAgent + RVF integration for RuView agentic Surface area for wiring `vendor/ruvector/crates/rvAgent/` into RuView so the existing sensing pipeline becomes the substrate an agentic flow can read, reason about, and respond to. +## Quickstart — published MCP server (`@ruvnet/rvagent` v0.1.0) + +Installing this plugin registers `@ruvnet/rvagent` as an MCP server. On activation, Claude Code spawns `npx -y @ruvnet/rvagent` and exposes its tools directly: + +| Tool | Purpose | +|------|---------| +| `bfld_last_scan` | Most recent BFLD event from the sensing server | +| `bfld_subscribe` | Stream BFLD events for a window | +| `presence_now` | Current room-level presence state | +| `vitals_get_breathing` | Latest breathing-rate sample | +| `vitals_get_heart_rate` | Latest heart-rate sample | +| `vitals_get_all` | Composite vitals snapshot | +| `vitals_fetch` | Historical vitals window | + +Override the sensing-server URL via the `RVAGENT_SENSING_URL` env var (default `http://localhost:3000`). Source lives at `tools/ruview-mcp/`; ADR-124 captures the design. + +Smoke-check the wiring: `npm view @ruvnet/rvagent version` should return `0.1.0` (or newer). + ## When to use this skill - "I want an agent that reacts to BFLD presence in the kitchen and pages the carer."