Skip to content

feat(tools): ruview MCP server + CLI + ADR-104#705

Merged
ruvnet merged 1 commit into
mainfrom
feat/ruview-mcp-cli-pr
May 22, 2026
Merged

feat(tools): ruview MCP server + CLI + ADR-104#705
ruvnet merged 1 commit into
mainfrom
feat/ruview-mcp-cli-pr

Conversation

@ruvnet
Copy link
Copy Markdown
Owner

@ruvnet ruvnet commented May 22, 2026

Summary

  • Adds tools/ruview-mcp/ (@ruv/ruview-mcp) — an MCP server exposing RuView's WiFi-DensePose capabilities as MCP tools for Claude Code, Cursor, and other MCP-compatible agents
  • Adds tools/ruview-cli/ (@ruv/ruview-cli) — a Yargs-based CLI (npx ruview <subcommand>) with the same surface
  • Adds docs/adr/ADR-104-ruview-mcp-cli-distribution.md — full design rationale, 6-row threat table, packaging plan, acceptance gates
  • Adds docs/research/sota-2026-05-22/HORIZON.md — 12-hour autonomous research horizon tracker

MCP tools shipped

Tool Backend
ruview_csi_latest GET /api/v1/sensing/latest (ADR-102)
ruview_pose_infer cog-pose-estimation subprocess (ADR-101)
ruview_count_infer cog-person-count subprocess (ADR-103)
ruview_registry_list GET /api/v1/edge/registry (ADR-102)
ruview_train_count cargo run -p wifi-densepose-train subprocess
ruview_job_status reads ~/.ruview/jobs/.log

CLI subcommands shipped

ruview csi tail | ruview pose infer | ruview count infer | ruview cogs list | ruview train count | ruview job status

Tests

  • 6/6 smoke tests pass in tools/ruview-mcp/tests/tools.test.ts
  • Both packages typecheck clean (tsc --noEmit) with strict mode
  • npm run build exits 0 for both packages

Notes

  • Both packages are private: true — user publishes manually (see ADR-104 §Migration)
  • Inference is via subprocess to the signed cog binaries — no JS/WASM ML engine bundled
  • Fail-open: all tools return {ok:false, warn:true, error:"..."} on missing infra; exit code 0 in CLI

Test plan

  • npm run build passes in tools/ruview-mcp/ and tools/ruview-cli/
  • npm test passes in tools/ruview-mcp/ (6 smoke tests)
  • node tools/ruview-mcp/dist/index.js starts without error (check stderr for [ruview-mcp] Server v0.0.1 started)
  • node tools/ruview-cli/dist/index.js --version prints 0.0.1
  • ADR-104 reviewed for completeness against ADR-100/101/102/103 style

🤖 Generated with claude-flow

Adds two new npm packages that expose RuView's WiFi-DensePose
sensing capabilities outside the Cognitum appliance ecosystem:

- tools/ruview-mcp/ (@ruv/ruview-mcp) — MCP server with 6 tools:
  ruview_csi_latest, ruview_pose_infer, ruview_count_infer,
  ruview_registry_list, ruview_train_count, ruview_job_status.
  Uses @modelcontextprotocol/sdk with stdio transport.
  6/6 smoke tests pass. TypeScript strict mode, Node 20.

- tools/ruview-cli/ (@ruv/ruview-cli) — Yargs CLI with matching
  subcommands: csi tail, pose infer, count infer, cogs list,
  train count, job status. Same fail-open pattern as the cog
  binaries (WARN to stderr, exit 0 on unavailable sensing-server).

- docs/adr/ADR-104-ruview-mcp-cli-distribution.md — design rationale,
  6-row threat table, packaging plan, acceptance gates, failure modes.

- docs/research/sota-2026-05-22/HORIZON.md — 12-hour horizon plan
  with 7 milestones tracked (M1 complete in this commit).

Both packages are private:true pending the user's publish decision.
Inference is via subprocess to the signed cog binaries (ADR-100/101/103)
— no JS/WASM ML engine bundled.

Co-Authored-By: claude-flow <ruv@ruv.net>
@ruvnet ruvnet merged commit 3f462a2 into main May 22, 2026
25 checks passed
@ruvnet ruvnet deleted the feat/ruview-mcp-cli-pr branch May 22, 2026 03:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant