Danbooru-Turso MCP 服务器
一个简单的MCP服务器,用于收集Danbooru角色数据并将其存储在Turso数据库中。
🎯 目的
自动收集并保存Danbooru角色数据到Turso云数据库,支持自动插入或更新(更新现有帖子)。
✨ 特点
- 📥 翻译成中文是“📥”(这个符号本身在中文中没有特定的含义,通常表示一个文件夹或下载的图标)。如果直接描述这个符号,可以翻译为“📥(文件夹/下载图标)”。但在实际应用中,这个符号通常保持原样使用,不进行翻译。 收集字符数据 来自Danbooru API,带自动分页功能
- 💾 表示“软盘”或“存储设备”。 储存在图尔索(Turso) 云数据库
- 🔄 旋转(或循环)符号,常用于表示重复、循环、旋转等动作或状态。 自动更新 现有帖子(插入或替换)
- ⚡(闪电符号,常用于表示速度、活力或电力等概念) 快速且简单 - 一工具,一用途
🛠️ 工具
collect_and_save
收集所有带有特定角色标签的帖子,并将其保存到Turso数据库中。
参数:
tag(必填):要收集的角色标签(例如,“yatogami_tenka”)max_posts(可选):要收集的最大帖子数
示例:
{
"tag": "yatogami_tenka",
"max_posts": 1000
}回应:
{
"success": true,
"tag": "yatogami_tenka",
"collected": 119,
"new_posts": 111,
"updated_posts": 8
}📊 数据库模式
这个MCP使用以下表结构:
CREATE TABLE IF NOT EXISTS posts (
id INTEGER PRIMARY KEY,
tags TEXT NOT NULL,
tag_count INTEGER NOT NULL,
rating TEXT NOT NULL,
score INTEGER NOT NULL,
fav_count INTEGER NOT NULL,
file_url TEXT NOT NULL,
pixiv_id INTEGER
);注: 如果您需要额外的字段(比如 image_width, image_height, created_at等), 你可以修改 src/services/turso.ts 以包含它们。表格仅在此时创建 如果它不存在(CREATE TABLE IF NOT EXISTS),所以现有数据是安全的。
Danbooru API为每条帖子返回50多个字段。这个MCP存储了最常用的字段 为了性能和简洁性。当前的架构涵盖了大多数使用场景所需的基本数据。
🚀 部署
Smithery(推荐)
- 推送到GitHub
- 在Smithery上部署,并设置环境变量:
- TURSO_DATABASE_URL - 您的Turso数据库URL - TURSO_AUTH_TOKEN - 您的 Turso 认证令牌
本地开发
npm install
npm run build
npm start📦 环境变量
TURSO_DATABASE_URL- Turso 数据库 URL(必需)TURSO_AUTH_TOKEN- Turso 认证令牌(必需)PORT- 服务器端口(默认:3000)
📖 使用示例
收集数据:
collect_and_save({
tag: "yatogami_tenka",
max_posts: 500
})回答:
- 显示收集了多少条帖子
- 显示新添加与更新的数量
- 自动处理重复项,使用UPSERT操作
📝 许可证
麻省理工学院(MIT)
