by palewire
Create, update, publish, and retrieve Datawrapper charts through natural‑language conversations with AI assistants, leveraging a dedicated MCP server.
Datawrapper Mcp provides an MCP server and client‑side app that lets AI assistants (e.g., Claude, OpenAI Codex) manage Datawrapper charts via simple chat commands. Users can supply raw data, request specific chart types, adjust styling, and obtain URLs or PNG images, all without writing API calls manually.
serverConfig section) and start it.DATAWRAPPER_ACCESS_TOKEN) or send it in the Authorization header for hosted instances.create_chart, update_chart, publish_chart, export_chart_png, etc.) and returns the result.Authorization header, or explicit access_token argument, with precedence rules.Authorization: Bearer <token> header or as the access_token argument.list_chart_types for full descriptions).access_token argument, and finally falls back to the DATAWRAPPER_ACCESS_TOKEN environment variable.palewire/datawrapper-mcp from Docker Hub.delete_chart tool with the chart ID.A Model Context Protocol (MCP) server and app for creating Datawrapper charts using AI assistants. Built on the datawrapper Python library.
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:
"Create a datawrapper line chart showing temperature trends with this data:
2020, 15.5
2021, 16.0
2022, 16.5
2023, 17.0"
# The assistant creates the chart and returns the chart ID, e.g., "abc123"
"Publish it."
# The assistant publishes it and returns the public URL
"Update chart with new data for 2024: 17.2°C"
# The assistant updates the chart with the new data point
"Make the line color dodger blue."
# The assistant updates the chart configuration to set the line color
"Show me the editor URL."
# The assistant returns the Datawrapper editor URL where you can view/edit the chart
"Show me the PNG."
# The assistant embeds the PNG image of the chart in its contained response.
"Suggest five ways to improve the chart."
# See what happens!
| Tool | Description |
|---|---|
list_chart_types |
List available chart types with descriptions |
get_chart_schema |
Get the full configuration schema for a chart type |
create_chart |
Create a new chart with data and configuration |
update_chart |
Update an existing chart's data or styling |
publish_chart |
Publish a chart to make it publicly accessible |
get_chart |
Retrieve a chart's configuration and metadata |
delete_chart |
Permanently delete a chart |
export_chart_png |
Export a chart as a PNG image |
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.
{
"mcpServers": {
"datawrapper": {
"command": "uvx",
"args": ["datawrapper-mcp"],
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "your-token-here"
}
}
}
}
For other clients (Claude Desktop, Claude.ai, Cursor, VS Code Copilot, ChatGPT, OpenAI Codex, OpenClaw) and Kubernetes deployment, see the installation guide.
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:
Authorization: Bearer <your-datawrapper-api-token>
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.
| Client | Config file | Transport |
|---|---|---|
| Claude Desktop | claude_desktop_config.json |
stdio or streamable-http |
| Claude.ai | Personal or org connector | streamable-http |
| Claude Code | .mcp.json |
stdio |
| VS Code Copilot | .vscode/mcp.json |
stdio |
| Cursor | .cursor/mcp.json |
stdio or streamable-http |
| ChatGPT | Dev Mode settings | streamable-http only |
| OpenAI Codex | ~/.codex/config.toml |
stdio |
| OpenClaw | openclaw.json |
stdio |
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by activepieces
A self‑hosted, open‑source platform that provides a no‑code builder for creating, versioning, and running AI‑driven automation workflows. Pieces are TypeScript‑based plugins that become MCP servers, allowing direct consumption by large language models.
by Skyvern-AI
Automates browser‑based workflows by leveraging large language models and computer‑vision techniques, turning natural‑language prompts into fully functional web interactions without writing custom scripts.
by ahujasid
Enables Claude AI to control Blender for prompt‑assisted 3D modeling, scene creation, and manipulation via a socket‑based Model Context Protocol server.
by PipedreamHQ
Connect APIs quickly with a free, hosted integration platform that enables event‑driven automations across 1,000+ services and supports custom code in Node.js, Python, Go, or Bash.
by elie222
Organizes email inbox, drafts replies in the user's tone, tracks follow‑ups, and provides analytics to achieve inbox zero quickly.
by grab
Enables Cursor AI to read and programmatically modify Figma designs through a Model Context Protocol integration.
by CursorTouch
Enables AI agents to control the Windows operating system, performing file navigation, application launching, UI interaction, QA testing, and other automation tasks through a lightweight server.
by ahujasid
Enables Claude AI to control Ableton Live in real time, allowing AI‑driven creation, editing, and playback of tracks, clips, instruments, and effects through a socket‑based server.
by leonardsellem
Provides tools and resources to enable AI assistants to manage and execute n8n workflows via natural language commands.
{
"mcpServers": {
"datawrapper": {
"command": "uvx",
"args": [
"datawrapper-mcp"
],
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "<YOUR_DATAWRAPPER_API_TOKEN>"
}
}
}
}claude mcp add datawrapper uvx datawrapper-mcp