mcpField
D
Datawrapper

Datawrapper

Local
github.com/palewireData & Analytics60Updated 6w ago

About Datawrapper

Datawrapper MCP is an MCP server and app that lets AI assistants create, update and publish Datawrapper charts. Built on the datawrapper Python library, it is early and experimental, and suits users who want to make charts through conversation.

Key features

  1. 01Create, update, publish and delete charts
  2. 02List chart types and inspect their schemas
  3. 03Export charts as PNG images
  4. 04Per-user API token via the Authorization header
  5. 05Custom instructions set through an environment variable

Use cases

  1. 01Generating a line or bar chart from data given in chat
  2. 02Publishing a chart to obtain a publicly accessible link
  3. 03Creating charts under a personal account on a hosted deployment

MCP support

This is an MCP server that exposes tools for listing chart types, creating and publishing charts and exporting PNG images to MCP clients, so AI assistants can work with Datawrapper.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"palewire-datawrapper": {
"command": "uvx",
"args": [
"datawrapper-mcp"
],
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "<DATAWRAPPER_ACCESS_TOKEN>"
}
}
}
}
Run commanduvx datawrapper-mcp
Environment variables to set
DATAWRAPPER_ACCESS_TOKENSecretDatawrapper API Access Token

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypidatawrapper-mcp0.4.0

Tools

9

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project 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.

Books chat chart

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!

Tools

ToolDescription
list_chart_typesList available chart types with descriptions
get_chart_schemaGet the full configuration schema for a chart type
create_chartCreate a new chart with data and configuration
update_chartUpdate an existing chart's data or styling
publish_chartPublish a chart to make it publicly accessible
get_chartRetrieve a chart's configuration and metadata
delete_chartPermanently delete a chart
export_chart_pngExport a chart as a PNG image

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
Get Your API Token
  1. Go to https://app.datawrapper.de/account/api-tokens
  2. Create a new API token
  3. Add it to your MCP configuration as shown in the installation guide
Quick Start (Claude Code)
{
  "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.

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:

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.

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:

"env": {
  "DATAWRAPPER_ACCESS_TOKEN": "your-token-here",
  "DATAWRAPPER_MCP_INSTRUCTIONS": "Every chart needs alt text and a CMS slug in its notes field."
}
Supported Clients
ClientConfig fileTransport
Claude Desktopclaude_desktop_config.jsonstdio or streamable-http
Claude.aiPersonal or org connectorstreamable-http
Claude CodePlugin marketplace or .mcp.jsonstdio
VS Code Copilot.vscode/mcp.jsonstdio
Cursor.cursor/mcp.jsonstdio or streamable-http
ChatGPTDev Mode settingsstreamable-http only
OpenAI Codex~/.codex/config.tomlstdio
OpenClawClawHub plugin or openclaw.jsonstdio

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.