Daily Studio Teleprompter

Send a shoot's worth of scripts to the Daily Studio teleprompter on iPhone, in one link.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
86%
Calidad de los nombres
95%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,121Tokens (definiciones de herramientas)
~1.7 KBTamaño de respuesta típico
Impacto significativo en la atención (2.44% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "teleprompter": {
      "url": "https://dailystudio.app/mcp"
    }
  }
}

Puntos de conexión remotos

https://dailystudio.app/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (12)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡send_script_to_teleprompter(text, title, wpm, platform, scripts)

Turn 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 8000,
      "description": "A single finished teleprompter script, plain UTF-8. Newlines allowed. Provide either this or `scripts`, not both."
    },
    "title": {
      "type": "string",
      "maxLength": 120,
      "description": "Optional short label for `text`, e.g. 'Cold plunge hook'."
    },
    "wpm": {
      "type": "integer",
      "minimum": 60,
      "maximum": 300,
      "description": "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."
    },
    "platform": {
      "type": "string",
      "enum": [
        "TikTok",
        "Instagram",
        "YouTube",
        "Facebook",
        "X Twitter",
        "Generic",
        "None"
      ],
      "description": "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."
    },
    "scripts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000,
            "description": "The finished script for this video, plain UTF-8."
          },
          "title": {
            "type": "string",
            "maxLength": 120,
            "description": "Short label shown in the app's shoot queue, e.g. 'Video 2: myth-busting'."
          },
          "wpm": {
            "type": "integer",
            "minimum": 60,
            "maximum": 300
          },
          "platform": {
            "type": "string",
            "enum": [
              "TikTok",
              "Instagram",
              "YouTube",
              "Facebook",
              "X Twitter",
              "Generic",
              "None"
            ]
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "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."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_connected_accounts

List 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.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡add_scripts_to_plan(collection, scripts)

Put finished 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "collection": {
      "type": "string",
      "maxLength": 80,
      "description": "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."
    },
    "scripts": {
      "type": "array",
      "minItems": 1,
      "maxItems": 100,
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional stable key of YOUR choosing for this script (an idempotency key). Re-sending a batch with the same keys updates those scripts instead of duplicating them — use it when a call may be retried, or to deliberately revise scripts you added earlier."
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20000,
            "description": "The finished script, plain UTF-8. Newlines allowed."
          },
          "collection": {
            "type": "string",
            "maxLength": 80,
            "description": "Overrides the batch's collection for this one script. Rarely needed."
          },
          "title": {
            "type": "string",
            "maxLength": 200,
            "description": "Short label, e.g. 'Cold plunge hook'. Shown as the row's name in the app and on the web."
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "The day this should go out, as YYYY-MM-DD in the user's own calendar. Omit if the plan is not dated yet — an undated script is a normal thing to have and shows up as backlog."
          },
          "platform": {
            "type": "string",
            "enum": [
              "TikTok",
              "Instagram",
              "YouTube",
              "Facebook",
              "X"
            ],
            "description": "Where it is meant to be published. Selects that platform's safe-zone overlay when it is recorded."
          },
          "wpm": {
            "type": "integer",
            "minimum": 60,
            "maximum": 260,
            "description": "Optional teleprompter speed for this script."
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "description": "The scripts to add, in the order they should sit in the plan."
    }
  },
  "required": [
    "scripts"
  ],
  "additionalProperties": false
}
🟢list_planned_scripts(from, to, includeUndated, collection)

Read 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Only scripts dated on or after this day."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Only scripts dated on or before this day."
    },
    "includeUndated": {
      "type": "boolean",
      "description": "Include scripts with no date at all (the backlog). Default true."
    },
    "collection": {
      "type": "string",
      "maxLength": 80,
      "description": "Only scripts in this collection. Omit to read the whole plan."
    }
  },
  "additionalProperties": false
}
🟡edit_planned_scripts(edits)

Change 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "edits": {
      "type": "array",
      "minItems": 1,
      "maxItems": 100,
      "description": "The changes, one entry per script. Only the fields you send change; everything else stays. Get ids from list_planned_scripts.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 64,
            "description": "The script's id, from list_planned_scripts or add_scripts_to_plan."
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 200,
            "description": "New title; null clears it."
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20000,
            "description": "Replacement script text."
          },
          "collection": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 80,
            "description": "Move to this pile; null takes it out of its pile."
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "New go-out day (YYYY-MM-DD, the user's own calendar); null makes it undated."
          },
          "platform": {
            "type": "string",
            "enum": [
              "TikTok",
              "Instagram",
              "YouTube",
              "Facebook",
              "X"
            ]
          },
          "wpm": {
            "type": "integer",
            "minimum": 60,
            "maximum": 260
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "edits"
  ],
  "additionalProperties": false
}
🟢get_planned_scripts(ids)

Read 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "minItems": 1,
      "maxItems": 20,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "description": "The scripts to read in full, at most 20 per call. Ids come from list_planned_scripts."
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false
}
🔴archive_planned_scripts(ids, restore)

Archive 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "minItems": 1,
      "maxItems": 100,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "description": "The scripts to archive (or restore). Ids come from list_planned_scripts."
    },
    "restore": {
      "type": "boolean",
      "description": "true brings archived scripts back into the plan instead. Default false."
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false
}
🟡reorder_planned_scripts(ids)

Set 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "minItems": 1,
      "maxItems": 200,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "description": "Script ids in the order they should be recorded, first first. Scripts you leave out keep their current order, after the ones you name."
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false
}
🟢list_collections

List 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.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_scheduled_posts(state)

Read 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "state": {
      "type": "string",
      "enum": [
        "scheduled",
        "publishing",
        "published",
        "failed",
        "cancelled"
      ],
      "description": "Only posts in this state. Omit for the whole queue, newest first."
    }
  },
  "additionalProperties": false
}
🔴cancel_scheduled_post(id)

Cancel 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 64,
      "description": "The post's id, from list_scheduled_posts."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟡retry_scheduled_post(id)

Put 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 64,
      "description": "The post's id, from list_scheduled_posts."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

Prompts recomendados

retrieve_data
Get details about [item] from Daily Studio Teleprompter
Herramientas esperadas: get_planned_scripts
fetch_info
Fetch [information type] using Daily Studio Teleprompter
Herramientas esperadas: get_planned_scripts
list_items
List all [items] available in Daily Studio Teleprompter
Herramientas esperadas: list_connected_accounts
browse_collection
Show me the [collection] from Daily Studio Teleprompter
Herramientas esperadas: list_connected_accounts
explore_workflow
List available [items], then get details for each one using Daily Studio Teleprompter
Herramientas esperadas: list_connected_accountsget_planned_scripts

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada12 herramientas
verificadoversión no registrada12 herramientas