SKIP TO CONTENT

ORANO MCP / HOW IT WORKS

The video
context contract.

ORANO reads a Reel or video once, separates the evidence, and gives an agent a bounded interface for asking only for what it needs.

READ-ONLY 14 SELECTABLE FIELDS 3 OUTPUT FORMATS 48H PUBLIC TTL

01 / ARCHITECTURE

One video.
A queryable context contract.

Capture stays separate from understanding. The same ORANO ingestion path that powers the product produces the evidence packet; WebMCP adds a precise way for the page or an agent to ask for a slice of it.

01

Video URL

Public Reel, video, or a supported source enters the lab.

02

Ingest

Fetch the source, caption, metadata, speech, and representative frames.

03

Evidence

Keep speech, OCR, visual analysis, links, and web context distinguishable.

04

Select

Request one field or a focused group with an explicit size and format.

05

Agent

Use the answer in the shared human + agent workspace.

THE IMPORTANT SHIFT

A video is no longer a URL an agent has to figure out. It becomes a typed, inspectable context source where a request can say “only the transcript and sampled frame analysis, in Markdown.”

02 / FIELD SELECTOR

Ask for the
part that matters.

The selector is an explicit allow-list, so agents can choose the useful evidence without sending arbitrary instructions to the worker. Empty fields are reported as unavailable instead of silently fabricated.

Source evidence

FROM THE VIDEO
  • caption

    The creator-provided caption, kept separate from speech.

    CREATOR INPUT
  • transcript

    Speech recognized from the video, bounded for agent use.

    SPEECH
  • visual_analysis

    Visual context and on-screen/OCR information.

    VISUALS + OCR
  • frame_analysis

    Analysis of representative sampled frames, timestamps, and cues.

    SAMPLED FRAMES
  • raw_source

    The bounded raw source evidence when a downstream system needs it.

    RAW EVIDENCE

Structured output

ORANO SHAPE
  • summary

    A concise synthesis of what the source is about.

    SUMMARY
  • overview

    Story, takeaway, sections, and the next useful move.

    PROJECT OVERVIEW
  • project_output

    Mode, content type, category, priority, time, and cost fields.

    STRUCTURE
  • links

    Extracted resources and URLs, with their source labels.

    RESOURCES
  • source

    Canonical URL, title, processing status, and provenance metadata.

    METADATA

Enrichment + action

OPTIONAL
  • web_context

    Search context kept visibly separate from creator evidence.

    OUTSIDE THE VIDEO
  • research

    Findings and sources attached by ORANO when research exists.

    LOOKUP
  • tasks

    Ordered next actions when the source supports an actionable plan.

    ACTION PLAN
  • roadmap

    Ordered learning or execution steps when available.

    ROADMAP

03 / REQUEST SHAPE

One request.
One bounded answer.

The public lab exposes this as a WebMCP tool. The REST route below is the same selector for a client that wants to call the challenge backend directly.

REST / SELECT CONTEXTPOST
curl -X POST \
  https://orano-ai-backend-1037939693300.us-central1.run.app/v1/webmcp-challenge/projects/<project_id>/context \
  -H "Authorization: Bearer <guest_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "include": ["transcript", "frame_analysis", "links"],
    "format": "structured",
    "max_chars": 12000
  }'

Use the REST names here: max_chars is snake_case in the HTTP body. The browser WebMCP tool uses maxChars in its JSON schema.

RESPONSE / SHARED SHAPEJSON
{
  "project_id": "<project_id>",
  "format": "structured",
  "requested": ["transcript", "frame_analysis", "links"],
  "available": ["transcript", "frame_analysis", "links"],
  "unavailable": [],
  "truncated": false,
  "data": {
    "transcript": "...speech evidence...",
    "frame_analysis": {
      "timestamps": [0.8, 10.58, 15.42],
      "sampling_strategy": "transcript-targeted+seeded-random",
      "analysis": "...frame evidence..."
    },
    "links": [{ "title": "...", "url": "https://..." }]
  }
}

Illustrative shape: the values above are placeholders. The live lab returns source-grounded values or clearly marks a field unavailable.

markdown

READABLE

Labeled sections for a model prompt, review screen, or a handoff a human can scan quickly.

## Speech transcript

…

text

PLAIN

Simple labeled text when the receiving system does not need Markdown syntax.

TRANSCRIPT:
…

04 / LIFECYCLE

The agent can
come back for more.

Analysis and selection are separate calls. That lets a client load the compact answer first, then ask for deeper evidence only when the next question needs it.

01

Analyze

Submit a supported public URL. The lab creates an isolated guest project and returns its id.

POST /ANALYZE
02

Poll

Follow the project until the real processing stage is ready; the thumbnail stays visible while it works.

GET /PROJECTS/:ID
03

Select

Ask for transcript, frames, links, or the structured output in the format your agent can use.

POST /CONTEXT
04

Talk

Use that evidence in chat, or let a human focus a block and continue the same conversation.

POST /CHAT
05

Expire

Public challenge workspaces are removed after 48 hours by the cleanup worker.

48-HOUR TTL

05 / WEBMCP SURFACE

A tool the page
can actually expose.

When the browser provides document.modelContext.registerTool, the live lab registers named tools with JSON schemas. Human controls and agent calls share the same page state.

01

Named intent

orano_request_video_context tells the agent exactly what the operation does before it calls.

02

Typed input

The schema enumerates fields, formats, and the maximum response size so requests stay predictable.

03

Shared state

A human can click the visual-analysis block; the agent can request the transcript; both see one source and one conversation.

04

Untrusted evidence

Extracted source material is reference data, not instructions. Research and web context remain separately labeled.

BROWSER REGISTRATION / CURRENT DRAFT APIJS
const controller = new AbortController();

document.modelContext?.registerTool({
  name: "orano_request_video_context",
  title: "Request specific video context",
  description: "Request only the video evidence an agent needs.",
  inputSchema: {
    type: "object",
    properties: {
      include: { type: "array", items: {
        type: "string",
        enum: ["transcript", "visual_analysis", "frame_analysis", "links", "summary"]
      }},
      format: { type: "string", enum: ["structured", "markdown", "text"] },
      maxChars: { type: "integer", minimum: 500, maximum: 20000 }
    }
  },
  annotations: { readOnlyHint: true, untrustedContentHint: true },
  async execute(input) {
    return selectCurrentVideoContext(input);
  }
}, { signal: controller.signal });

ORANO follows the current experimental WebMCP registration shape. The live page remains useful with ordinary controls when a browser does not expose the model context surface.

06 / BUILDER REFERENCE

Everything you need
to wire it in.

Use the live lab for a temporary, no-sign-up evaluation. Use the personal MCP connection after checkout when an agent needs to read a user's saved ORANO projects.

SurfacePurposeAuth + notes
POST /v1/webmcp-challenge/analyzeStart a temporary analysis from a supported public URL.Guest bearer session; public rate limit.
GET /v1/webmcp-challenge/projects/:idPoll the complete project payload and processing status.Owned guest project only; expires with the workspace.
POST /v1/webmcp-challenge/projects/:id/contextSelect fields and receive structured, Markdown, or text context.Allow-listed fields; 500–20,000 character bound.
POST /v1/webmcp-challenge/chatAsk the real project chat about the analyzed video.Guest bearer session; source evidence is passed as context.
MCP /mcp/Read a user's persistent projects, memory, handoffs, and selected project context.Personal API key with orano:read; read-focused tools.

07 / RETENTION + BOUNDARIES

Useful access,
clear limits.

The public challenge is designed for evaluation, not as a hidden permanent storage layer. The contract is powerful because it is explicit about what can be requested and how long the temporary workspace lives.

Temporary public workspace

Each guest analysis is marked for 48 hours. An hourly worker removes the expired project, source, extracted context, and ORANO-owned media. If a guest claims the project into an account, the temporary marker is removed and the evidence moves into the normal personal library.

48hPUBLIC RETENTION
20kMAX RESPONSE CHARS
14ALLOW-LISTED FIELDS
0WRITE TOOLS

Personal MCP boundary

The authenticated personal MCP is separate from the public demo TTL. It is read-focused, uses a personal API key with the orano:read scope, and exposes get_project_context for the same field-level selection on saved projects.

ORANO does not offer arbitrary server execution or agent write access through this contract. Source text, captions, frames, and web results are untrusted reference material and should be treated accordingly by the receiving agent.

ORANO MCP / BUILD WITH IT

Let your agent
see the useful part.