2026-06-10 22:29:02 -04:00
2026-06-10 22:29:02 -04:00
2026-06-10 22:29:02 -04:00
2026-06-10 22:29:02 -04:00
2026-06-10 22:29:02 -04:00

Reyna CLI

On-demand CLI façade for Reyna family MCP services and LAN devices. The goal is to avoid keeping every MCP server/tool schema loaded in Hermes memory while still letting Hermes call capabilities through terminal when needed.

Phase 2 scope

  • Devices parent command: All local devices are now under reyna-cli devices.
    • reyna-cli devices screen ... (ESP32 screen)
    • reyna-cli devices iphone ... (iPhone app)
    • reyna-cli devices arm ... (Robot arm)
  • Robot Arm: Dynamic tool resolution for state, home, wave, battery.
  • Immich: On-demand MCP bridge at http://127.0.0.1:8626/mcp.
  • MongoDB: On-demand MCP bridge at http://127.0.0.1:8630/mcp.
  • Top-level aliases: reyna-cli screen, reyna-cli iphone, reyna-cli arm still work for compatibility.

Install / run

uv sync
uv run reyna-cli doctor

Device discovery

uv run reyna-cli devices list --json
uv run reyna-cli devices ping esp32_screen --json
uv run reyna-cli devices tools esp32_screen --json
uv run reyna-cli devices describe esp32_screen --for-hermes

Generic MCP calls

uv run reyna-cli devices call esp32_screen draw_text --args '{"text":"Hello","x":10,"y":20,"size":2}' --json

Robot Arm

uv run reyna-cli devices arm state
uv run reyna-cli devices arm home
uv run reyna-cli devices arm wave
uv run reyna-cli devices arm battery --json

ESP32 screen & iPhone

uv run reyna-cli devices screen text "Dinner is ready"
uv run reyna-cli devices iphone battery --json

Immich

uv run reyna-cli immich stats
uv run reyna-cli immich albums
uv run reyna-cli immich search "sunset" --limit 5
uv run reyna-cli immich tools

MongoDB

uv run reyna-cli mongo dbs
uv run reyna-cli mongo collections my_db
uv run reyna-cli mongo count my_db my_coll --filter '{"status":"active"}'
uv run reyna-cli mongo find my_db my_coll --limit 5
uv run reyna-cli mongo aggregate my_db my_coll --pipeline '[{"$match":{}}]'

Tests

uv run pytest -q
S
Description
No description provided
Readme 258 KiB
Languages
Python 100%