
Official MCP RegistryListed
chartlink
Charts and tables for AI agents with live-updating embed links. No account: signup returns a key.
First seen 2 Oct 2026. Evidence as of 5 Oct 2026.
8
Tools
From an anonymous probe
1
Source listings
Each with its own history
3
Recorded changes
Since first seen
Tools
| Tool | Description | Behaviour |
|---|---|---|
| check_template_data | Matches every region value against the template's geography and reports unmatched values with the closest real codes, how many regions would stay grey, and the scale the map would use. No key needed. Use it when unsure of the codes; then create_from_template with the same data and knobs. | Destructive |
| create_from_template | The template's design, your data, your words. `knobs` are the template's settings (get_template shows the schema): theme light|dark|editorial, dataType gradient|buckets|categories and surroundings true|false (then waterColor, landColor) for maps, title/description/source/brand {text, fontFamily, fontSize, color}, backgroundColor, and the scale knobs for the dataType (colormap and direction, range, breaks or classes, categoryColors/categoryOrder). data = {columns: [{id, type}], rows: [[…]]}: use the template's column ids, or exactly two columns (region first, value second) for a map. publish: true makes the URLs live in the same call. A success means it validated AND rendered — look at the preview. Region values that match nothing come back as a 400 listing each with its closest real codes, before anything is made — no separate check needed. `config` is the advanced path: the engine's settings, merged after the knobs. | Changes data |
| get_template | Read this before create_from_template. Returns the template with `contract`: its looks (theme × dataType × surroundings), the knobs JSON Schema, the columns with their roles, the region-code convention with three real codes and a lookup URL, what each dataType expects of the value column, and a complete example call whose shape you copy. Takes an id, the page slug, or the page address as on chartlink.app/maps — sweden/municipalities, us/texas/counties, london/wards — so you can skip list_templates when you know the place. | Read-only |
| list_templates | Templates are named by the NEED they answer (need, asks, tags), each with urls.png (show it to your human) and `columns`: the column ids your data must supply. Pass q with what the person asked for — "map of brazil's states", "ranked bars with flags", "change between two years" — and the list comes back ranked; take the first. Then create_asset with template: <id> and your data — the whole design comes along. Any chart id you were shown works as a template too, not only these. | Read-only |
| publish_asset | Makes the draft live. Returns urls: paste urls.embedIframe on iframe platforms; on Substack insert urls.png as an image and link it to urls.page. Pinned history: urls.png + '?v=N'. | Destructive |
| submit_feedback | If a capability is missing, a schema fights you, or docs are wrong: record it here so the owner can fix it. One report per distinct issue, with a real description — reports get fixed same-day when they say what you tried, what you expected, and what happened (title-only reports can't be acted on). | Changes data |
| update_asset | configPatch is DEEP-MERGED: objects merge recursively, arrays replace wholesale, null clears a key — send only what changes. To REMOVE keys (drop document.aspect, delete one of texts[]) pass `config` instead: it REPLACES the whole config (get_asset returns the current one to edit). `data` (if given) replaces rows wholesale. Requires expectedVersion from the last envelope; on 409 re-merge onto the returned `current`. Updating does NOT publish by default — pass publish: true to publish in the same call, or call publish_asset separately. | Destructive |
| whoami | Returns key name + workspace. Call this first — non-destructive auth check. Everything you write is stamped createdBy/updatedBy = key name. | Read-only |
Change history
- signup: tool removed
- create_edit_link: tool removed
- server instructions changed (+"Ask your person for one from their chartlink studio (Workspace → Keys for your AI agents)." +"in" +"studio (the chart is in their workspace: /studio/{brand}/chart/{id}),")
| Source | Listing | First seen | Last seen | Versions |
|---|---|---|---|---|
| Official MCP Registry | io.github.oscarleoo/chartlink | 2 Oct 2026 | 5 Oct 2026 | 1 |