Connect your cameras. Give your agent eyes.

How to install the Rikuy Bridge, connect your recorder and add Rikuy to any agent that speaks MCP. Every page here also exists as Markdown, so your agent can read it too.

/docs/tools.md

Tools

Verb and object, in snake_case. IDs carry a prefix (loc_, cam_, look_, conn_) and match the app. Every look tool is read only and requires purpose, which goes to the activity log.

GroupToolInputReturns
Sign-upcheck_camerasbrand, modelWhether the recorder is compatible and how Rikuy connects to it. No account needed.
Sign-upstart_membershipbusiness, locations, recorderA pending approval: link, 8 character code, expires in 15 minutes.
Sign-upget_membership_statusnonepending, active, past_due or canceled.
Looklist_camerasnoneCameras with id, name, zone, what it sees, whether it can be seen now, days back, time zone, clock offset.
Lookget_framecamera_id, at, purposeOne JPEG up to 1280 px, recorder time, corrected time, look_id. at is "now" or a date and time.
Lookget_framescamera_id, start, end, count, purposeUp to 24 frames sampled across the range, with their times and a look_id.
Lookget_clipcamera_id, start, end, purposeSigned link to an MP4 without audio, up to 120 s, expires in 24 h, look_id.
Activityget_activity_logsince, untilThe looks this agent made in that range.
Activityrecord_answerlook_ids, summary, flaggedConfirmation. The conclusion is saved next to the look. Writes only to the log.

Sign-up, no account needed

{ "tool": "check_cameras", "arguments": { "brand": "Hikvision", "model": "DS-7608NI" } }
→ { "compatible": true, "method": "ISAPI + RTSP" }

Look

{
  "tool": "get_frames",
  "arguments": {
    "camera_id": "cam_01",
    "start": "2026-10-18T22:00:00-04:00",
    "end": "2026-10-19T06:00:00-04:00",
    "count": 12,
    "purpose": "Compare scratch-offs handed out with the lottery terminal report"
  }
}
→ 12 images (JPEG, 1280 px), each with recorder time and corrected time
  "look_id": "look_8f2a", "note": "Review the clip before acting on it."

Activity

{
  "tool": "record_answer",
  "arguments": {
    "look_ids": ["look_8f2a"],
    "summary": "14 tickets handed out after 2 AM with no matching sale.",
    "flagged": true
  }
}
→ { "ok": true }   // the owner gets "Your agent flagged a look"

Limits

  • get_frames: up to 24 frames per look. Long ranges run as an MCP task.
  • get_clip: up to 120 seconds, MP4 without audio, signed link that expires in 24 hours.
  • Each location has a fixed usage limit. Past it, tools answer RATE_LIMITED.

Stuck in setup? We do it with you.

During the private demo, every store gets a guided install on a video call, in English or Spanish.