模型上下文协议(MCP)服务器,使AI助手能够创建数据包装器图表。建立在 数据包装器Python库 经过Pydantic验证。
示例用法
以下是一个完整的示例,展示了如何通过与助手聊天来创建、发布、更新和显示图表:
"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!入门指南
需求
- Datawrapper帐户(注册地址:https://datawrapper.de/signup/)
- MCP客户端,例如 克劳德 或 OpenAI Codex
- Python 3.10或更高版本
- Python包安装程序,例如 点 或 uvx
获取您的API代币
- 首选https://app.datawrapper.de/account/api-tokens
- 创建新的API令牌
- 将其添加到MCP配置中,如下所示
安装
克劳德代码
使用uvx(推荐)
在中配置MCP客户端 claude_desktop_config.json:
{
"mcpServers": {
"datawrapper": {
"command": "uvx",
"args": ["datawrapper-mcp"],
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "your-token-here"
}
}
}
}使用pip
首先安装软件包:
pip install datawrapper-mcp然后在中配置MCP客户端 claude_desktop_config.json:
{
"mcpServers": {
"datawrapper": {
"command": "datawrapper-mcp",
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "your-token-here"
}
}
}
}OpenAI Codex
带uvx的CLI
将此添加到 ~/.codex/config.toml:
[mcp_servers.datawrapper]
args = ["datawrapper-mcp"]
command = "uvx"
startup_timeout_sec = 30
[mcp_servers.datawrapper.env]
DATAWRAPPER_ACCESS_TOKEN = "your-token-here"带pip的CLI
首先安装软件包:
pip install datawrapper-mcp然后将此添加到 ~/.codex/config.toml:
[mcp_servers.datawrapper]
command = "datawrapper-mcp"
startup_timeout_sec = 30
[mcp_servers.datawrapper.env]
DATAWRAPPER_ACCESS_TOKEN = "your-token-here"保密
为了增强安全性,您可以通过确保以下内容来配置传递环境变量 DATAWRAPPER_ACCESS_TOKEN 在您的环境中设置,并在您的 config.toml:
[mcp_servers.datawrapper.env]
DATAWRAPPER_ACCESS_TOKEN = "your-token-here"有了这个:
env_vars = ["DATAWRAPPER_ACCESS_TOKEN"]这确保了为设置的值 DATAWRAPPER_ACCESS_TOKEN 在您的环境中,密钥会传递给Codex,而无需将其作为文本存储在配置文件中。
桌面应用程序
如果你正在使用 Codex桌面应用程序,您可以在以下设置中设置MCP MCP servers:
- 在“自定义服务器”下,单击
Add server - 在“名称”下,输入
datawrapper-mcp - 选择STDIO
- 在“要启动的命令”下,键入
uvx(你必须安装紫外线) - 在Arguments下,添加
datawrapper-mcp - 在“环境变量”下,添加
DATAWRAPPER_ACCESS_TOKEN作为密钥,您的令牌作为值 - 单击保存
Kubernetes部署
对于企业部署,可以使用HTTP传输将此服务器部署到Kubernetes:
构建Docker镜像
docker build -t datawrapper-mcp:latest .使用Docker运行
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环境变量
DATAWRAPPER_ACCESS_TOKEN:您的Datawrapper API令牌(必需)MCP_SERVER_HOST:服务器主机(默认值:0.0.0.0)MCP_SERVER_PORT:服务器端口(默认值:8501)MCP_SERVER_NAME:服务器名称(默认值:datawrapper-mcp)
健康检查端点
HTTP服务器包括 /healthz Kubernetes活性和就绪性探测的端点:
curl http://localhost:8501/healthz
# Returns: {"status": "healthy", "service": "datawrapper-mcp"}Kubernetes配置示例
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