
Datawrapper
io.github.palewirePublished by GitHub account palewirev0.4.0Updated Oct 24, 2026
A Model Context Protocol (MCP) server and app for creating Datawrapper charts using AI assistants
Overview
A Datawrapper MCP server that lets an AI assistant create, update, publish and export Datawrapper charts through conversation.
- What you can do
- List available chart types and fetch the full configuration schema for a type. Create a new chart from data and configuration, or update an existing chart's data and styling. Publish a chart to make it publicly accessible, and retrieve a chart's configuration and metadata. Export a chart as a PNG image. Permanently delete a chart.
- When to use it
- Use it when you want to draft, revise and publish Datawrapper charts conversationally instead of working in the editor by hand. It suits experimental use; avoid relying on it for a wide rollout until the install path is settled.
- Requirements
- Runs locally with Python 3.10 or higher, launched via uvx, and needs a Datawrapper account plus an API token supplied in the DATAWRAPPER_ACCESS_TOKEN environment variable. Network access to Datawrapper is required.
Installation
In SourceWeft
- Open Datawrapper in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[PyPI] [MCP Registry] [Docker Hub]
A Model Context Protocol (MCP) server and app for creating Datawrapper charts using AI assistants. Built on the datawrapper Python library.
Status: early and experimental. This project — including its Claude Code/Desktop plugin and marketplace listing — is under active development, and behavior can change between releases. In particular, the plugin/marketplace install path has known gaps (see issue #78) — don't treat it yet as a finished, zero-maintenance install path for a wider rollout.
Example Usage
You can provide a data file and simply ask for the chart you want. The draft will soon appear in the panel.
Here's a more complete example showing how to create, publish, update, and display a chart by chatting with the assistant:
Tools
Chart Types
bar, line, area, arrow, column, multiple column, scatter, stacked bar
Use list_chart_types to see descriptions, then get_chart_schema to explore configuration options for any type.
Getting Started
Requirements
- A Datawrapper account (sign up at https://datawrapper.de/signup/)
- An MCP client such as Claude or OpenAI Codex
- Python 3.10 or higher
Get Your API Token
- Go to https://app.datawrapper.de/account/api-tokens
- Create a new API token
- Add it to your MCP configuration as shown in the installation guide
Quick Start (Claude Code)
For other clients (Claude Desktop, Claude.ai, Cursor, VS Code Copilot, ChatGPT, OpenAI Codex, OpenClaw) and Kubernetes deployment, see the installation guide.
Installing via a plugin marketplace/directory (Claude Desktop's plugin browser, ClawHub, etc.) is still experimental. These interactive install flows currently have no working way to collect required environment variables like
DATAWRAPPER_ACCESS_TOKEN— see issue #78 for details. The manually-edited config shown above (and throughout the installation guide) is the reliable path today.
Using Your Own Token (Hosted Deployments)
When connecting to a hosted instance of the server over HTTP, you can authenticate
with your own Datawrapper API token by sending it in the Authorization header:
This ensures charts are created under your account instead of the server operator's. The token is read from the header automatically — no need to include it in every tool call.
You can also pass access_token directly as a tool argument, which takes precedence
over the header. When neither is provided, the server falls back to its
DATAWRAPPER_ACCESS_TOKEN environment variable.
Custom Instructions
Set DATAWRAPPER_MCP_INSTRUCTIONS to have the server hand your own free-text
guidance to connecting MCP clients (many, including Claude, fold this into
the model's context). Use it for house style rules — required fields, naming
conventions, and the like — without forking the server:
Supported Clients
Source: README.md at commit fc2329b
Tools
0Version history
1- v0.4.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts