Skip to main content

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

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

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

Client Config file Transport
Claude Desktop claude_desktop_config.json stdio or streamable-http
Claude.ai Personal or org connector streamable-http
Claude Code Plugin marketplace or .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 ClawHub plugin or openclaw.json stdio

Metadata

Release files for datawrapper-mcp 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datawrapper-mcp 0.4.0
File Size Uploaded
datawrapper_mcp-0.4.0.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for datawrapper-mcp 0.4.0
File Interpreter ABI Platform
datawrapper_mcp-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / datawrapper_mcp-0.4.0.tar.gz

Download URL datawrapper_mcp-0.4.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
e57dd3d47f69bf1374c81a6a198975b0ac4d8b32af81f44f8198f425dc7fc518
BLAKE2b-256 checksum
How to use checksums
39caf274b020623b67be223cb3f439e0b945b6f9914426ace502258eb7139bb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release files / datawrapper_mcp-0.4.0-py3-none-any.whl

Download URL datawrapper_mcp-0.4.0-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e200a9d4a1b04981649f7e55316241e19b12d00ae5a7231bb8e2db154c3ab777
BLAKE2b-256 checksum
How to use checksums
ffd26f5629c96d5136048e2984726fd3b9bb5f67943f9b250503b7fab3c8eda4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page