- Home
- MCP servers
- Datawrapper
Datawrapper
- python
12
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"palewire-datawrapper-mcp": {
"command": "uvx",
"args": [
"datawrapper-mcp"
],
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "your-token-here"
}
}
}
}A Datawrapper MCP Server lets you create, publish, and manage Datawrapper charts through natural conversation with your AI assistant. It integrates the Datawrapper Python library with strict input validation so you can build visualizations quickly, refine data, and share live charts via editor URLs or PNGs.
How to use
You interact with the MCP server through your preferred MCP client. Start by creating a chart with your data, then publish it to obtain a public URL. You can update the data or chart configuration, request the editor URL to view or edit the chart, and fetch the PNG image for embedding. You can also ask the assistant for ideas to improve the chart. All actions are executed by issuing natural language prompts that map to chart operations.
Typical workflows you can perform include creating a line chart from your dataset, publishing the chart to make it publicly accessible, updating data for new years or values, customizing visuals such as colors, and retrieving the editor URL or a PNG version for inclusion in reports.
How to install
Prerequisites: ensure you have a runtime capable of executing MCP servers and access to the Datawrapper API. You will configure the MCP client to run the server and provide your API token.
Option A — using uvx (recommended) to run the MCP server locally or in your environment:
{
"mcpServers": {
"datawrapper": {
"command": "uvx",
"args": ["datawrapper-mcp"],
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "your-token-here"
}
}
}
}
Using pip
Install the MCP package via Python’s package manager and configure your client to point at it.
pip install datawrapper-mcp
{
"mcpServers": {
"datawrapper": {
"command": "datawrapper-mcp",
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "your-token-here"
}
}
}
}
Kubernetes Deployment and HTTP transport
For enterprise deployments, you can deploy the server to Kubernetes using HTTP transport. You build a Docker image, run it with the required environment variable, and expose it on a port. The following examples show the steps to build the image and run the container.
Build the Docker image
docker build -t datawrapper-mcp:latest .
Run the Docker container
docker run -p 8501:8501 \
-e DATAWRAPPER_ACCESS_TOKEN=your-token-here \
-e MCP_SERVER_HOST=0.0.0.0 \
-e MCP_SERVER_PORT=8501 \
datawrapper-mcp:latest
Environment variables
DATAWRAPPER_ACCESS_TOKEN: Your Datawrapper API token (required)
MCP_SERVER_HOST: Server host (default: 0.0.0.0)
MCP_SERVER_PORT: Server port (default: 8501)
MCP_SERVER_NAME: Server name (default: datawrapper-mcp)
Health check and Kubernetes configuration
The HTTP server provides a health endpoint for Kubernetes readiness and liveness checks.
curl http://localhost:8501/healthz
# Returns: {"status": "healthy", "service": "datawrapper-mcp"}
Kubernetes deployment example
apiVersion: apps/v1
kind: Deployment
metadata:
name: datawrapper-mcp
spec:
replicas: 1
selector:
matchLabels:
app: datawrapper-mcp
template:
metadata:
labels:
app: datawrapper-mcp
spec:
containers:
- name: datawrapper-mcp
image: datawrapper-mcp:latest
ports:
- containerPort: 8501
env:
- name: DATAWRAPPER_ACCESS_TOKEN
valueFrom:
secretKeyRef:
name: datawrapper-secrets
key: access-token
livenessProbe:
httpGet:
path: /healthz
port: 8501
initialDelaySeconds: 5
periodSeconds: 30
readinessProbe:
httpGet:
path: /healthz
port: 8501
initialDelaySeconds: 5
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: datawrapper-mcp
spec:
selector:
app: datawrapper-mcp
ports:
- protocol: TCP
port: 8501
targetPort: 8501
Available tools
create_chart
Create a new Datawrapper chart from provided data and chart type.
publish_chart
Publish a chart to generate a public URL for sharing.
update_chart
Update chart data or configuration with new values.
get_editor_url
Return the Datawrapper editor URL to view or edit the chart.
get_png
Provide a PNG image of the chart for embedding.
suggest_improvements
Offer ideas to improve the chart's clarity, layout, or aesthetics.