Renderball

Designed, animated, editable presentations your AI writes on Renderball. No account needed to try.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
89%
Vollständigkeit des Schemas
85%
Qualität der Benennung
93%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'share_deck' description lacks action verbin share_deck

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,576Tokens (Tool-Definitionen)
~3.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.01% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "renderball": {
      "url": "https://renderball.com/api/mcp"
    }
  }
}

Remote-Endpunkte

https://renderball.com/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (8)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢list_decks

The user's Renderball documents, newest first, with editor links. Needs an account (a key).

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡create_deck(brief, brand, brand_url, pages, outline)

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.

Eingabe-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"
}
🟡write_outline(deck_id, guest_token, tone, pages)

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.

Eingabe-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"
}
🟢get_brief(deck_id, guest_token)

The writing brief for a deck whose outline is already saved.

Eingabe-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"
}
🟢see_deck(deck_id, guest_token)

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.

Eingabe-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"
}
🟡submit_deck(deck_id, guest_token, source, label, wait_seconds)

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.

Eingabe-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"
}
🟢deck_status(deck_id, guest_token)

Whether a submitted deck is still importing, ready (with the editor link), or failed (with the reason).

Eingabe-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"
}
⚪share_deck(deck_id, guest_token)

Turn on the public link for a deck and return it.

Eingabe-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"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet8 Tools
verifiziertVersion nicht aufgezeichnet8 Tools