Give your AI agent local eyes and ears on your footage
Your assistant can read your email and browse the web, but it's blind to the hours of video and audio sitting on your disk. MediaFind's MCP server fixes that — it hands Claude, Claude Code, or Cursor a set of tools to search, ask, and read transcripts across your local library. The media never leaves your machine.
An AI agent is only as useful as the tools it can reach. Give one a calendar and it schedules; give it a shell and it writes code. But point it at “the folder with 300 hours of interviews” and it's helpless — it can't watch video, and it certainly can't remember which clip mentioned the pricing change.
MediaFind already turned that folder into something an agent can use: a timestamped, embedded, searchable index built entirely on-device. The MCP server is the last mile — it exposes that index to your agent as callable tools, so the assistant you already talk to can now answer questions about your own footage.
What MCP actually is
The Model Context Protocol is an open standard for connecting AI applications to outside tools and data. A client — Claude Desktop, Claude Code, Cursor, or any MCP-capable agent — launches a server, discovers the tools it offers, and calls them mid-conversation. Think of it as the USB-C of agent tooling: one protocol, many tools, no bespoke glue per app.
Crucially, an MCP server can run on your machine and talk to the client over stdio — no network hop, no hosted endpoint. That's the property that lets MediaFind join the agent ecosystem without giving up the thing it exists to protect.
It's a facade, not a rewrite
Here's the part that made this cheap to build: MediaFind's engine already backs two front-ends — the desktop app and the mediafind CLI — through the same core modules. The MCP server is a thin third face over that same engine. Each tool is a few lines that call the exact function the app and CLI already call. No second copy of the index, no re-implemented search, no divergence to keep in sync.
The tools your agent gets
The server exposes a small, sharp set of tools — each wrapping a real engine call, not a re-implementation:
search_media— natural-language, multimodal search over the library; returns the matching clips with timestamps.ask_library— a grounded answer to a question, stitched from your own transcripts with citations to the exact second (how that works).get_transcript— the transcript and summary for one indexed file.library_status— index size, entitlement, and trial state.list_people— the clustered people/faces roster (a Pro tool).
Because the tools share the engine, they also share its license gate. A free user whose agent calls a Pro tool gets the same structured upgrade nudge the app shows — the paywall lives in one place, not re-litigated per surface.
search_media and library_status never leave your machine: the ranking and the counts are computed locally and the agent only sees results. But ask_library and get_transcript return on-device text — an answer, a transcript — and the moment your agent reads that text, it goes to whatever model your agent runs. That's your trust boundary, and the tool descriptions state it plainly so you choose it deliberately. The media itself never moves; only the specific text you ask an agent to read is exposed to that agent's model.This is the honest version of “private.” We're not going to pretend a transcript handed to a third-party agent stays on your Mac — it doesn't, and you should know that. What we can promise is that nothing happens implicitly: the recordings stay put, search and status are local, and the one place content crosses the line is a tool you invoked on purpose.
Three doors to install it
Pick whichever matches how you work. All of them end at the same local server.
1 — From the desktop app (no separate install). The packaged app can serve its own MCP server. Open Settings → Connect to AI agents, hit Add to Claude Desktop, and it writes the config for you (or copy the one-line command for Claude Code / Cursor). Nothing else to download.
2 — With pip, for the CLI crowd.
pip install "mediafind[mcp]"
claude mcp add mediafind -- mediafind-mcp
3 — A one-click Claude Desktop bundle (.mcpb) you drop into Settings → Extensions.
Index a folder once — mediafind index ~/Movies — and your agent has something to search. If you already run MediaFind, that index is already built; the MCP server reads the very same one.
What a call looks like
From the agent's side, your library is just another tool. Ask Claude “find the moment we discussed the January price increase” and it calls:
search_media(query="January price increase discussion", k=3)
→ [{ "media_path": "mtg-q3.mp4", "timestamp": "11:48",
"text": "…we agreed to push the price increase to January…",
"score": 0.83 }, … ]
The agent gets a path and a timestamp it can cite back to you — the same grounded, checkable result the app would show, delivered into the conversation you were already having.
Why local-first is the whole point
A cloud connector can't reach a folder on your laptop, and the usual fix — upload your footage so a service can index it — surrenders exactly the privacy MediaFind exists to protect. A local MCP server is the one integration that gives an agent full reach over your library while the library stays on your disk. You can check the boundary the same way you can for the rest of the app:
$ mediafind audit
✓ core path opened 0 external sockets.
Search and status ride that same local path. The agent reaches your media; your media doesn't reach the cloud.
MCP is the smallest possible bridge between a capable local engine and the agents people already use. Same index, same license gate, same privacy story — just one more face on the engine. If your assistant can already do half your job, it might as well be able to search the footage too.
Point your agent at your own footage
Free trial. No account, no API keys, and nothing uploaded to make search work.
Download for macOS Set up MCP →