{"name":"com.renderball/renderball","slug":"renderball","title":"Renderball","description":"Designed, animated, editable presentations your AI writes on Renderball. No account needed to try.","url":"https://mcp.market/server/renderball","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-15T19:22:48.000Z","license":"MIT"},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/agarces1999/renderball-skills","website":"https://renderball.com","version":"1.1.0","remotes":[{"type":"streamable-http","url":"https://renderball.com/api/mcp"}],"packages":[],"tools":[{"name":"create_deck","description":"Start a new presentation from a brief, the brand as YOU know it (name, and only the colours, fonts and logo you actually have — never guess a colour) and your outline. With the outline the reply carries the WRITING BRIEF, so the whole deck is two calls: this, then submit_deck. Without an account it also returns a guest_token to pass on later calls and deck_url, the one link to give the user.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"brief":{"type":"string","minLength":20,"maxLength":6000,"description":"What the deck is for, who it is for, what it should argue and ask. Real facts only; the truth check refuses invented figures."},"brand":{"description":"The brand as YOU know it: name, and only the colours, fonts and logo you actually have. Never guess a colour; leave it out.","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60,"description":"The brand's name as it should appear."},"website":{"description":"Their website, e.g. yourcompany.com — used for the wordmark's source, not read.","type":"string","maxLength":200},"accent":{"description":"The lead brand colour. ONLY if you know it (from their site's stylesheet or the user's material); never guess.","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"background":{"description":"The page background colour, only if known.","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"text":{"description":"The main text colour, only if known.","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"fonts":{"type":"object","properties":{"headline":{"description":"Headline font family name, only if known.","type":"string","maxLength":60},"body":{"description":"Body font family name, only if known.","type":"string","maxLength":60}}},"logo_url":{"description":"A public https image of the logo (SVG or PNG), only if you have a real one.","type":"string","maxLength":500,"format":"uri"},"voice":{"description":"How the brand speaks, in a sentence or two.","type":"string","maxLength":300}},"required":["name"]},"brand_url":{"description":"Key holders only: a website Renderball reads for colours, fonts and logo when no brand is declared.","type":"string","maxLength":300},"pages":{"description":"How many pages you intend to write (default 5). Ignored when `outline` is given.","type":"integer","minimum":1,"maximum":16},"outline":{"description":"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.","type":"object","properties":{"tone":{"description":"The register, e.g. 'confident, technical, CTO-to-CTO'.","type":"string","maxLength":300},"pages":{"minItems":1,"maxItems":16,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80,"description":"Short page title, 2-6 words (e.g. 'The Tracker Tax')."},"description":{"type":"string","minLength":1,"maxLength":600,"description":"What this page must accomplish in the argument, one or two sentences. Not shown on the page."},"visual_concept":{"type":"string","minLength":1,"maxLength":1200,"description":"The composition and the one graphic device that expresses the page's argument: layout, the diagram/chart/mock, where the headline sits, colours by role. Concrete enough to draw from."},"content":{"type":"object","properties":{"eyebrow":{"description":"Tiny label above the headline, e.g. 'THE PROBLEM'.","type":"string","maxLength":60},"headline":{"type":"string","minLength":1,"maxLength":120,"description":"The one strong display line."},"lede":{"description":"Supporting sentence or two.","type":"string","maxLength":400},"bullets":{"description":"Up to 6 short points; no walls.","maxItems":6,"type":"array","items":{"type":"string","maxLength":160}},"caption":{"description":"Small mono caption, e.g. a source line.","type":"string","maxLength":200},"cta":{"type":"object","properties":{"primary":{"type":"string","maxLength":60},"secondary":{"type":"string","maxLength":80}},"required":["primary"]},"meta":{"description":"Stat tiles as label/value pairs — ONLY figures the user gave you.","maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":60},"value":{"type":"string","maxLength":60}},"required":["label","value"]}}},"required":["headline"],"description":"The approved copy. Every numeral here must come from the user's material — the deck's truth check enforces it."}},"required":["label","description","visual_concept","content"]}}},"required":["pages"]}},"required":["brief"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"deck_status","description":"Whether a submitted deck is still importing, ready (with the editor link), or failed (with the reason).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"deck_id":{"type":"string","minLength":10,"maxLength":40},"guest_token":{"description":"Only for a deck created WITHOUT an account: the guest_token create_deck returned.","type":"string","maxLength":80}},"required":["deck_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_brief","description":"The writing brief for a deck whose outline is already saved.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"deck_id":{"type":"string","minLength":10,"maxLength":40},"guest_token":{"description":"Only for a deck created WITHOUT an account: the guest_token create_deck returned.","type":"string","maxLength":80}},"required":["deck_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"list_decks","description":"The user's Renderball documents, newest first, with editor links. Needs an account (a key).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"see_deck","description":"The deck's rendered pages as images, page 1 first — look at them for overlapping or clipped text, odd spacing or an element off its page, then fix the file and submit_deck again. Available once the deck has been submitted.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"deck_id":{"type":"string","minLength":10,"maxLength":40},"guest_token":{"description":"Only for a deck created WITHOUT an account: the guest_token create_deck returned.","type":"string","maxLength":80}},"required":["deck_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"share_deck","description":"Turn on the public link for a deck and return it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"deck_id":{"type":"string","minLength":10,"maxLength":40},"guest_token":{"description":"Only for a deck created WITHOUT an account: the guest_token create_deck returned.","type":"string","maxLength":80}},"required":["deck_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"submit_deck","description":"Send the complete deck file you wrote. Renderball checks it against the brief, repairs small slips, renders every page and opens it in the editor. Returns 'ready' with the editor_url, or 'importing' — then poll deck_status.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"deck_id":{"type":"string","minLength":10,"maxLength":40},"guest_token":{"description":"Only for a deck created WITHOUT an account: the guest_token create_deck returned.","type":"string","maxLength":80},"source":{"type":"string","minLength":1500,"maxLength":600000,"description":"The complete deck file, exactly as the writing brief specifies. Raw file or a ```tsx fenced block."},"label":{"description":"Who wrote it, e.g. 'claude-code'. Shown in the deck's trace.","type":"string","maxLength":40},"wait_seconds":{"description":"How long to wait for the import before returning (default 25). Use deck_status to keep checking.","type":"integer","minimum":0,"maximum":60}},"required":["deck_id","source"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"write_outline","description":"Save the page-by-page outline you wrote for a deck. Returns the WRITING BRIEF: the exact instructions for writing the deck file (format, brand facts, truth rules). Follow it, then call submit_deck.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"deck_id":{"type":"string","minLength":10,"maxLength":40},"guest_token":{"description":"Only for a deck created WITHOUT an account: the guest_token create_deck returned.","type":"string","maxLength":80},"tone":{"description":"The register, e.g. 'confident, technical, CTO-to-CTO'.","type":"string","maxLength":300},"pages":{"minItems":1,"maxItems":16,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80,"description":"Short page title, 2-6 words (e.g. 'The Tracker Tax')."},"description":{"type":"string","minLength":1,"maxLength":600,"description":"What this page must accomplish in the argument, one or two sentences. Not shown on the page."},"visual_concept":{"type":"string","minLength":1,"maxLength":1200,"description":"The composition and the one graphic device that expresses the page's argument: layout, the diagram/chart/mock, where the headline sits, colours by role. Concrete enough to draw from."},"content":{"type":"object","properties":{"eyebrow":{"description":"Tiny label above the headline, e.g. 'THE PROBLEM'.","type":"string","maxLength":60},"headline":{"type":"string","minLength":1,"maxLength":120,"description":"The one strong display line."},"lede":{"description":"Supporting sentence or two.","type":"string","maxLength":400},"bullets":{"description":"Up to 6 short points; no walls.","maxItems":6,"type":"array","items":{"type":"string","maxLength":160}},"caption":{"description":"Small mono caption, e.g. a source line.","type":"string","maxLength":200},"cta":{"type":"object","properties":{"primary":{"type":"string","maxLength":60},"secondary":{"type":"string","maxLength":80}},"required":["primary"]},"meta":{"description":"Stat tiles as label/value pairs — ONLY figures the user gave you.","maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":60},"value":{"type":"string","maxLength":60}},"required":["label","value"]}}},"required":["headline"],"description":"The approved copy. Every numeral here must come from the user's material — the deck's truth check enforces it."}},"required":["label","description","visual_concept","content"]}}},"required":["deck_id","pages"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":80,"grade":"B","scanned_at":"2026-09-19T10:15:46.143Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T10:15:46.103Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 658ms"]},"poisoning":{"score":15,"max":15,"notes":["8 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 3 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":7,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://renderball.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":658,"serverInfo":{"name":"renderball","version":"1.1.0"}}],"packages":[],"repo":{"found":true,"owner":"agarces1999","repo":"renderball-skills","archived":false,"pushedAt":"2026-09-15T19:22:48Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/64055428?v=4","ownerCreatedAt":"2020-04-21T03:08:40Z","license":"MIT"},"icon":{"url":"https://renderball.com/icon.svg?2059abafac697358","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-15T19:22:48.000Z","score":23}}}},"grade_history":[],"reviews":[]}