Wago DB2 MCP服务器
DuckDB供电 主控程序 查询服务器 Wago DB2 CSV表格。为AI编码助手提供即时SQL访问所有1097+魔兽世界数据表的功能,包括法术、物品、生物、区域、派系、传输日志等。
运作原理
- 从下载CSV导出 wago.tools 使用附带的下载器
- 将MCP服务器指向CSV目录
- 表在第一次查询时延迟加载到DuckDB(内存中)
- 完全支持SQL:JOIN、聚合、ILIKE、子查询
快速开始
# Install
pip install -e .
# Download tables for WoW 12.x (latest build auto-detected)
wago-db2-download --major 12 --tables-file tables.txt --out csv
# Start the MCP server
WAGO_CSV_DIR=./csv/major_12//enUS wago-db2MCP配置
添加到您的MCP客户端配置(Claude Code、Antigravity等):
{
"mcpServers": {
"wago-db2": {
"command": "python",
"args": ["-m", "wago_db2_server"],
"env": {
"WAGO_CSV_DIR": "/path/to/csv/major_12/12.0.1.66337/enUS",
"PYTHONUTF8": "1"
}
}
}
}工具
| 工具 | 说明 |
|---|---|
db2_lookup | 按ID(主键)查找行。支持批量查找和列选择 |
db2_search | 不区分大小写的文本搜索。自动检测名称列(*_lang, Name,第一个VARCHAR) |
db2_validate_ids | 检查哪些ID存在或缺失。退货 {existing: [...], missing: [...]} |
db2_query | 带有JOIN、聚合等的原始SELECT查询。非SELECT语句被拒绝 |
db2_tables | 列出所有具有可选名称筛选器的可用表 |
db2_describe | 显示架构(列名+类型)和示例行 |
下载器
附带的下载器通过并行下载从wago.tools获取CSV导出:
# Download specific tables
wago-db2-download --major 12 --tables SpellName,ItemSparse,Creature
# Download from a list file
wago-db2-download --major 12 --tables-file tables.txt --out csv
# Force re-download, 16 threads
wago-db2-download --major 12 --tables-file tables.txt --force --threads 16
# Specific build + locale
wago-db2-download --major 12 --build 12.0.1.66337 --locale deDE --out csv下载器选项
| 标志 | 默认值 | 描述 |
|---|---|---|
--major | (必填) | 扩展主版本(午夜12,TWW 11等) |
--build | 自动检测 | 覆盖构建字符串(例如。 12.0.1.66337) |
--locale | enUS | CSV数据的区域设置 |
--out | wago_csv | 输出目录 |
--tables | 逗号分隔的表名 | |
--tables-file | 带有表名的文本文件的路径(每行一个) | |
--threads | 8 | 并发下载线程 |
--force | false | 重新下载现有文件 |
--timeout | 60 | HTTP超时(秒) |
环境变量
| 变量 | 默认值 | 用途 |
|---|---|---|
WAGO_CSV_DIR | ./csv | 包含DB2 CSV文件的目录 |
丰富的餐桌
将其他CSV文件放入 enriched/ CSV目录旁边的子目录。这些表与标准DB2表一起加载,可以自由加入。适用于预先计算的交叉引用(例如,具有外观ID的项目、具有名称的传输日志集)。
安全
- 只允许SELECT查询——INSERT、UPDATE、DELETE、DROP等被拒绝
- SQL注释在关键字验证之前被剥离,以防止绕过
- 所有ID参数都被验证为整数
- 在没有明确LIMIT的查询上强制执行默认LIMIT 1000
需求
许可证
麻省理工学院
