Overview
Draw ChartKit charts from code or from an AI assistant over the Model Context Protocol.
The ChartKit MCP server draws charts with the chart model and rendering engine of the ChartKit extension for Google Slides. You send a table of numbers and a chart type. The server stores the chart and returns a hosted PNG and SVG, plus a chart id that the extension can open for editing later.
Charts come out in the team or user brand palette, with one number format per chart, value labels, and the callouts consulting decks use: CAGR, growth deltas, reference lines and axis breaks.
Endpoint
| Property | Value |
|---|---|
| Transport | Streamable HTTP. Each POST carries one JSON-RPC 2.0 message or a batch, and the reply is a JSON body. |
| Sessions | None. The server keeps no state between requests and never opens an event stream, so a tools/call works without a prior initialize. |
| Protocol version | The server answers initialize with the version the client sends, or 2025-06-18 if none is given. |
| Authentication | OAuth 2.1, or a team API key sent as Authorization: Bearer ck_team_… |
Requests to https://getchartkit.app/mcp get a redirect to www.getchartkit.app. MCP clients do not follow a redirect for a POST, so configure the full https://www.getchartkit.app/mcp URL.
Two ways to sign in
Both methods reach the same endpoint and the same tools.
| OAuth sign-in | Team API key | |
|---|---|---|
| For | People using Claude, ChatGPT, Cursor and other MCP clients | Your own backend code and internal tools |
| Acts as | The signed-in person | The team |
| Plan | ChartKit Pro, a Pro trial, Team or Student | A licensed ChartKit Enterprise team |
| Palette | The team palette, else the person's saved palette | The team palette |
| Deck tools | Can insert into decks open in Chrome | Insert with the Google Slides API instead |
How a chart gets onto a slide
A person who is signed in and has the deck open in Chrome with the ChartKit extension can ask their assistant to insert the chart. The insert_chart_into_slides tool puts it on the selected slide as an editable ChartKit chart.
Code that runs without a person, such as a reporting pipeline, inserts the returned imageUrl with the Google Slides API and sets the image's alt text to the returned slidesAltText. Anyone who opens the deck with the ChartKit extension can then edit the chart. The Python guide walks through it.