MCP

MCP

The Pureframe MCP server exposes your video library as a set of tools any MCP-compatible AI agent can call. Once connected, agents can search footage, list collections, and retrieve video details — all through natural language.

Available tools

ToolDescription
search_videosFind moments matching a text query. Returns clips with timestamps, presigned URLs, and base64-encoded frame images.
list_collectionsList all collections in the library.
get_collectionGet details about a specific collection: video count, total duration, and storage used.
get_videoGet metadata and a presigned playback URL for a specific video.

Local MCP server

Install via npx — no global install needed:

1{
2 "mcpServers": {
3 "pureframe": {
4 "command": "npx",
5 "args": ["-y", "pureframe-mcp"],
6 "env": { "PUREFRAME_API_KEY": "pf_key_..." }
7 }
8 }
9}

Add this config to:

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json

Claude Code

~/.claude.json

Cursor

.cursor/mcp.json

Windsurf

~/.codeium/windsurf/mcp_config.json

Restart your client after adding the config.

Remote MCP (no install)

For clients that support remote MCP endpoints — including Claude.ai web:

1{
2 "mcpServers": {
3 "pureframe": {
4 "url": "https://mcp.pureframe.ai",
5 "headers": { "Authorization": "Bearer pf_key_..." }
6 }
7 }
8}

No npx or local install required. The server runs on Pureframe’s infrastructure.

What agents can see

search_videos results include thumbnail_base64 — a base64-encoded JPEG of the matched frame. Vision-capable models can see this image directly without fetching a URL, enabling follow-up questions about visual content:

“Find clips where someone is pointing at a whiteboard, then describe what’s written on it.”

Rate limits

Agent tool calls share the same rate limits as the REST API — 30 requests per minute for search.

Scoping to a collection

Pass a collection_id to search_videos to limit results to a specific library:

1{
2 "tool": "search_videos",
3 "input": {
4 "query": "customer objection about pricing",
5 "collection_id": "col_abc123",
6 "limit": 5
7 }
8}

Use list_collections first to discover available collection IDs.