ViewStream
Developers · AI agents

Your AI agent, your video platform.

One API key is all it takes. Claude Code, Cursor, Claude Desktop or any MCP client can work with your ViewStream channels, catch-up, library, subtitles, AI summaries, clips and statistics in plain language, through the ViewStream MCP server or the REST API. Everything an agent does goes through the same API, scopes and audit log as Studio.

How it works

Three steps, about two minutes.

1. Create one API key

In Studio, Integrations → API keys → Create key (Engineer role or higher). Give it only the scopes the agent needs: a read-only agent needs channels:read, assets:read and stats:read. The key is shown once; revoke it in the same screen.

2. Connect your agent

ViewStream runs a remote MCP server at https://api.viewstream.co.il/mcp. Nothing to install: add the URL and the key to Claude Code, Cursor, Claude Desktop or any MCP client.

3. Ask for what you need

“What is on air on all channels right now?” The agent picks the right tools, calls them with your key and answers in your language, Hebrew titles and subtitles included.

No ViewStream account yet? Create a free account in a minute: Free plan with no time limit, no credit card (video library, player, WordPress / Next.js, AI summaries). Larger needs, live channels or a custom agreement: write to [email protected] or use the contact form.

Connect your agent

Set up in two minutes.

Replace <key> with your API key (vs_…). The server speaks MCP Streamable HTTP and authenticates with Authorization: Bearer <key>.

Claude Code

claude mcp add --transport http viewstream \
  https://api.viewstream.co.il/mcp \
  --header "Authorization: Bearer <key>"

# check it, then ask:
claude mcp list
# "Using viewstream, what is on air on all channels right now?"

Cursor

~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project; do not commit the key):

{
  "mcpServers": {
    "viewstream": {
      "url": "https://api.viewstream.co.il/mcp",
      "headers": { "Authorization": "Bearer <key>" }
    }
  }
}

Claude Desktop

Custom connectors sign in with OAuth, which ViewStream does not offer yet. Use the mcp-remote bridge (needs Node.js) in claude_desktop_config.json:

{
  "mcpServers": {
    "viewstream": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.viewstream.co.il/mcp",
               "--header", "Authorization:${AUTH_HEADER}"],
      "env": { "AUTH_HEADER": "Bearer <key>" }
    }
  }
}

Other clients, or raw JSON-RPC

Any client that supports remote MCP servers over Streamable HTTP with a custom header works with the URL and header above; clients that only speak the older HTTP+SSE transport can use mcp-remote. Or call it directly:

curl -s https://api.viewstream.co.il/mcp \
  -H "Authorization: Bearer $VS_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Things you can just say

Plain language, real answers.

“What is on air on all channels right now, and is anything wrong with the feeds?”

“Find last week’s programmes where they talked about the interest rate and open each one at the moment it was said.”

“Summarise yesterday’s 20:00 news and tell me who presented it.”

“Give me the Hebrew subtitles of that programme as a transcript.”

“Cut a clip of the first five minutes of the 20:00 news.”

“Which videos were watched most yesterday, compared with the day before? Are any alerts firing?”

What the agent can do

17 tools, each behind a scope.

The agent only sees the tools its key can use: tools/list is filtered by scope.

Read (no changes to your data)

  • list_channels, channel_status, get_epg — channels, what is on air, feed and recording health, the guide (channels:read)
  • search_catchup, get_programme — search recorded programmes by title, guide text, AI summary, presenters, topics and what was said, with the moments (channels:read)
  • search_library, get_asset — library videos (assets:read)
  • get_subtitles, get_summary — transcripts or WebVTT, the Hebrew AI summary, presenters and topics (assets:read)
  • stats_overview, stats_top — audience and quality (stats:read)
  • list_alerts, service_status — monitoring and service health (channels:read or stats:read)
  • search_docs — the Studio manual, the developer guide and the API reference, English and Hebrew (any key)

Write (a good agent asks you first)

  • create_clip — cut a clip (up to 6 h) from a channel’s recording (clips:write)
  • create_support_request — open a support request with Interhost (support:write)
  • regenerate_summary — a new AI summary from the Hebrew subtitles (assets:write)

Also

  • Resources: viewstream://docs/{en|he}/{topic}, viewstream://openapi, viewstream://openapi/{operationId}
  • Prompts: daily_report (yesterday’s viewing report), find_programme
Safety

Built so an agent cannot surprise you.

Same rules as the API

Every tool calls the public /v1 API as your key: your tenant’s data only, only what the key’s scopes allow, validated exactly like a direct call.

Audited

Each tool call is recorded in the audit log as mcp.tool_call with the tool name and a summary of the arguments. Long texts are stored only as their length.

Rate limited and revocable

20 requests per second per key (burst 100), the same as the REST API. Revoke the key in Studio and the agent stops at once.

Operator (Interhost admin) functions are not available through MCP, and a Studio login cookie is not accepted on /mcp.

For LLMs and crawlers

Machine-readable from the start.

Signed-in Studio users also find these guides in the help centre (Help → API for developers), in Hebrew and English.

Building with an agent?

Tell us what you want it to do. We help customers and their agencies set up keys, scopes and their first workflows.