LoginStart beta
*Ayneye
MCP quickstartStart beta

MCP tool contract

Eight tools give agents a bounded video-perception workflow.

These are the actual Public Beta tools exposed by Ayneye's live remote MCP server.

Public MCP tools

ToolImportant inputsPurpose
ayneye.create_videosource_url, title?, auto_process?, capture_seconds?For an already network-reachable source, use HTTP(S), HLS, or an authorized RTSP URL. For a webcam attached to this computer, use the documented Local camera bootstrap below to create an Ayneye camera-ingest session and obtain a video_id.
ayneye.upload_videofile_reference | filename | upload_handoff_idProcess an existing reference or use/resume the browser-mediated upload handoff.
ayneye.get_video_statusvideo_idRead processing and evidence readiness for this run.
ayneye.get_video_artifactsvideo_idInspect derived artifacts and evidence readiness for this run.
ayneye.ask_videovideo_id, questionAsk a question grounded in materialized evidence for this run.
ayneye.start_livevideo_idStart the registered live source through the bounded tenant-scoped runtime.
ayneye.get_live_statevideo_idRead progressive frame/event state and terminal live-session status.
ayneye.stop_livevideo_idStop live execution while preserving accumulated evidence.

Typical agent flow

Recorded:
ayneye.create_video
→ ayneye.get_video_status
→ ayneye.get_video_artifacts
→ ayneye.ask_video

Live:
ayneye.create_video
→ ayneye.start_live
→ ayneye.get_live_state
→ ayneye.ask_video
→ ayneye.stop_live

Ask uses the same ayneye.ask_video tool for recorded and live evidence.

Public Beta boundaries

capture_seconds accepts 1–60 seconds and defaults to 10. The hard Public Beta processing maximum is 60 seconds per session. Raw video and raw frames are not sent to the language model. Unsupported visual claims must not be invented.

The purpose of this page is to make the MCP boundary concrete for builders, buyers, and reviewers. A useful MCP integration is not a promise that an agent can watch everything and decide everything. It is a disciplined interface over already-materialized evidence. Each tool call should be tenant-scoped, read-only by default, evidence-aware, cost-aware, and auditable. If the request asks for identity, intent, physical access, emergency response, employment action, or destructive change, the tool returns a review-required state instead of pretending that a video artifact is a final decision. This keeps the product useful for developers while making it credible for security, legal, and operations teams.

Using a local camera with an agent

Local camera registration is a public bootstrap step that happens before MCP live reasoning. It intentionally does not expand the Ayneye MCP tool set.

camera bootstrap
→ video_id
→ ayneye.start_live
→ ayneye.get_live_state
→ ayneye.ask_video
→ ayneye.stop_live
→ ayneye.ask_video after stop

An agent should consume the resulting evidence and World-State. It should not receive the camera publish token, Authorization header, arbitrary filesystem access, or local camera-control authority.

Public local-camera bootstrap

Before an agent uses the eight MCP tools with a webcam attached to the developer computer, bootstrap that device through Ayneye's public HTTPS camera-ingest contract.

1. Create the ingest session

POST https://api.ayneye.com/v1/camera-ingest/sessions
Authorization: Bearer $AYNEYE_API_KEY
Content-Type: application/json

{
  "title": "Local webcam",
  "capture_seconds": 60
}

The response supplies session_id, video_id, ingest_url, publish_token, and expiry information.

2. Publish MPEG-TS over HTTPS

POST camera bytes to:
<ingest_url>

Publish header:
X-Ayneye-Ingest-Token: <publish_token>

Media protocol:
MPEG-TS over HTTPS POST

Required HTTP Content-Type:
video/mp2t

FFmpeg:
-content_type video/mp2t

3. Wait for camera readiness

GET https://api.ayneye.com/v1/camera-ingest/sessions/{session_id}
Authorization: Bearer $AYNEYE_API_KEY

4. Use video_id with the frozen MCP contract

video_id
→ ayneye.start_live
→ ayneye.get_live_state
→ ayneye.ask_video
→ ayneye.stop_live
→ ayneye.ask_video after stop

There is no ayneye.connect_camera, ayneye.publish_camera, or ayneye.ask_live tool. Camera bootstrap stays outside MCP and the public MCP contract remains exactly eight tools.