A Model Context Protocol (MCP) server and app for creating Datawrapper charts using AI assistants
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"datawrapper": {
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "your-token-here"
},
"args": [
"datawrapper-mcp"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Model Context Protocol (MCP) server and app for creating Datawrapper charts using AI assistants. Built on the datawrapper Python library.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in analytics / data
Query and manage PostgreSQL databases directly from AI assistants
An official Qdrant Model Context Protocol (MCP) server implementation
MCP Server for GCP environment for interacting with various Observability APIs.
⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
MCP Security Weekly
Get CVE alerts and security updates for io.github.palewire/datawrapper-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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, Cursor, VS Code Copilot, ChatGPT, OpenAI Codex) 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. Whe