TIP项目已开源在 Tokisaki-Galaxy/bangumimcp-ts,欢迎点 star。
NOTE第三方 MCP 服务器不建议直接用于敏感账号。涉及收藏、评论、个人信息时,更适合自建。
如果你想把 Bangumi 接到 Claude、Cursor、Copilot 这类支持 MCP 的客户端里,真正麻烦的地方通常不是接入,而是工具太多,模型不好选。
这个项目做的事情很直接。它把 Bangumi API 封装成一个可部署在 Cloudflare Workers 上的 HTTP MCP 服务,再把原本分散的几十个接口收敛成更容易理解的 8 个入口。
为什么要做成 MCP
Bangumi 的能力很完整。条目、人物、角色、收藏、目录、章节、编辑历史,都有对应接口。
问题也很明显。对大模型来说,工具太多会带来两个负担。
- 容易选错工具
- 一次上下文里塞进太多说明
所以这里的思路不是把每个接口原样暴露,而是把常用动作聚合起来,让模型先理解“要做什么”,再去调用具体工具。
如何使用
在支持 MCP 的客户端里,直接添加服务器地址即可。
https://bgm.api.tski.uk/mcp如果你需要写入收藏、修改进度、收藏人物或角色,再补充个人令牌。
https://next.bgm.tv/demo/access-token/create部署方式
一键部署
Fork 后部署
Fork Tokisaki-Galaxy/bangumimcp-ts 到自己的账户,再在 Cloudflare 里连接 GitHub 仓库即可。
部署前提
- 一个 Cloudflare 账号
- 一个 GitHub 仓库连接
暴露的 8 个工具
这个 MCP 默认只暴露这 8 个入口。
searchget_subjectget_userget_calendarupdate_collectionget_personget_charactermanage_index(默认关闭)
search
一个入口搜索三类对象:条目、人物、角色。
它支持 scope 限定搜索范围,也支持分页和筛选参数。模型一般先搜索,再决定要不要展开详情。
get_subject
条目详情入口。它不只返回标题和简介。
还可以通过 include 展开这些内容:
personscharactersrelationsepisodes
这样模型可以一次拿到主信息和关联信息,减少来回调用。
get_user
用户画像入口。
它会返回用户资料和收藏快照,适合看“这个人平时看什么、收藏什么、偏好什么”。
get_calendar
放送表入口。
如果你想查今天或本周有哪些番在播,这个工具最直接。
update_collection
这是唯一的写入口。
我把“收藏条目”“改进度”“收藏人物”“收藏角色”统一到一个入口里,再由 target_type 严格分流。
target_type=subject才能用subject_status / progress / rating / commenttarget_type=person或target_type=character只能用favorite
这样可以避免模型把无关参数混着传。
get_person
人物详情入口。它会同时带出人物相关作品和角色信息。
get_character
角色详情入口。它会同时带出出演作品和声优相关信息。
manage_index
目录管理入口,但默认关闭。
只有显式开启环境变量后,它才会出现在工具列表里。
这次收敛工具的原因
核心不是删功能,而是降低认知成本。
对模型来说,工具越少越好选。对人来说,入口越聚合越容易记。
以前可能会拆成这些工具:
get_subject_detailsget_subject_personsget_subject_charactersget_subject_relationsget_episodes
现在变成一个 get_subject,通过 include 就能拿到需要的展开数据。
这类设计对 MCP 很关键,因为 MCP 的目标不是给人写脚本,而是给模型调用。
这版做了哪些细节处理
部分失败不会炸全局
像 get_subject、get_user、get_person、get_character 这种聚合工具,内部会并行拉多个子接口。
如果其中某个子请求失败,不会直接打断整次调用,而是把那一段结果标成 _error。
这样模型还能继续使用其余可用信息。
写参数会严格校验
update_collection 不会再“尽量帮你猜”。
如果参数组合不合法,直接返回 invalid_argument。
这对模型很重要。静默忽略会让它误以为自己写成功了。
nsfw_filter 会正常透传
搜索角色时,如果用户没有 token,Bangumi 本身会忽略 NSFW 过滤条件,而不是报错。
所以这个 MCP 会把参数原样传下去,让后端按权限处理。
适合什么场景
- 用自然语言查 Bangumi 条目
- 让模型总结人物、角色和条目关系
- 快速查看收藏状态和放送表
- 用更少的工具让客户端更稳定地选工具
总结
这版 Bangumi MCP 的方向很明确。
少而稳的工具入口,配合清晰的语义说明。
它不是把 Bangumi API 全部摊开给模型,而是把常见操作聚合起来,让 MCP 更像一个可对话的 Bangumi 门面。
如果目标是让 AI 真正好用地访问 Bangumi,这种收敛过的工具设计,通常比接口全暴露更有效。