Get the FREE Ultimate OpenClaw Setup Guide →

datawrapper

A model context protocol server for interacting with the Datawrapper API

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio kevinschaul-datawrapper-mcp-server uvx run --with mcp[cli] mcp run /Users/kevin/dev/datawrapper-mcp-server/src/datawrapper_mcp_server/server.py \
  --env DATAWRAPPER_MCP_API_KEY="YOUR_KEY_HERE" \
  --env DATAWRAPPER_MCP_DIRECTORY="/Users/kevin/datawrapper-mpc-server-files"

How to use

This MCP server provides a programmable bridge to the Datawrapper API. It runs via the uvx runner and exposes an MCP endpoint that Claude and other MCP clients can query to perform Datawrapper operations (such as creating charts, fetching data, or managing tokens) without direct API calls from your environment. The server is configured to read your Datawrapper API key and a local directory for storing generated files, making it suitable for interactive prompts and long-running tasks within Claude workflows. To use it, connect to Claude’s MCP interface and point it at the datawrapper server named in your Claude config; you’ll be able to issue commands that get translated into Datawrapper API requests through the server’s CLI integration.

The server leverages the mcp[cli] tooling to expose a CLI-driven command surface inside the MCP environment. This enables you to craft prompts that trigger specific API actions, retrieve results, and pass them back into your conversation or automation flows. If you’re testing locally, you can verify behavior by running the provided dev/test commands and inspecting logs from Claude’s MCP log stream.

Note: This is alpha software. Use a read-only API key if you’re experimenting to minimize risk, and keep the local storage directory secured to avoid leaking data or credentials.

How to install

Prerequisites:

  • Access to a machine with Python and uvx installed (as configured by your environment).
  • A Datawrapper API key with appropriate permissions.
  • Claude or another MCP client to run and test the server.

Steps:

  1. Clone the repository where you keep your MCP servers.

  2. Copy the example environment file and populate it:

    • Copy .env.template to .env and fill out:
      • DATAWRAPPER_MCP_API_KEY: Your API key
      • DATAWRAPPER_MCP_DIRECTORY: Absolute path to a directory for storing server data/files
  3. Install the MCP server within Claude Code by running:

just install
  1. If you prefer manual configuration, update Claude's MCP config to include the datawrapper server, for example:
{
  "mcpServers": {
    "datawrapper": {
      "command": "/opt/homebrew/bin/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/Users/kevin/dev/datawrapper-mcp-server/src/datawrapper_mcp_server/server.py"
      ],
      "env": {
        "DATAWRAPPER_MCP_API_KEY": "YOUR_KEY_HERE",
        "DATAWRAPPER_MCP_DIRECTORY": "/Users/kevin/datawrapper-mpc-server-files"
      }
    }
  }
}
  1. Restart Claude or reload the MCP configuration to apply changes.

  2. Test the server using the provided testing commands (for example, the interactive dev workflow).

Additional notes

Tips and notes:

  • Keep your DATAWRAPPER_MCP_DIRECTORY path accessible and secure; it stores files generated during API interactions.
  • Use a read-only API key for exploration to reduce risk during alpha testing.
  • If Claude cannot locate the server, verify the path to server.py in the arguments and ensure uvx is available on the system.
  • Check logs under Claude’s log directory if requests fail or time out: tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
  • This server is alpha software; expect occasional instability or API behavior changes as the Datawrapper integration evolves.

Related MCP Servers

Sponsor this space

Reach thousands of developers