article
README
🚀 数据可视化模型上下文协议(MCP)服务器
这是一个模型上下文协议(MCP)服务器,它允许AI助手创建Datawrapper图表。该服务器基于 datawrapper Python库 构建,并使用Pydantic进行验证。
🚀 快速开始
获取API令牌
- 访问 https://app.datawrapper.de/account/api-tokens
- 创建一个新的API令牌
- 如上述所示,将其添加到您的MCP配置中
安装指南
使用uvx(推荐)
在 claude_desktop_config.json 中配置您的MCP客户端,使用 uvx 运行服务器:
{
"mcpServers": {
"datawrapper": {
"command": "uvx",
"args": ["datawrapper-mcp"],
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "your-token-here"
}
}
}
}
使用pip
pip install datawrapper-mcp
然后配置您的MCP客户端:
{
"mcpServers": {
"datawrapper": {
"command": "datawrapper-mcp",
"env": {
"DATAWRAPPER_ACCESS_TOKEN": "your-token-here"
}
}
}
}
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
# 返回: {"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
💻 使用示例
以下是一个完整的示例,展示了如何通过与助手聊天来创建、发布、更新和显示图表:
"使用以下数据创建一个Datawrapper折线图,展示温度趋势:
2020, 15.5
2021, 16.0
2022, 16.5
2023, 17.0"
# 助手创建图表并返回图表ID,例如 "abc123"
"发布它。"
# 助手发布图表并返回公共URL
"用2024年的新数据更新图表:17.2°C"
# 助手用新数据点更新图表
"将线条颜色设置为道奇蓝。"
# 助手更新图表配置以设置线条颜色
"显示编辑器URL。"
# 助手返回Datawrapper编辑器URL,您可以在其中查看/编辑图表
"显示PNG图像。"
# 助手在其响应中嵌入图表的PNG图像。
"建议五种改进图表的方法。"
# 看看会发生什么!
Scan to join WeChat group