Skip to main content
Glama
roxy-plugins

bangumi-mcp

by roxy-plugins

bangumi-mcp

Roxy Plugin API v2 插件,用 Bangumi 官方 API 分页查询收藏列表、查询单个条目的准确进度、设置“在看/看过”,通过章节接口逐集更新动画观看进度,并按 AniList 计划放送时间主动提醒在看动画的新一集。

安全边界

  • 只连接 https://api.bgm.tvhttps://graphql.anilist.co,使用符合官方要求的 User-Agent。

  • Bangumi Access Token 和 AniList Access Token 只从 Roxy plugin-data 的 config.local.toml 读取,不写入仓库、日志或工具结果。

  • 所有远端写入先生成包含作品名和目标状态/集数的预览;确认记录单次使用并在 10 分钟后过期。

  • 完整收藏查询或累计读取达到 100 条时,先显示只读查询范围与预计请求数,并等待本轮之后的逐字确认。

  • 动画进度使用 PATCH /v0/users/-/collections/{subject_id}/episodes 和明确的章节 ID,不用条目级 ep_status 修改动画集数。

Related MCP server: Anitabi MCP Server

安装

Roxy 只安装 Git 已提交快照。从 Roxy 仓库执行:

.venv/bin/python main.py plugin-install \
  --source https://github.com/roxy-plugins/bangumi-mcp.git \
  --marketplace github

安装输出会给出数据目录,默认是:

<workspace>/plugin-data/bangumi-github/

登录 Bangumi 后,前往 Bangumi Access Token 页面 生成个人 Token。该 Token 是账号的 API 访问凭据,不是 Bangumi 密码。

在该目录创建权限为 0600config.local.toml

access_token = "<在此填写 Bangumi Access Token>"
user_agent = "roxy-plugins/bangumi-mcp/0.5.0 (https://github.com/roxy-plugins/bangumi-mcp)"

[anime_push]
enabled = true
notify_before_minutes = 0
display_timezone = "Asia/Shanghai"
anilist_token = "<在此填写 AniList Access Token>"

# 只有自动匹配失败时才需要配置;左侧是 Bangumi subject ID。
[anime_push.media_id_overrides]
"501963" = 123456

已安装旧版本的用户如果在本地配置中显式设置了 user_agent,更新插件后也需要将其改为上述新标识。不要把 Token 放进命令行参数或聊天消息。配置完成后检查:

.venv/bin/python main.py plugin-doctor bangumi@github

运行中的 Roxy 会观察配置变化并发布新的 committed generation;新会话会加载 bangumi Skill 和 MCP 工具。

放送提醒

  • 提醒依据是 AniList nextAiringEpisode.airingAt,精度规范化到分钟;它表示计划放送,不代表流媒体、字幕或片源已经上线。

  • notify_before_minutes=0 从计划放送时刻开始等待投递;可设置为 01440 的整数以提前提醒。

  • 到达提醒时刻后,Roxy 在下一次 proactive tick 读取事件。Gate、Judge、会话繁忙或 channel 状态可能使消息延后数分钟。

  • 插件只处理 Bangumi 标记为“在看”的动画,并在生成提醒前通过逐集接口确认该集尚未标记为“看过”。

  • AniList 与 Bangumi 没有共同稳定 ID。自动匹配只接受唯一严格候选;失败时可在私密配置的 media_id_overrides 中明确指定 AniList media ID。

  • 启用 anime_push 必须配置 AniList Access Token;它只能写入上述 plugin-data 私密文件,不要放在命令行、对话或仓库中。

  • 缓存、待投递事件和 ACK 保存在同一 plugin-data 目录下的 anime_updates.db。关闭 anime_push.enabled 不会删除该数据库。

设计文档

开发验证

python -m pip install -r mcp/requirements.txt -r requirements-dev.txt
pytest
PYTHONPATH=/path/to/plugin-contracts \
  python -m akashic_plugin_contracts check plugin.py

单元测试全部使用假的 HTTP 会话,不访问真实 Bangumi 账户,也不需要 Access Token。

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Provides MCP access to the BangumiTV API, allowing users to retrieve and interact with anime, manga, music, and game information through natural language queries.
    17
    24
  • A
    license
    A
    quality
    D
    maintenance
    Enables users to search for anime information via the Bangumi API and discover corresponding real-world pilgrimage locations through the Anitabi API. It provides tools for retrieving anime metadata and detailed geographic coordinates for 'seichi junrei' locations.
    3
    AGPL 3.0

View all related MCP servers

Related MCP Connectors

  • Access and interact with anime and manga data seamlessly. Retrieve detailed information about your…

  • Track Bilibili creators and get the latest updates on videos, dynamics, and articles. Fetch user p…

  • AniList MCP — wraps AniList GraphQL API (free, no auth)

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/roxy-plugins/bangumi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server