Toolpin Monitor a server

chartlink

io.github.oscarleoo/chartlink · v0.1.2 · MCP 2025-11-25

Charts and tables for AI agents with live-updating embed links. No account: signup returns a key.

Reachability reachable
checked 2026-09-20 05:31 UTC
Registry status active
Tools pinned 27
ce72c39dff54
Tools last changed 2026-09-19
Repo last push 2026-09-16
GitHub stars 0

Provenance

Registry namespace io.github.oscarleoo (GitHub-account verified by the official registry)
Repository github.com/oscarleoo/chartlink-agents
Website https://chartlink.app
Remote endpoints
https://chartlink.app/mcp (streamable-http)

Observed changes

When (UTC)EventDetail
2026-09-19 05:31 tools changed 0 added, 0 removed, 20 changed
2026-09-18 05:30 tools changed 0 added, 0 removed, 2 changed
2026-09-17 05:30 tools changed 2 added, 0 removed, 4 changed
2026-09-16 05:30 first capture 25 tools pinned

Pinned tool definitions (27)

ToolDescription
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...
whoami Returns key name + workspace. Call this first — non-destructive auth check. Everything you write is stamped createdBy/updatedBy = key name.
list_asset_types Chart/table types you can create, with links to per-type schemas.
get_spec_schema Returns the JSON Schema for the type's config, the data schema, two worked examples (minimal + rich), and `defaults` — the complete config in force when nothing is set (every font, padding, color), which a brand and then the chart's own...
list_assets Filterable list; rows elide config/data. Use get_asset for full bodies.
get_asset Full asset envelope. includePreview=true also returns an inline PNG of the current draft.
list_geographies countries, us-states, us-states-pr (with Puerto Rico), us-counties, us-zip3, us-zips-<st> (one state's ZIP codes), and every country's states/provinces as <alpha-2>-regions (de-regions, ru-regions…). Pass id to get one geography's full...
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...
create_asset Creates a draft. The response includes a low-res PNG preview INLINE — look at it, then iterate with update_asset. Nothing is public until publish_asset, or until you pass publish: true here (one call instead of two, once the chart is...
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...
replace_asset_data THE core flow for refreshing numbers. publish defaults to auto: a published asset republishes immediately (every embed/PNG updates); a draft stays draft. Set publish=false to stage instead. LIMITS: an asset holds up to 2 MB of data, but...
set_data_source The chart refetches this URL (CSV or JSON) hourly/daily/weekly, replaces its rows, and republishes itself if published — refreshes are free, updates are never metered. Columns stay as defined on the asset: CSV headers / JSON object keys...
clear_data_source Stops scheduled fetches; the chart keeps its current data.
fetch_data_source Runs one fetch on top of the schedule. Returns {ok, rows, published, error}.
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'.
unpublish_asset Embeds and PNGs return 410 until republished.
duplicate_asset New id, new embed URLs. Useful for rebranding a chart for another audience.
delete_asset Embeds go dark. Restorable via the REST API (POST /api/assets/{id}/restore).
list_brands Style-only token sets applied under your config. Pass a slug as `brand` on create_asset.
create_brand A brand styles every asset that references it — and the workspace default brand styles everything created without an explicit brand. Create one, then render any asset with brand: "<slug>" to see it applied. Style only: brands can never...
update_brand Deep-merges tokens (objects merge, arrays replace, null clears). Drafts restyle immediately; published assets pick the change up on their next publish. Requires expectedVersion from list_brands.
get_billing Hosting is free (unlimited badged charts, live updates included). One credit makes one chart premium forever: 2400px, SVG, your own branding, no badge. Updates are never metered.
create_checkout_link Returns a URL that opens straight into Paddle checkout: no login, no account. It can only add credits to THIS workspace, so it is safe to share. Credits arrive seconds after payment (get_billing).
upgrade_to_premium Same URLs, instantly rebranded: badge removed, 2400px PNG and SVG unlocked, custom branding applies. Idempotent for already-premium charts.
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...
revoke_edit_link The URL stops working immediately. List links (prefixes + tokenIds) via GET /assets/{id}/edit-links.
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...
Get alerted when this changes. Email the moment io.github.oscarleoo/chartlink drifts, dies, or revives.

Status badge

Toolpin status badge for io.github.oscarleoo/chartlink

[![Toolpin](https://toolpin.dev/badge/io.github.oscarleoo/chartlink.svg)](https://toolpin.dev/servers/io.github.oscarleoo/chartlink)

Maintain this server? Add the badge to your README. It links your users to this live status page.