Token导航 LogoToken导航TokenDH.com
Gelbooru MCP logo
设计创作stdio官方级别未说明来源级核验

Gelbooru MCP

MCP Server

A Python MCP server that wraps the Gelbooru API. Connect it to any MCP-compatible client (Claude Desktop, Cursor, etc.) to search posts, look up tags, and generate Stable Diffusion prompts from real character appearance data — all directly from your AI assistant.\\r\\n\\r\\n

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
图像生成PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

citronlegacy

提供方

citronlegacy

最后核验

2026/5/18 02:53

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

GELBOORU_API_KEY={GELBOORU_API_KEY} GELBOORU_USER_ID={GELBOORU_USER_ID} /absolute/path/to/.venv/bin/python /absolute/pat...

详细介绍

盖尔博鲁mcp

![Python](https://www.python.org/) ![License: MIT](https://opensource.org/licenses/MIT) ![MCP](https://modelcontextprotocol.io/)

蟒蛇 主控程序 包装的服务器 黄钻API。将其连接到任何兼容MCP的客户端(Claude Desktop、Cursor等),以搜索帖子、查找标签,并从真实的角色外观数据生成稳定扩散提示——所有这些都可以直接从您的AI助手中完成。

______________________________________________________________________

✨ 特性

🎨 稳定扩散提示生成

  • 角色提示:根据真实的Gelbooru标签频率数据自动生成准确的SD提示
  • 外观故障:单独的眼睛、头发和服装/配饰标签类别
  • 智能缓存:缓存24小时的结果-没有重复的API命中

🔍 帖子和标签搜索

  • 高级过滤:按标签、分数、分辨率、评级、上传者、池等搜索
  • 完整标记语法:AND、OR、通配符、排除、元标记、排序和分页
  • 标签查找:检查标签是否存在、帖子计数并发现相关标签

👥 社区工具

  • 用户搜索:按名称或通配符模式查找Gelbooru用户帐户
  • 评论:检索任何帖子ID的帖子评论
  • 已删除的帖子:跟踪给定帖子ID上方删除的内容

______________________________________________________________________

📦 安装

先决条件

  • Python 3.10+
  • git

快速开始

  1. 克隆存储库:
git clone https://github.com/citronlegacy/gelbooru-mcp.git
cd gelbooru-mcp
  1. 运行安装程序:
chmod +x install.sh && ./install.sh
# or without chmod:
bash install.sh
  1. 或手动安装:
pip install mcp
注: 添加 .gelbooru_cache/.venv/ 到你的 .gitignore 以避免提交缓存数据或虚拟环境。

获取Gelboru API密钥

  1. 访问您的 Gelbooru帐户选项页面
  2. 登录您的Gelbooru帐户
  3. 复制您的 API密钥用户ID
  4. 将它们设置为环境变量(见下文)

______________________________________________________________________

🔑 认证

API凭据是可选的,但强烈建议使用-未经身份验证的请求会受到限制,每个查询只能使用2个标签。Gelbooru Patreon的支持者收到无限的请求。

export GELBOORU_API_KEY="your_api_key"
export GELBOORU_USER_ID="your_user_id"

这两个值都在你的 Gelbooru帐户选项页面没有它们,服务器仍然可以工作,但请求可能会受到限制。盖尔博鲁的Patreon支持者不受利率限制。

______________________________________________________________________

▶️ 运行服务器

python gelbooru_mcp.py
# or via the venv created by install.sh:
.venv/bin/python gelbooru_mcp.py

______________________________________________________________________

⚙️ 配置

克劳德桌面版

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "gelbooru-mcp": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["/absolute/path/to/gelbooru_mcp.py"],
      "env": {
        "GELBOORU_API_KEY": "your_api_key",
        "GELBOORU_USER_ID": "your_user_id"
      }
    }
  }
}

其他MCP客户端

根据客户的文档进行配置:

  • 命令: /absolute/path/to/.venv/bin/python
  • 参数: /absolute/path/to/gelbooru_mcp.py
  • 运输标准: stdio

______________________________________________________________________

💡 用法示例

为角色生成稳定扩散提示

“为Re:Zero中的Rem构建一个稳定的扩散提示。”

LLM电话 build_prompt 随着 character_name: "rem_(re:zero)" 并返回:

rem (re:zero), blue eyes, blue hair, short hair, maid, maid headdress, maid apron, ...

______________________________________________________________________

查找高品质壁纸图像

“向我展示宽度至少为1920px的顶级风景图像。”

LLM电话 search_posts 随着 tags: "scenery width:>=1920 sort:score:desc".

______________________________________________________________________

查看标签的受欢迎程度

“标签‘misty\_(口袋妖怪)’在Gelbooru上有多少帖子?”

LLM电话 search_tags 随着 name: "misty_(pokemon)" 并阅读 count 现场。

______________________________________________________________________

🛠️ 可用工具

工具说明关键参数
build_prompt为字符生成稳定扩散提示字符串character_name, max_images, include_other
get_character_tags使用频率计数获取结构化标签细分character_name, max_images
search_posts支持完整标签语法的搜索帖子tags, limit, pid, id
search_tags按名称、模式或ID查找标签name, name_pattern, orderby, limit
search_users查找Gelbooru用户帐户name, name_pattern, limit
get_comments检索帖子的评论post_id
get_deleted_posts列出最近删除的帖子last_id, limit

______________________________________________________________________

📖 工具参考

build_prompt

获取标记最多的 rating:general solo 发布一个字符,并组装一个即可粘贴的Stable Diffusion提示字符串。内部调用 get_character_tags 因此,结果在第一次获取后被缓存。

参数

参数类型必填默认说明
character_namestringGelbooru字符标签,例如。 misty_(pokemon)
max_images整数300要分析的帖子。更多=先取越慢,标签越可靠。之后缓存。
include_otherbooleantrue包括非眼睛/头发标签(衣服、配饰等)。设置为 false 仅用于外观提示。

示例响应

{
  "prompt": {
    "character": "misty (pokemon)",
    "posts_analysed": 284,
    "cache_hit": false,
    "prompt_string": "misty (pokemon), green eyes, orange hair, side ponytail, gym leader, shorts, suspenders",
    "tags": {
      "eye":   ["green eyes"],
      "hair":  ["orange hair", "side ponytail"],
      "other": ["gym leader", "shorts", "suspenders"]
    }
  }
}
LLM提示: 始终使用Gelbooru的下划线格式(misty_(pokemon)Misty (Pokemon)).如果不确定确切的标签,请致电 search_tags 随着 name_pattern 第一。

______________________________________________________________________

get_character_tags

与相同的数据源 build_prompt 但返回具有频率计数的完整结构化标签细分。当您想自己检查、过滤或重新格式化标签时,请使用此功能。

参数

参数类型必填默认说明
character_namestringGelbooru字符标签,例如。 rem_(re:zero)
max_images整数300要分析的得分最高的帖子数量。

示例响应

{
  "character_tags": {
    "name": "rem_(re:zero)",
    "posts_analysed": 300,
    "cache_hit": true,
    "eye": [
      { "tag": "blue eyes", "count": 261, "frequency": 0.87 }
    ],
    "hair": [
      { "tag": "blue hair",  "count": 274, "frequency": 0.913 },
      { "tag": "short hair", "count": 198, "frequency": 0.66  }
    ],
    "other": [
      { "tag": "maid", "count": 231, "frequency": 0.77 }
    ]
  }
}

frequency 是具有该标签的已分析帖子的分数(0.0-1.0)。接近1.0的标签几乎是通用的;低于0.3的标签是情境性的。

缓存环境变量:

环境变量默认值描述
GELBOORU_CACHE_DIR.gelbooru_cache/ 脚本旁边自定义缓存文件夹路径
GELBOORU_CACHE_TTL86400 (24小时)缓存寿命(秒)

______________________________________________________________________

search_posts

使用任何标签组合搜索Gelbooru帖子。支持完整的Gelbooru标签语法,包括元标签、排序和过滤。

参数

参数类型必填默认说明
tagsstring标记查询字符串(请参见 标记语法参考 在......下面
limit整数20要返回的帖子(最多 100)
pid整数0页码(0索引)用于分页
id整数通过其Gelbooru帖子ID获取单个帖子
cid整数按更改ID(Unix时间戳)获取帖子

______________________________________________________________________

get_deleted_posts

检索已从Gelbooru删除的帖子,可选择过滤到给定帖子ID以上的帖子。

参数

参数类型必填默认说明
last_id整数仅返回ID高于此值的已删除帖子。可用于同步本地镜像。
limit整数20要返回的帖子(最多 100)

______________________________________________________________________

search_tags

按名称、通配符模式或ID查找Gelbooru标签。可用于检查标签是否存在、查找帖子数量、发现相关标签或自动补全。

参数

参数类型必填默认说明
namestring精确的标签名称,例如。 blue_hair
namesstring以空格分隔的精确标签名称列表,例如。 cat_ears dog_ears fox_ears
name_patternstringSQL LIKE通配符: % =任何字符, _ =一个字符。例如 %schoolgirl%
id整数按标签的数据库ID查找标签
after_id整数返回ID大于此值的标签
limit整数20要返回的标签(最大值 100)
orderstringASCDESC
orderbystring排序字段: date, count,或 name
LLM提示: 如果用户用自然语言给出角色名称(例如“口袋妖怪的迷雾”),请使用 name_pattern 随着 %misty%_(pokemon)% 在拨打电话之前找到正确的Gelbooru标签 get_character_tagsbuild_prompt.

______________________________________________________________________

search_users

按名称搜索Gelbooru用户帐户。

参数

参数类型必填默认说明
namestring确切用户名
name_patternstringSQL LIKE通配符用户名搜索
limit整数20要返回的结果(最大值 100)
pid整数0分页页码

______________________________________________________________________

get_comments

检索特定帖子的评论。

参数

参数类型必填默认说明
post_id整数用于获取评论的Gelbooru帖子ID

______________________________________________________________________

🏷️ 标记语法参考

语法含义
tag1 tag2同时带有标签1和标签2的帖子
{tag1 ~ tag2 ~ tag3}带有标签1或标签2或标签3的帖子
-tag1排除带有标签1的帖子
*tag1通配符前缀(以tag1结尾的标签)
tag1*通配符后缀(以tag1开头的标签)
rating:general按等级筛选: general, questionable,或 explicit
-rating:explicit排除评级
score:>=50得分至少50
width:>=1920图像宽度≥1920px
height:>1080图像高度>1080px
user:bob由用户“bob”上传
fav:1ID为1的用户喜欢的帖子
pool:2池ID 2中的帖子
sort:score:desc按分数排序(desc或asc)
sort:random根据每个请求随机订购
sort:random:1234固定种子的随机顺序(0-10000)
sort:updated:desc按最近更新的排序

______________________________________________________________________

🤖 LLM注意事项

  • 字符标签格式: Gelbooru使用 character_(series) 带下划线的格式。在传递给工具之前,始终转换自然语言名称——“Rem from Re:Zero”→ rem_(re:zero)《命运之剑》→ saber_(fate).
  • 字符提示的工作流程: 如果确切的标签未知,请调用 search_tags 随着 name_pattern 第一→ 确认标签存在并有帖子→ 然后打电话 build_prompt.
  • 分页: search_posts 每次调用最多返回100个结果。使用 pid 浏览页面。 get_character_tagsbuild_prompt 在内部处理自己的分页。
  • 隐藏物: get_character_tagsbuild_prompt 将结果缓存24小时。这 cache_hit 响应中的字段指示是使用了实时数据还是缓存数据。
  • 评级: Gelbooru使用 general, questionable,以及 explicit. get_character_tagsbuild_prompt 始终筛选到 rating:general 以获得更清晰、更具代表性的字符数据。

______________________________________________________________________

⚠️ 已知限制

  • 标签搜索限制: Gelbooru强制每个未经身份验证的搜索查询最多2个标签。对于复杂的多标签查询,设置 GELBOORU_API_KEYGELBOORU_USER_ID.
  • get_character_tags 精度: 结果取决于角色在Gelbooru上标记的一致性。小众或最近添加的角色可能帖子较少,频率数据也不太可靠。
  • rating:general 仅适用于字符工具: build_promptget_character_tags 故意限制 rating:general 以获得干净、有代表性的外观数据。明确的帖子被设计排除在外。
  • 缓存为per (character_name, max_images) 一对: 改变 max_images 打开该角色的缓存。

______________________________________________________________________

🐛 故障排除

服务器无法启动:

  • 确保已安装Python 3.10+: python --version
  • 验证虚拟环境是否已创建: ls .venv/
  • 重新运行安装程序: bash install.sh

API速率限制/抑制请求:

  • GELBOORU_API_KEYGELBOORU_USER_ID 环境变量
  • Gelbooru Patreon的支持者收到无限次请求

找不到字符/结果为空:

  • 确认标签存在 search_tags 使用 name_pattern
  • 检查拼写——Gelbooru使用 character_(series) 下划线格式
  • 有些角色可能很少有一致标记的帖子

标签语法错误/标签太多:

  • 未经身份验证的用户每次查询最多只能有2个标签
  • 使用API凭据对复杂的多标记搜索进行身份验证

______________________________________________________________________

🤝 贡献

欢迎拉取请求!如果您发现一个字符标签分类错误(例如,发筒中缺少发型标签,或者噪音标签通过净化过滤器),请使用标签及其所属列表打开问题或PR。

开发环境

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

______________________________________________________________________

📄 许可证

MIT许可证——见 许可证 了解详情。

______________________________________________________________________

🔗 链接

目录标签

目录标签

图像生成PythonClaudeanimemcpboorugelbooruprompt-engineeringstable-diffusionprompt-generatormcp-server本地部署标签搜索社区工具StableDiffusion

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP