Live script reader and timer
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user wants to know how long a speech or script will take. Accepts a script up to 30,000 characters or a word count, and slow, conversational, presentation, fast, or a whole number from 60 to 300 words per minute. Returns a duration table; script sections begin at blank lines or heading lines. [PAUSE] adds one second and [PAUSE 3] adds three seconds; numeric cues accept whole seconds from 1 to 86,400 per cue. Does not measure a live recording.
Optional named pace or whole number from 60 to 300 wpm, e.g. presentation. The result also shows the four named paces.
Script to time, e.g. Hello everyone. [PAUSE 2] Thank you for coming.
Use when no script is available: spoken word count, e.g. 650.
Use this when the user wants to know how long a speech or script will take. Accepts a script up to 30,000 characters or a word count, and slow, conversational, presentation, fast, or a whole number from 60 to 300 words per minute. Returns a duration table; script sections begin at blank lines or heading lines. [PAUSE] adds one second and [PAUSE 3] adds three seconds; numeric cues accept whole seconds from 1 to 86,400 per cue. Does not measure a live recording.
| Argument | Type | Description |
|---|---|---|
| speed | any | Optional named pace or whole number from 60 to 300 wpm, e.g. presentation. The result also shows the four named paces. |
| script | string | Script to time, e.g. Hello everyone. [PAUSE 2] Thank you for coming. |
| word_count | integer | Use when no script is available: spoken word count, e.g. 650. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"speed": {
"anyOf": [
{
"enum": [
"slow",
"conversational",
"presentation",
"fast"
],
"type": "string"
},
{
"type": "number",
"maximum": 300,
"minimum": 60
}
],
"description": "Optional named pace or whole number from 60 to 300 wpm, e.g. presentation. The result also shows the four named paces."
},
"script": {
"type": "string",
"maxLength": 30000,
"description": "Script to time, e.g. Hello everyone. [PAUSE 2] Thank you for coming."
},
"word_count": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Use when no script is available: spoken word count, e.g. 650."
}
}
}Use this when the user wants to fit a speech into a target duration. With a target duration and speed, returns how many words to write. With a script and target duration, returns the necessary speed plus words to cut or add at the selected pace. Target duration is 1 second to 24 hours and speed is a whole number from 60 to 300 words per minute. Numeric pause cues accept whole seconds from 1 to 86,400 per cue. Does not rewrite the script.
| Argument | Type | Description |
|---|---|---|
| speed | any | Named writing pace or whole number from 60 to 300 wpm for the word target or cut/add estimate, e.g. conversational. |
| script | string | Optional existing script to assess, e.g. Welcome everyone. Thank you for coming. |
| target_duration_seconds* | integer | Target total duration in seconds, e.g. 300 for five minutes. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"target_duration_seconds"
],
"properties": {
"speed": {
"anyOf": [
{
"enum": [
"slow",
"conversational",
"presentation",
"fast"
],
"type": "string"
},
{
"type": "number",
"maximum": 300,
"minimum": 60
}
],
"description": "Named writing pace or whole number from 60 to 300 wpm for the word target or cut/add estimate, e.g. conversational."
},
"script": {
"type": "string",
"maxLength": 30000,
"description": "Optional existing script to assess, e.g. Welcome everyone. Thank you for coming."
},
"target_duration_seconds": {
"type": "integer",
"maximum": 86400,
"minimum": 1,
"description": "Target total duration in seconds, e.g. 300 for five minutes."
}
}
}Use this when the user wants to read a script in a live teleprompter. Accepts up to 30,000 characters, a whole-number speed from 60 to 300 words per minute or a target duration, text size, mirror mode, and a 0 to 10 second countdown. Returns word count and duration; the full script is shown only in the widget. Numeric pause cues accept whole seconds from 1 to 86,400 per cue. Does not record video or audio.
| Argument | Type | Description |
|---|---|---|
| speed | any | Optional whole-number reading speed from 60 to 300 wpm when target_duration_seconds is not used, e.g. 130. |
| mirror | boolean | Flip the script horizontally for a glass teleprompter, e.g. true. |
| script* | string | Speech script, up to 30,000 characters; numeric pause cues accept whole seconds from 1 to 86,400, e.g. Welcome everyone. [PAUSE 2] Today we will discuss our plan. |
| text_size | integer | Initial script text size in pixels, e.g. 28. |
| countdown_seconds | integer | Seconds to wait after Start before scrolling, e.g. 3. |
| target_duration_seconds | integer | Optional desired total duration in seconds including pause cues, e.g. 300. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"script"
],
"properties": {
"speed": {
"anyOf": [
{
"enum": [
"slow",
"conversational",
"presentation",
"fast"
],
"type": "string"
},
{
"type": "number",
"maximum": 300,
"minimum": 60
}
],
"description": "Optional whole-number reading speed from 60 to 300 wpm when target_duration_seconds is not used, e.g. 130."
},
"mirror": {
"type": "boolean",
"description": "Flip the script horizontally for a glass teleprompter, e.g. true."
},
"script": {
"type": "string",
"maxLength": 30000,
"description": "Speech script, up to 30,000 characters; numeric pause cues accept whole seconds from 1 to 86,400, e.g. Welcome everyone. [PAUSE 2] Today we will discuss our plan."
},
"text_size": {
"type": "integer",
"maximum": 64,
"minimum": 16,
"description": "Initial script text size in pixels, e.g. 28."
},
"countdown_seconds": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Seconds to wait after Start before scrolling, e.g. 3."
},
"target_duration_seconds": {
"type": "integer",
"maximum": 86400,
"minimum": 1,
"description": "Optional desired total duration in seconds including pause cues, e.g. 300."
}
}
}