Connect chartlink and your agent gets 10 tools, among them check_template_data, create_edit_link, create_from_template. It answers at https://chartlink.app/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 4 of 4 times since 15 September 2026; the last check, on 20 October 2026, succeeded.
Charts and tables for AI agents with live-updating embed links. No account: signup returns a key.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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 cr Inputs: template, data, knobs |
create_edit_link | Returns a URL opening the visual tweak panel for ONE chart (text, colors, spacing, label nudges) with no login. PUBLISH FIRST: the editor saves and republishes a published chart, it cannot publish a draft. Scope: view, tweak, and republish Inputs: id |
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 Inputs: template, data, knobs, publish, config |
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 Inputs: id |
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 w Inputs: q, type, tags, limit |
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'. Inputs: id, note, premium |
signup | Creates a workspace and returns its API key (shown ONCE — keep it). Works on a keyless connection; every other tool needs the key. Then put the key where your client keeps it (plugin api_key setting, the Authorization header, or CHARTLINK_A Inputs: name, ref |
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, Inputs: type, title, description, assetId |
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 (g Inputs: id, expectedVersion, publish, configPatch, config, data |
whoami | Returns key name + workspace. Call this first — non-destructive auth check. Everything you write is stamped createdBy/updatedBy = key name. |
Every block below points at https://chartlink.app/mcp. Pick your client and copy.
claude mcp add --transport http chartlink https://chartlink.app/mcp
{
"mcpServers": {
"chartlink": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://chartlink.app/mcp"]
}
}
}{
"mcpServers": {
"chartlink": {
"url": "https://chartlink.app/mcp"
}
}
}{
"servers": {
"chartlink": {
"type": "http",
"url": "https://chartlink.app/mcp"
}
}
}{
"context_servers": {
"chartlink": {
"url": "https://chartlink.app/mcp"
}
}
}{
"mcpServers": {
"chartlink": {
"serverUrl": "https://chartlink.app/mcp"
}
}
}{
"mcpServers": {
"chartlink": {
"url": "https://chartlink.app/mcp"
}
}
}name: chartlink
version: 0.0.1
schema: v1
mcpServers:
- name: chartlink
type: streamable-http
url: https://chartlink.app/mcp{
"mcpServers": {
"chartlink": {
"httpUrl": "https://chartlink.app/mcp"
}
}
}{
"mcpServers": {
"chartlink": {
"type": "http",
"url": "https://chartlink.app/mcp"
}
}
}{
"mcpServers": {
"chartlink": {
"url": "https://chartlink.app/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fchartlink.app%2Fmcp&type=streamable_http&id=chartlink&name=chartlink
It answered our last check on 20 October 2026 in 196 ms. Over 4 checks since 15 September 2026 it answered 4. Status here comes from Neuronto's own probes, not from the publisher.
10, as returned by the server's own tools/list on 24 September 2026: check_template_data, create_edit_link, create_from_template, get_template, list_templates, publish_asset, signup, submit_feedback, and 2 more.
It answered our last check on 20 October 2026 in 196 ms. Over 4 checks since 15 September 2026 it answered 4.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://chartlink.app/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.oscarleoo. Endpoint host: chartlink.app. ARD identifier: urn:air:io.github.oscarleoo:mcp:chartlink.
First indexed 15 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.