Renderball
Server Details
Designed, animated, editable presentations your AI writes on Renderball. No account needed to try.
- Status
- Healthy
- Uptime
- 100.0% over 50 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- agarces1999/renderball-skills
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 13 tools
Most tools target clearly distinct actions (create_deck, submit_page, edit_page, read_page, see_deck, share_deck), and descriptions actively explain boundaries like submit_deck vs submit_page. However, get_brief vs get_page_brief and create_deck vs write_outline overlap in returning briefs/outlines, which could cause minor confusion.
Almost all tools follow a clean verb_noun pattern (create_deck, edit_page, read_page, list_decks, submit_page, write_outline). The lone exception deck_status uses noun_noun instead of a verb, a minor deviation from the otherwise consistent scheme.
At 13 tools the set is well-scoped for a presentation-authoring workflow, with each tool earning its place (create, outline, submit, edit, read, view, share, status). No obviously redundant or filler tools.
The lifecycle is well covered: create, outline, write/submit pages, edit, read, render/see, share, list, and status polling. Minor gaps exist around deck deletion or renaming, but core authoring and editing workflows have no dead ends.
Available Tools
13 toolscreate_deckCreate a deckAInspect
Start a new presentation from a brief, the brand and your outline. The brand: if you can open the brand's website, read its real colours and fonts there first and declare them — the lead colour is usually the main buttons and the large coloured areas, not the link colour — and always give the website; never invent a colour. With the outline the reply carries PAGE 1'S BRIEF; write page 1 and send it with submit_page — each reply carries the next page's brief.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | The page size, any you need: "wide" 1920×1080 (slides, the default), "square" 1080×1080 (a post), "vertical" 1080×1920 (a story, a poster, a menu), or any width × height in px written "1200x628" (each side 100 to 4096): a link card 1200x628, a portrait post 1080x1350, an A4-shaped page 1240x1754, a banner 1500x500. Pick the size the person asked for: never draw a page turned sideways to fake another size. | |
| brand | No | The brand as YOU know it: name, and only the colours, fonts and logo you actually have. Never guess a colour; leave it out. | |
| brief | Yes | What the deck is for, who it is for, what it should argue and ask. Real facts only; the truth check refuses invented figures. | |
| pages | No | How many pages you intend to write (default 5). Ignored when `outline` is given. | |
| outline | No | Your page-by-page outline (one entry per page: label, description, visual_concept, content with a headline). Send it here and the reply carries the brief to write from (page 1's brief when the deck is written page by page) — one call instead of create_deck + write_outline. | |
| brand_url | No | Key holders only: a website Renderball reads for colours, fonts and logo when no brand is declared. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare write/non-destructive/open-world. The description adds substantive behavior beyond that: the call returns page 1's brief, the flow is iterative with each reply carrying the next page's brief, and brand colours must be sourced from the real site rather than guessed. Auth/rate details are absent but the workflow contract is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, followed by brand guidance and then the post-creation workflow. It is dense but each sentence carries actionable instruction; the brand-colour digression is the only slightly padded element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, nested-object, no-output-schema tool, the description covers what the call produces (the next page's brief) and how to continue with submit_page, which is the critical missing piece from structured fields. Return-shape detail and the outline-vs-pages distinction remain unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already carries parameter meaning. The description restates the brand-colour rule (lead colour = buttons/large areas, not link colour) and the website requirement, which largely duplicates the accent and website schema descriptions rather than adding new semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb and resource ('Start a new presentation') and names its three inputs (brief, brand, outline). It does not explicitly differentiate itself from siblings like write_outline or submit_deck, though the mention of submit_page hints at the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operational context: read the brand's site for real colours first, always supply the website, never invent a colour, and after creation the reply carries page 1's brief which you write and send via submit_page. It stops short of stating when to choose create_deck over alternatives such as write_outline or the outline-vs-pages trade-off.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deck_statusCheck an importARead-onlyInspect
Whether a submitted deck is still importing, ready (with the editor link and the rendered pages, to check them), or failed (with the reason).
| Name | Required | Description | Default |
|---|---|---|---|
| deck_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), and the description adds meaningful behavioral context: the three terminal/transient states and what each carries (editor link, rendered pages for review, failure reason). It does not mention auth requirements or polling behavior, but the state enumeration is genuinely informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the question it answers ('whether a submitted deck is...'), with the outcome list parenthetically scoped. No wasted words; only the nested parenthetical slightly burdens readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry return-value burden, and it does by enumerating the possible states and payloads. The only gap is that deck_id's provenance and format are never explained, which matters for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, deck_id, and schema description coverage is 0%. The description implies the id refers to a submitted deck, adding a little semantic framing, but says nothing about the identifier's format or origin (e.g., returned by submit_deck). Baseline for a small schema is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool returns: the import state of a submitted deck, enumerated as importing, ready, or failed. It is distinguishable from siblings like see_deck or submit_deck, though it never names the retrieval verb or explicitly contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied via 'a submitted deck' – the agent can infer this is called after submit_deck, but there is no explicit when-to-use statement and no named alternative. Adequate but leaves the agent to infer the lifecycle position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_pageChange part of a pageADestructiveInspect
Change part of a design that already exists, the way you edit a file: each edit replaces exact text from read_page (it must appear exactly once) with new text. Use it for any change the person asks for in an existing design — a headline, a colour, a picture, moving or removing something — instead of sending the whole page again: everything you do not touch stays as it is, the person's own edits included, and they see the change in their editor at once and can undo it. One page per call, or shared: true for the code every page shares. A refused edit changes nothing and says why. The reply shows the page as it looks now.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Which page to change, 1 first. Leave out only with shared: true. | |
| edits | Yes | Applied in order, all or nothing. | |
| shared | No | true: the edits are to the code every page shares (palette, fonts, helpers), as read_page shows it. Only when the person asks to change the whole design. | |
| deck_id | Yes | ||
| page_id | No | The page_id read_page gave for this page. If the person moved pages since, the edit is refused instead of landing on another page. | |
| summary | No | What you changed, in a few plain words the person sees in their editor, e.g. 'Shortened the headline'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the tool is a non-read-only, destructive write. The description adds substantial context beyond that: atomicity ('Applied in order, all or nothing'), the refusal behavior ('A refused edit changes nothing and says why'), that untouched content including the user's own edits is preserved, and that the change is immediately visible and undoable. That is a rich behavioral profile for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core mechanism (find/replace exactly-once semantics) before the routing advice, and every clause carries information. It is a dense, long paragraph with several stacked ideas, which slightly hurts scannability, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter mutation tool with no output schema, the description covers what an agent needs: the edit mechanism, atomic failure semantics, page/shared selection, the undo guarantee, and even the return ('The reply shows the page as it looks now'). Nothing material is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 83%, so the schema carries most parameter documentation. The description still adds meaning the schema does not: the relationship between page and shared ('One page per call, or shared: true for the code every page shares') and the guarantee that untouched content survives. It does not add anything for deck_id or the find/replace length limits, but the schema covers those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Change part of a design that already exists') and pins down the mechanism precisely: surgical find/replace against text from read_page, one page per call. This clearly separates it from siblings like read_page, create_deck, and write_outline, which either read or author whole pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit when ('any change the person asks for in an existing design — a headline, a colour, a picture, moving or removing something') and an explicit alternative to avoid ('instead of sending the whole page again'). It also scopes the shared:true branch ('Only when the person asks to change the whole design') and states the refusal condition, leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_briefGet the writing briefBRead-onlyInspect
The writing brief for a deck whose outline is already saved.
| Name | Required | Description | Default |
|---|---|---|---|
| deck_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the useful precondition that an outline must already be saved, but does not describe return format, auth, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. It is not front-loaded with a verb, but it wastes no words and communicates the core resource and precondition immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieval tool with annotations covering safety, the description gives the purpose and a key precondition. It remains incomplete on parameter meaning and sibling routing (e.g., get_page_brief), which an agent would need for confident selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one required parameter and 0% schema description coverage, the description must carry the explanation. It only implies 'deck' maps to deck_id and gives no semantics, format, or constraint details (e.g., min/max length).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('writing brief') and scopes it to a deck rather than a page, which helps distinguish it from get_page_brief. However, it is a noun phrase without an explicit verb and does not name the sibling it contrasts with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a precondition ('whose outline is already saved'), which implies the tool is used after outline creation. But it does not say when to use this instead of alternatives like get_page_brief or write_outline, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_examplesRead example pagesARead-onlyInspect
Up to 4 of the studio's example pages, by the ids listed in a page brief — read the ones that fit the page you are about to write.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Up to 4 example ids from the page brief's list, e.g. ["L3", "R12"]. | |
| deck_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds the useful constraint that at most 4 pages are returned and where the ids come from, but says nothing about the shape or size of what comes back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler; the cardinality limit and the routing condition are front-loaded and both earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining what a returned example page contains, and it only implies this. Combined with the undocumented deck_id, the definition is usable but leaves real gaps for a read tool whose return value is the whole point.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'ids' is documented in the schema with format and an example, while 'deck_id' has no description anywhere. The description supplements the ids parameter by tying it to the page brief's list, which is genuine added meaning, but the undocumented deck_id keeps this at a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (read) and resource (the studio's example pages) and states the cardinality cap ('up to 4'), which cleanly separates it from siblings like read_page and get_page_brief. It stops short of explicitly naming an alternative tool, but an agent can tell what this does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Read the ones that fit the page you are about to write' gives a clear situational trigger, and the reference to ids 'listed in a page brief' implies the get_page_brief → get_examples workflow. There is no explicit when-not guidance or named sibling to avoid, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_page_briefGet one page's briefAInspect
The full writing brief for ONE page: the studio's method, the rules, the examples chosen for that page, and (after page 1) page 1's file to continue. You rarely need it: page 1's brief comes with create_deck and each submit_page reply carries the next page's. Use it for a helper that writes one page with nothing in front of it.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | Which page, 1 first. Page 1 must be saved before any other page's brief. | |
| deck_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real context beyond the annotations: the brief already arrives via create_deck and submit_page replies, and non-page-1 briefs depend on page 1 being saved. However, readOnlyHint=false is unexplained — for a tool whose name and text imply a pure fetch, the agent gets no hint of what non-read-only behavior occurs. Some value added, one notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the payload contents before the usage advice; no filler. Slight deduction because the 'You rarely need it' caveat arrives mid-paragraph and reads a little sideways for an agent scanning for the trigger condition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates what comes back (method, rules, per-page examples, page 1's file for continuation) and the ordering prerequisite. Remaining gaps are deck_id semantics and the unexplained readOnlyHint=false, but overall an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'page' is documented inline (1-based, page 1 must be saved first), 'deck_id' is not documented in either place. The description reinforces page ordering ('after page 1, page 1's file to continue') but adds nothing about deck_id's format or provenance, so it only marginally compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (fetch 'the full writing brief for ONE page') and then enumerates the payload: the studio's method, the rules, the examples chosen for that page, and page 1's file. The word 'ONE' and the explicit contrast with 'page 1's brief comes with create_deck' carves out scope against siblings like get_brief and get_examples.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly covers when NOT to use it ('You rarely need it: page 1's brief comes with create_deck and each submit_page reply carries the next page's') and then names the one condition that selects it ('a helper that writes one page with nothing in front of it'). That is a full use/don't-use/alternative picture.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_decksList my decksARead-onlyInspect
The user's Renderball documents, newest first, with editor links. Needs an account (a key). The design open in the person's editor right now comes first, marked open_now.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, non-destructive, non-open-world read. The description adds genuinely new behavioral context: authentication is required, results are ordered newest first, entries carry editor links, and the currently open design is surfaced first and flagged open_now. It omits pagination or result-size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what is returned before the auth and ordering details, with no padding. The final clause about the editor's open design is slightly convoluted but earns its place by naming the open_now marker.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry the return-value burden, and it does: ordering, editor links, and the open_now field are all disclosed. Only pagination/limits and sibling differentiation are missing, which are minor for a zero-parameter list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 per the rubric. There is nothing further for the description to clarify about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (the user's Renderball documents) and its key attributes: newest-first ordering, editor links, and an open_now marker. It never names a sibling like see_deck or deck_status, so the agent must infer the distinction from the name alone, but the returned resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a prerequisite ('Needs an account (a key)') and implicitly scopes results to the authenticated user, which is useful. However, it gives no guidance on when to prefer this over see_deck or deck_status, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_pageRead one pageARead-onlyInspect
Read one page of a design as it is NOW — the code the person's editor shows, including their own edits — before changing it. Use it whenever the person asks to change something in a design that already exists: their editor may hold edits you have not seen. The reply carries the page's code, the code every page shares (palette, fonts, helpers), the page's element ids and, when the person has the design open, the element they selected ("this").
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | Which page, 1 first. | |
| deck_id | Yes | ||
| with_shared | No | Default true: also return the code every page shares (palette, fonts, helpers). Send false when you already have it in this conversation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe-read profile (readOnly, non-destructive, closed-world), and the description adds substantive behavior beyond that: it enumerates the reply contents (page code, shared code, element ids, the currently selected element). This tells the agent exactly what it will receive, which annotations cannot.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the freshness constraint before the when-to-use clause and the return-value detail. Slightly long with three stacked clauses, but each carries information rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must cover return values, and it does so fully (page code, shared code, element ids, selected element). Combined with the annotations' safety profile, an agent has everything needed to call this correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with page and with_shared documented in the schema and deck_id undocumented. The description doesn't add format or semantics for any parameter, though its mention of 'the code every page shares' loosely contextualizes with_shared. Baseline 3 is appropriate where the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource (one page of a design) and qualifies the scope sharply: 'as it is NOW — the code the person's editor shows, including their own edits.' This freshness framing implicitly separates it from a brief-style sibling like get_page_brief, but no sibling is named, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use it whenever the person asks to change something in a design that already exists' gives an explicit trigger condition and the rationale ('their editor may hold edits you have not seen'). It stops short of naming when-not-to-use or naming the alternative (get_page_brief / edit_page) directly, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
see_deckSee the rendered pagesARead-onlyInspect
The deck's rendered pages as images, page 1 first — look at them for overlapping or clipped text, odd spacing, an element off its page or a picture that does not say its page's claim, then fix that page and submit_page it again. Available once the deck has been rendered.
| Name | Required | Description | Default |
|---|---|---|---|
| deck_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context: the return type (images), the page ordering, and the hard precondition that the deck must already be rendered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with an em-dash aside that front-loads what is returned before the inspection checklist and remediation step. Slightly run-on, but every clause carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description steps in to say what comes back (rendered page images, page 1 first) and under what condition it is available, which is what an agent needs to call it correctly. Details like image count or resolution are absent but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (deck_id) with 0% schema description coverage, so the schema contributes almost nothing. The description implies a rendered deck is required but never explains the identifier's format or constraints, leaving most parameter meaning to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ('the deck's rendered pages as images') and ordering (page 1 first), which lets an agent distinguish this visual-inspection tool from read_page. It is phrased as a noun fragment rather than a verb+resource, so it stops just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use context (inspect for overlapping/clipped text, odd spacing, misplaced elements, mismatched pictures) and the follow-up action (fix that page and submit_page it again), naming the sibling tool to route to. The precondition for availability is stated as well.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_deckSubmit the deck fileADestructiveInspect
Replace the whole file of a deck whose pages are all written (while pages are still being written, submit_page each one — a whole file is refused then). Renderball checks it against the brief, renders every page and opens it in the editor. Returns 'ready' with the editor_url, or 'importing' — then poll deck_status.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Who wrote it, e.g. 'claude-code'. Shown in the deck's trace. | |
| source | Yes | The complete deck file, exactly as the writing brief specifies. Raw file or a ```tsx fenced block. | |
| deck_id | Yes | ||
| wait_seconds | No | How long to wait for the import before returning (default 25). Use deck_status to keep checking. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag destructiveHint/readOnlyHint; the description goes further by explaining exactly what is destroyed (the whole file is replaced), the refusal condition, the server-side validation and rendering behavior ('checks it against the brief, renders every page'), and the two concrete return states with the editor_url and the polling fallback. That is real behavioral context beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the primary action comes first, then the sibling-routing caveat, then the outcome. The mid-sentence parenthetical interrupts flow slightly, but every sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so completely: 'ready' plus editor_url, or 'importing' plus the instruction to poll deck_status. Combined with the destructive scope, refusal condition, and usage split against submit_page, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and 'source' is well documented in the schema itself. The description adds the conceptual framing that source is the complete deck file rather than a page, and indirectly explains wait_seconds ('or importing — then poll deck_status'), but says nothing about label. Baseline 3 is appropriate when the schema carries most of the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (replace/submit) and resource (the whole deck file) and explicitly scopes it to decks 'whose pages are all written,' which cleanly separates it from submit_page. An agent can pick between the two siblings without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit alternative and the condition that selects it: 'while pages are still being written, submit_page each one — a whole file is refused then.' It also routes the follow-up case ('importing' → poll deck_status), so both the when and the what-next are covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_pageSubmit one pageADestructiveInspect
Save one page you wrote (page 1: the file with Section0 and the shared design; page N: only its Section), with its direction (one sentence: the thing, the motion that acts out the claim, one craft detail). A page is accepted only after its brief was handed to you. The reply carries the next page's brief; when every page is saved the deck is merged, checked and rendered and the reply carries the rendered pages. To rewrite one page of a finished design, submit just that page: it replaces that page only, and everything else stays as it is, the person's own edits included. To change part of a page, read_page and edit_page are lighter.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | ||
| label | No | Who wrote it, e.g. 'claude-code'. Shown in the deck's trace. | |
| source | Yes | Page 1: the file with Section0 and every shared constant, helper and chrome. Page N: ONLY `export const Section{N-1}`. Raw code or a ```tsx fenced block. | |
| deck_id | Yes | ||
| page_id | No | Rewriting a page of a finished design: the page_id read_page gave. If the person moved pages since, it is refused instead of replacing another page. | |
| direction | Yes | This page's direction in one sentence — the thing, the motion that acts out the claim, one craft detail. It goes into the page as its // Direction: line. | |
| next_brief | No | Default true: the reply carries the next page's brief. A helper writing just one page sends false. | |
| wait_seconds | No | When this page completes the deck: how long to wait for the import (default 25). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the description doesn't need to re-warn about writes. It adds real behavior beyond that: what the reply carries (next page's brief, then merged/checked/rendered pages when the deck completes), and that a single-page resubmit replaces only that page while preserving the person's own edits. It does not spell out what a rejected submission returns, which is the main remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and mode split, and most sentences do work (prerequisite, reply contents, rewrite semantics, alternatives). The rewrite clause is slightly padded ("everything else stays as it is, the person's own edits included"), but the length is justified by the tool's multi-mode workflow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, no-output-schema workflow tool, the description covers the key state machine: prerequisite brief, what the reply returns at each stage, rewrite-vs-full-submit behavior, and when lighter siblings apply. It leaves open the failure/refusal path and how wait_seconds interacts with deck completion, but the operational essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so the schema already documents most parameters (source, direction, page_id, next_brief, wait_seconds, label). The description reinforces the page-1 vs page-N meaning of source and the one-sentence form of direction, but adds little syntax or format detail the schema lacks. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Save one page you wrote") and immediately disambiguates the two modes of the tool (page 1 carries Section0/shared design, page N carries only its Section). It also names the sibling tools that are not this one, so an agent can place it without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: use this tool to submit a page, submit just that page to rewrite one page of a finished design, and use read_page/edit_page when only part of a page changes. It also states a hard prerequisite ("A page is accepted only after its brief was handed to you") that gates invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_outlineWrite the outlineADestructiveInspect
Save a new page-by-page outline for a deck (pages written for the old one are dropped). The reply carries PAGE 1'S BRIEF; each submit_page reply carries the next page's.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | The register, e.g. 'confident, technical, CTO-to-CTO'. | |
| pages | Yes | ||
| deck_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the description earns credit for specifying WHAT is destroyed: 'pages written for the old one are dropped.' It also discloses the unusual reply contract, that the reply carries page 1's brief. It does not mention authorization or irreversibility beyond the drop, but the key destructive behavior is named.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and the destructive consequence, then the reply behavior. It is appropriately sized, though the second sentence is slightly cryptic without knowing submit_page.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive write tool with no output schema and only 33% schema coverage, the description covers the destructive behavior and a key reply detail, but it leaves deck_id and tone unexplained and does not describe the full page object requirements. It is adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33%, so the description must compensate, but it says nothing about deck_id, tone, or the shape of pages. The schema describes many nested fields, but neither the description nor the schema explains the top-level page array semantics. The reply contract is the only parameter-related value added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Save a new page-by-page outline for a deck'), and names the consequence for existing pages. It is distinguishable from siblings like submit_page and edit_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool is used (creating a new outline) and that pages from the old outline are dropped, but it does not explicitly contrast with alternatives such as edit_page or submit_page, nor does it state whether it requires a prior create_deck.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
create_deck3 fields changed- changed
Input schema / properties / size / descriptionPrevious value: -"The page size: wide 1920×1080 (slides, the default), square 1080×1080 (a post), vertical 1080×1920 (a story, a poster, a menu). Pick the size the person asked for: never draw a page turned sideways to fake another size."New value: +"The page size, any you need: \"wide\" 1920×1080 (slides, the default), \"square\" 1080×1080 (a post), \"vertical\" 1080×1920 (a story, a poster, a menu), or any width × height in px written \"1200x628\" (each side 100 to 4096): a link card 1200x628, a portrait post 1080x1350, an A4-shaped page 1240x1754, a banner 1500x500. Pick the size the person asked for: never draw a page turned sideways to fake another size." - removed
Input schema / properties / size / enumRemoved value: -[ - "wide", - "square", - "vertical" -] - added
Input schema / properties / size / maxLengthAdded value: +24
1 tool update
- Changed
create_deck1 field changed- added
Input schema / properties / sizeAdded value: +{ + "description": "The page size: wide 1920×1080 (slides, the default), square 1080×1080 (a post), vertical 1080×1920 (a story, a poster, a menu). Pick the size the person asked for: never draw a page turned sideways to fake another size.", + "enum": [ + "wide", + "square", + "vertical" + ], + "type": "string" +}
11 tool updates
- Changed
deck_status1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
edit_page1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
get_brief1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
get_examples1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
get_page_brief1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
read_page1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
see_deck1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
share_deck1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
submit_deck1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
submit_page1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
- Changed
write_outline1 field changed- removed
Input schema / properties / guest_tokenRemoved value: -{ - "description": "Only for a deck created WITHOUT an account: the guest_token create_deck returned.", - "maxLength": 80, - "type": "string" -}
3 tool updates
- Added
edit_page - Added
read_page - Changed
submit_page1 field changed- added
Input schema / properties / page_idAdded value: +{ + "description": "Rewriting a page of a finished design: the page_id read_page gave. If the person moved pages since, it is refused instead of replacing another page.", + "maxLength": 80, + "type": "string" +}
1 tool update
- Changed
create_deck2 fields changed- changed
Input schema / properties / brand / properties / accent / descriptionPrevious value: -"The lead brand colour: read it from their website if you can open it (usually the main buttons and the large coloured areas, not the links) or from the user's material. Never invent one."New value: +"The lead brand colour (usually the main buttons and the large coloured areas, not the links), only if you know it from the user, their material or their site. Never invent one." - changed
Input schema / properties / outline / descriptionPrevious value: -"Your page-by-page outline (one entry per page: label, description, visual_concept, content with a headline). Send it here and the reply carries the WRITING BRIEF — one call instead of create_deck + write_outline."New value: +"Your page-by-page outline (one entry per page: label, description, visual_concept, content with a headline). Send it here and the reply carries the brief to write from (page 1's brief when the deck is written page by page) — one call instead of create_deck + write_outline."
1 tool update
- Changed
submit_page3 fields changed- changed
Input schema / properties / direction / descriptionPrevious value: -"THE STUDIO'S METHOD, step 4: the one you chose, in one sentence — the thing, the motion that acts out the claim, one craft detail."New value: +"This page's direction in one sentence — the thing, the motion that acts out the claim, one craft detail. It goes into the page as its // Direction: line." - removed
Input schema / properties / picturesRemoved value: -{ - "description": "THE STUDIO'S METHOD, step 2: the six to eight pictures you considered for this page (at least two far-fetched), one short phrase each.", - "items": { - "maxLength": 200, - "minLength": 2, - "type": "string" - }, - "maxItems": 10, - "minItems": 6, - "type": "array" -} - changed
Input schema / requiredPrevious value: -[ - "deck_id", - "page", - "source", - "pictures", - "direction" -]New value: +[ + "deck_id", + "page", + "source", + "direction" +]
1 tool update
- Changed
submit_page4 fields changed- added
Input schema / properties / directionAdded value: +{ + "description": "THE STUDIO'S METHOD, step 4: the one you chose, in one sentence — the thing, the motion that acts out the claim, one craft detail.", + "maxLength": 400, + "minLength": 15, + "type": "string" +} - added
Input schema / properties / next_briefAdded value: +{ + "description": "Default true: the reply carries the next page's brief. A helper writing just one page sends false.", + "type": "boolean" +} - added
Input schema / properties / picturesAdded value: +{ + "description": "THE STUDIO'S METHOD, step 2: the six to eight pictures you considered for this page (at least two far-fetched), one short phrase each.", + "items": { + "maxLength": 200, + "minLength": 2, + "type": "string" + }, + "maxItems": 10, + "minItems": 6, + "type": "array" +} - changed
Input schema / requiredPrevious value: -[ - "deck_id", - "page", - "source" -]New value: +[ + "deck_id", + "page", + "source", + "pictures", + "direction" +]
1 tool update
- Changed
create_deck1 field changed- changed
Input schema / properties / brand / properties / accent / descriptionPrevious value: -"The lead brand colour. ONLY if you know it (from their site's stylesheet or the user's material); never guess."New value: +"The lead brand colour: read it from their website if you can open it (usually the main buttons and the large coloured areas, not the links) or from the user's material. Never invent one."
1 tool update
- Changed
create_deck1 field changed- changed
Input schema / properties / brand / properties / website / descriptionPrevious value: -"Their website, e.g. yourcompany.com — used for the wordmark's source, not read."New value: +"Their website, e.g. yourcompany.com. With an account, when you declare no colours, Renderball reads the site for its colours, fonts and logo — so give the website and leave colours you do not know out."
3 tool updates
- Added
get_examples - Added
get_page_brief - Added
submit_page
8 tool updates
- First observed
create_deck - First observed
deck_status - First observed
get_brief - First observed
list_decks - First observed
see_deck - First observed
share_deck - First observed
submit_deck - First observed
write_outline
Related MCP Connectors
Design mobile-first presentations — create, edit, preview, and publish from your AI.
Generate, edit, and export AI presentations to PDF, PPTX, or a shareable link.
Create professionally designed, editable PowerPoint presentations from a prompt.
Free AI presentation maker: create and edit decks, export PowerPoint and PDF, Arabic right-to-left
Related MCP Servers
- MIT
- AlicenseAqualityFmaintenanceGenerate professional AI-powered presentations from a topic, raw text, or document file. Export to PPTX, PDF, image, or shareable link.51MIT
- AlicenseNot gradedqualityCmaintenanceGenerate executive-ready presentations via API. 32 slide types, 24 chart types, 15 themes, finance vertical with DCF/comp tables/waterfalls. Renders PPTX from JSON IR or natural language prompts.7MIT
- AlicenseAqualityAmaintenanceBuild presentations on an infinite canvas with zooming capabilities: create decks from templates and layouts, import PowerPoint, arrange slides into paths, add animations and speaker notes, render slides to PNG, and export PPTX (with Morph) or PDF, saved as an editable GlideDeck project.2314MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.