Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted just now
teppi

Server definition

Hash
sha256:bb7e6d37061aa1605b49aa56ac1c6982133b244c591f37390a2159e44ee1228e
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Keptbits turns long videos into short vertical clips with captions burned in.\n\nHow it is priced, which is the thing most often got wrong: one token is one clip. It is NOT minutes of footage, not video length, and not a per-minute rate. A three-hour episode and a ten-minute one cost the same for the same number of clips. The user chooses how many clips a run makes and pays one token for each. Never tell the user their balance is in minutes or that it depends on how long their video is.\n\nRe-exporting a clip they already have, in a different caption style or aspect ratio, is free and costs no token.\n\nCall get_account for the real balance rather than estimating one. Ask how many clips they want before calling create_clips, since it spends tokens. A run takes several minutes; return the job id and poll check_job rather than waiting.\n\nIf a tool comes back with an unknown-tool error, re-list the tools instead of guessing a name — the tool set has changed before.", "tools": [ { "description": "Progress of a clip run, and the finished clips once it is done.", "inputSchema": { "properties": { "job_id": { "type": "string" } }, "required": [ "job_id" ], "type": "object" }, "name": "check_job", "outputSchema": { "properties": { "clips": { "description": "Empty until the run is done", "items": { "properties": { "end_s": { "type": "number" }, "id": { "type": "string" }, "score": { "type": "number" }, "start_s": { "description": "Where the clip starts in the source", "type": "number" }, "title": { "type": "string" } }, "type": "object" }, "type": "array" }, "created_at": { "type": "string" }, "error": { "description": "Why it stopped, when it did", "type": [ "string", "null" ] }, "finished_at": { "type": [ "string", "null" ] }, "id": { "type": "string" }, "message": { "description": "What the run is doing, in words", "type": "string" }, "open": { "type": "string" }, "progress": { "description": "0 to 1", "type": "number" }, "stage": { "description": "source, transcript, scoring or render", "type": "string" }, "status": { "description": "queued, running, done, error or cancelled", "type": "string" } }, "required": [ "id", "status", "clips" ], "type": "object" } }, { "description": "Start finding and rendering short vertical clips from a video. Give either source_id (from list_sources) or youtube_url. This costs one token per clip, so ask the user how many they want if they have not said, and set clip_count to that number. It returns a job_id immediately — rendering takes several minutes — then poll check_job.", "inputSchema": { "properties": { "aspect": { "description": "Default 9:16", "enum": [ "9:16", "1:1", "16:9" ], "type": "string" }, "caption_style": { "description": "Caption preset name. Default bold", "type": "string" }, "clip_count": { "description": "How many clips to make, 1 to 100. One token each, and the user chooses freely — if the balance will not cover the number you first tried, call this again with a smaller one rather than reporting that the run cannot be made. Default 5", "type": "number" }, "source_id": { "description": "A source already on the account", "type": "string" }, "target_length": { "description": "Seconds per clip, 15 to 180. Default 30", "type": "number" }, "window_end": { "description": "Read until this second. 0 means the end", "type": "number" }, "window_start": { "description": "Read from this second of the source", "type": "number" }, "youtube_url": { "description": "Link to a single YouTube video", "type": "string" } }, "type": "object" }, "name": "create_clips", "outputSchema": { "properties": { "job_id": { "description": "Pass this to check_job", "type": "string" }, "note": { "type": "string" }, "open": { "description": "Where the user can watch this run in their browser", "type": "string" }, "status": { "description": "queued when the run has just been accepted", "type": "string" } }, "required": [ "job_id", "status" ], "type": "object" } }, { "description": "The signed-in Keptbits account: its plan and what that plan allows. Check this before starting a run, so the run asks for something the account can actually have.", "inputSchema": { "properties": {}, "type": "object" }, "name": "get_account", "outputSchema": { "properties": { "caption_styles": { "description": "Caption styles allowed. null means all of them", "items": { "type": "string" }, "type": [ "array", "null" ] }, "clips_per_run": { "description": "Most clips one run may ask for. null means no limit", "type": [ "number", "null" ] }, "editor": { "type": "boolean" }, "effects": { "description": "Whether silences, transitions and colour grading may be used", "type": "boolean" }, "max_clip_seconds": { "description": "Longest a clip may be. null means any length", "type": [ "number", "null" ] }, "note": { "type": "string" }, "plan": { "description": "free or pro", "type": "string" }, "watermark": { "description": "Whether clips come out watermarked", "type": "boolean" } }, "required": [ "plan", "clips_per_run", "max_clip_seconds" ], "type": "object" } }, { "description": "Clips made on this account recently, newest first.", "inputSchema": { "properties": { "limit": { "description": "1 to 25, default 10", "type": "number" } }, "type": "object" }, "name": "list_clips", "outputSchema": { "items": { "properties": { "created_at": { "type": "string" }, "end_s": { "type": "number" }, "id": { "type": "string" }, "open": { "description": "Where the user can watch and download it", "type": "string" }, "reason": { "description": "Why this moment was picked", "type": "string" }, "score": { "description": "How strongly it scored, 0 to 1", "type": "number" }, "start_s": { "type": "number" }, "tag": { "type": "string" }, "title": { "type": "string" } }, "type": "object" }, "type": "array" } }, { "description": "Videos already uploaded or linked on this account, newest first. Use it to find the source_id for making clips.", "inputSchema": { "properties": { "limit": { "description": "1 to 25, default 10", "type": "number" } }, "type": "object" }, "name": "list_sources", "outputSchema": { "items": { "properties": { "created_at": { "type": "string" }, "duration": { "description": "Length in seconds", "type": "number" }, "id": { "description": "Pass this as source_id to create_clips", "type": "string" }, "kind": { "description": "upload or link", "type": "string" }, "label": { "description": "The video's title", "type": "string" }, "status": { "type": "string" } }, "type": "object" }, "type": "array" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:bb7e6d37061aa1605b49aa56ac1c6982133b244c591f37390a2159e44ee1228e | sha256sum