Connect Claude, Cursor, and other AI tools over MCP
Point an AI assistant at your workspace: it can read projects and links, post timecoded comments, and answer who watched a cut.
HoldFast runs a Model Context Protocol (MCP) server at https://holdfast.video/api/mcp. Point Claude Code, Cursor, VS Code, or ChatGPT at it and your assistant can list projects and assets, open review links and reels, post timecoded comments, spin up a review link, and answer the question the rest of your toolchain cannot: who watched a cut, from which company, and how much did they care.
Create a token
The MCP server authenticates with the same hf_ tokens as the REST API. In Settings → API & MCP, click + New Token, name it after the client it will live in, and pick the Full API scope; the intelligence tools refuse Plugin-scoped tokens. Copy the token when it appears, because it is shown once. Full walkthrough: Create and manage API tokens.
The Server URL and copy-paste setup blocks live in Settings → API & MCP.
Connect your client
The MCP Server card on the same page shows your workspace's Server URL and a copy-paste setup block per client; create a token first and the snippets include it automatically.
- Claude Code: run
claude mcp add --transport http holdfast https://holdfast.video/api/mcp -H "Authorization: Bearer YOUR_TOKEN"in a terminal. - Cursor / VS Code: add
{ "mcpServers": { "holdfast": { "url": "https://holdfast.video/api/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } }to~/.cursor/mcp.jsonor.vscode/mcp.json. - ChatGPT: Settings → Connectors → Add custom connector, paste the Server URL, and set the Authorization header to
Bearer YOUR_TOKEN. - Stdio-only clients: bridge with
npx mcp-remote https://holdfast.video/api/mcp --header "Authorization: Bearer YOUR_TOKEN".
What the assistant can and cannot do
The tool surface is deliberately lopsided: read tools for projects, assets, review links, reels, contacts, and per-link analytics, plus exactly two writes, both additive. add_comment posts a timecoded note under your name, and create_review_link makes a new shareable page. Creating a link is flagged to the assistant as a consequential action, because it produces a public URL, so a well-behaved client asks you first. Nothing over MCP can delete, overwrite, or unpublish anything; every call is rate-limited per token and confined to your workspace, and a token created by a sales-role user reaches reels and analytics only.
Ask who watched
who_watched takes a review link or a reel and returns the resolved audience with engagement scores: named people where someone identified themselves through an email gate, a personalized link, or a CRM match, and company-level entries like "Someone at agency.com" where that is all the evidence supports. Internal and bot traffic is excluded, and anonymous viewers are never guessed at. Try asking: "Who watched the director's cut this week, and did anyone rewatch it?"
Questions
Can the assistant delete or change my work?
No. The tool surface is read tools plus two additive writes: adding a comment and creating a review link. There is no tool that deletes, edits, or unpublishes anything.
Does who_watched name every viewer?
No, and it does not pretend to. Named people appear where someone identified themselves through an email gate, a personalized link, or a CRM match. Where the signal is company-strength only, you get an honest entry like "Someone at agency.com", and purely anonymous traffic is excluded rather than guessed at.
Why does a tool say it needs a full-access token?
The intelligence tools (who_watched, contacts, workspace stats), listing reels, and review-link creation require the Full API scope, which comes with Pro. Plugin-scoped tokens cover the editing-plugin surface only.
Ready to try it?
Host video, collect frame-accurate review, and see who's watching. Free to start.
Start free