Daily Studio Teleprompter
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Send a shoot's worth of scripts to the Daily Studio teleprompter on iPhone, in one link.
| Author | app.dailystudio |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2710 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Daily Studio Teleprompter": {
"url": "https://dailystudio.app/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (12)
send_script_to_teleprompterTurn one or more finished video scripts into a single one-tap link that opens the user's Daily Studio app with the script(s) loaded into the teleprompter and the right platform safe-zones selected, ready to record. For one script use `text`; for a batch the user will record back-to-back (a day's 3-4 videos, or a whole content plan — up to 100), use `scripts` — they land as an in-app shoot queue in order, and ONE link carries them all. Call this only once the scripts are final. Returns a link the user taps on their iPhone; on a desktop it opens a page with a QR code to scan.
Parameters:
wpm— integer — Optional scroll speed in words per minute. Sets the app's teleprompter speed. Omit to leave the user's setting alone. With `scripts`, applies to items that don't set their own.text— string — A finished talking-head script to speak directly to camera, plain UTF-8. Newlines allowed. Provide either this or `scripts`, not both.title— string — Optional short label for `text`, e.g. 'Cold plunge hook'.scripts— array — A batch of scripts (in recording order) delivered as a single link — up to 100 of them, 400000 characters of script in total. The app queues them; after each recording it offers the next. Provide either this or `text`, not both.platform— string — Where the video will be published. Selects that platform's safe-zone overlay so on-screen UI never covers the creator. Omit to leave the user's choice alone. With `scripts`, applies to items that don't set their own.
Hints: read-only no · destructive no · idempotent no · open-world no
list_connected_accountsread-onlyList the social accounts the user has connected to Daily Studio, so you know where a video could be published and under which handle. Requires a connected Daily Studio account — the first time you call this, the user is asked to connect one, and the call is retried automatically afterwards. Nothing is published by this tool.
Hints: read-only yes · destructive no · idempotent yes · open-world no
add_scripts_to_planPut finished talking-head scripts into the user's Daily Studio content plan, each with the day it should go out. Use this when the user asks you to PLAN — a week, a month, a series — rather than to hand them something to record right now. The plan lives on their account: it shows up in the app, on dailystudio.app/plan, and stays there. Calling this twice with the same scripts is safe; duplicates are skipped. Requires a connected Daily Studio account with the plan turned on. To record something immediately, use `send_script_to_teleprompter` instead — that is a delivery, this is a plan. Default to about 45 seconds of natural speech directly to camera: a hook, one clear idea and a short closing. Preserve the creator's voice and verified facts.
Parameters:
scripts(required) — array — The scripts to add, in the order they should sit in the plan.collection— string — Optional name for this batch as a group — a topic ('Customer questions'), a series ('Framing, part 1-5'), or what the week is about. The scripts show up grouped under it in the app and on the web, which is how somebody finds them again later. Use one when the scripts belong together; leave it out for a handful of unrelated ones.
Hints: read-only no · destructive no · idempotent no · open-world no
list_planned_scriptsread-onlyRead what is already in the user's Daily Studio content plan — each script's id, title, collection, the day it goes out, its place in the shoot order, and how far it has got (written, recorded, uploaded, scheduled, published, or failed). Call this before adding to a plan so you do not repeat what is there, before editing so you hold real ids, and whenever the user asks what they have coming up. Nothing is changed by this tool.
Parameters:
to— string — Only scripts dated on or before this day.from— string — Only scripts dated on or after this day.collection— string — Only scripts in this collection. Omit to read the whole plan.includeUndated— boolean — Include scripts with no date at all (the backlog). Default true.
Hints: read-only yes · destructive no · idempotent yes · open-world no
edit_planned_scriptsChange scripts already in the user's Daily Studio content plan, by id and in bulk: move them to other days, group them into collections, retitle or rewrite them. This is the tool for 'these contents go on these days, grouped like this' when the content already exists — read the plan first with list_planned_scripts, then send one call with all the changes. Only the fields you send change; one bad entry never drops the batch.
Parameters:
edits(required) — array — The changes, one entry per script. Only the fields you send change; everything else stays. Get ids from list_planned_scripts.
Hints: read-only no · destructive no · idempotent yes · open-world no
get_planned_scriptsread-onlyRead the full text of specific scripts in the user's content plan, by id — the words themselves, not just titles. Use it before rewriting or reviewing a script, or when the user asks about one ('check the hook on Tuesday's'). Up to 20 per call.
Parameters:
ids(required) — array — The scripts to read in full, at most 20 per call. Ids come from list_planned_scripts.
Hints: read-only yes · destructive no · idempotent yes · open-world no
archive_planned_scriptsArchive scripts out of the user's working plan, by id — or restore archived ones with `restore: true`. Archiving is reversible and keeps the script and any recorded video; it is the right way to clear finished or shelved work. Permanent deletion is deliberately not available to assistants — the user does that themselves.
Parameters:
ids(required) — array — The scripts to archive (or restore). Ids come from list_planned_scripts.restore— boolean — true brings archived scripts back into the plan instead. Default false.
Hints: read-only no · destructive no · idempotent yes · open-world no
reorder_planned_scriptsSet the order the user's camera walks through their scripts — pass ids first-to-record first. Scripts you leave out keep their current order after the ones you name. Use it when the user says what to shoot first, or after planning a batch that should be recorded in sequence.
Parameters:
ids(required) — array — Script ids in the order they should be recorded, first first. Scripts you leave out keep their current order, after the ones you name.
Hints: read-only no · destructive no · idempotent yes · open-world no
list_collectionsread-onlyList the collections (piles) the user already groups their scripts into, with counts. Call it before grouping anything so you reuse their existing names instead of inventing near-duplicates.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_scheduled_postsread-onlyRead what the user has approved for publishing and what happened to it: waiting, going up now, published (with the link), failed (with the reason in plain words), or cancelled. Call it when the user asks 'did my post go out?' or 'why not?'. Nothing is changed by this tool, and new posts cannot be scheduled from here.
Parameters:
state— string — Only posts in this state. Omit for the whole queue, newest first.
Hints: read-only yes · destructive no · idempotent yes · open-world no
cancel_scheduled_postdestructiveCancel one post that is waiting to go out, by id from list_scheduled_posts. Only works while the post is still waiting; the take becomes approvable again. Confirm with the user before calling this — it withdraws something they approved.
Parameters:
id(required) — string — The post's id, from list_scheduled_posts.
Hints: read-only no · destructive yes · idempotent yes · open-world no
retry_scheduled_postPut one failed post back in the queue, due now — by id from list_scheduled_posts. Use it after the cause in the failure sentence is fixed (say, a reconnected account). The post goes out within about five minutes.
Parameters:
id(required) — string — The post's id, from list_scheduled_posts.
Hints: read-only no · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.