clip receipts

docs

docs

clip receipts is a local mcp server. claude calls the tools. the tools do the exact parts

quick start

early access: email hello@clipreceipts.online for the server folder, then run inside it:

claude mcp add clip-receipts -- python server.py

as a claude code plugin

claude --plugin-dir ./clip-receipts
/clip-receipts:clip <talk link>

the skill runs the steps in order. a receipt-checker subagent on claude haiku checks every quote & claim again before the receipt is made

needs: python 3.11, ffmpeg, about 2 gb free ram. transcribes with whisper base.en by default (the demo used small.en)

tools

toolinputsreturns
ingestinan https link or a file in the inbox, a title, optional name hintsoutitem id, duration, segment count
read_transcriptinitem id, start, endoutwords with times for that window
cut_clipinitem id, start, endoutclip id, in/out snapped to whole sentences, pauses, transcript fixes
check_clipinclip id, the quotes and claims claude pickedouteach quote exact or not, each claim tagged
caption_clipinclip idouta captioned clip, captions from the transcript
make_receiptinclip idoutreceipt.html + receipt.json
list_itemsinnoneoutthe work folder

the receipt format

receipt.json fields: title · slug · source (title, link, in, out) · speaker · speaker_check · licence · length · quotes[] · claims[] · pauses[] · transcript_fixes[] · independent_check (verdict, notes) · checks[]

see a real one: artemis-earthset.json · artemis-orion.json

content credentials

every clip file carries c2pa content credentials: a signed note inside the mp4 that names the source, the cut and the receipt page. change one byte of the video and the check fails.

we sign with our own key, so checkers like contentcredentials.org/verify show the signer as unknown. our public cert is here. social apps strip the credentials on upload, so the receipt page stays the main proof.

claim tags

limits