关于 Ani Mcp
Ani Mcp 是面向动漫和漫画爱好者的 AniList MCP 服务,可根据观看和阅读记录提供推荐。它将 AniList 搜索与列表功能结合起来,并提供口味画像、观看规划和社交比较。
主要功能
- 01搜索和浏览动漫与漫画
- 02生成口味画像和个性化推荐
- 03按时间与心情规划观看
- 04追踪续作和系列观看顺序
- 05管理列表、评分与进度
适用场景
- 01从待看列表或当季作品中挑选内容
- 02按可用时长安排剧集观看
- 03与另一位 AniList 用户比较口味
- 04更新动漫或漫画列表进度
MCP 相关
它向 MCP 客户端提供 AniList 搜索、列表、推荐、分析和写入工具,以及资源与提示词。写入操作需要 AniList 令牌。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
15收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | enum | 否 | 搜索动漫或漫画ANIME | MANGA |
| year | integer | 否 | 按发行年份筛选 |
| genre | string | 否 | 按类型筛选,例如 "Action"、"Romance"、"Thriller" |
| limit | integer | 否 | 返回结果数量(默认 10,最多 25) |
| query | string | 是 | 搜索词,例如 "steins gate"、"one piece"、"chainsaw man" |
| format | enum | 否 | 按格式筛选(TV、MOVIE 等)TV | MOVIE | OVA | ONA | SPECIAL | MANGA | NOVEL | ONE_SHOT |
| isAdult | boolean | 否 | 在结果中包含成人(18+)内容 |
详细介绍
ani-mcp
为 AniList 打造的智能 MCP 服务,不只是原始 API 调用,还能了解你对动漫和漫画的喜好。
有何不同
大多数 AniList 集成都是对 API 的一对一映射。ani-mcp 在此基础上增加了智能层:
- 喜好画像 - 根据你已看完的列表建立偏好模型
- 个性化推荐 - 根据你的喜好、心情和当季新番,回答“接下来该看什么?”
- 匹配度 - 比较两位用户的喜好
- 续作提醒 - 查找本季播出的、你已看完作品的续作
- 观看顺序 - 遍历长期连载系列的系列作品链
- 观看计划 - 根据你的当前列表回答“我有 90 分钟,该看什么?”
- 年度回顾 - 汇总你的观看和阅读统计数据
此外还提供必备功能:搜索、详情、趋势、当季浏览、列表管理、社交功能和社区推荐。所有搜索和浏览工具都支持分页,可浏览结果的后续页面。
30 秒快速体验
无需账户。适用于任何兼容 MCP 的客户端。
Claude Desktop
将以下内容添加到配置文件(Settings > Developer > Edit Config,或 macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"anilist": {
"command": "npx",
"args": ["-y", "ani-mcp"]
}
}
}
保存后重启 Claude Desktop。
或者,从最新版本下载 ani-mcp.mcpb,并通过 Settings > Extensions 安装。
Claude Code
claude mcp add ani-mcp -- npx -y ani-mcp
个性化功能
添加用户名以使用推荐、喜好画像和列表管理功能:
{
"mcpServers": {
"anilist": {
"command": "npx",
"args": ["-y", "ani-mcp"],
"env": {
"ANILIST_USERNAME": "your_username"
}
}
}
}
对于写入操作(更新进度、评分、编辑列表),还需添加 ANILIST_TOKEN。详情请参阅环境变量。
环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
ANILIST_USERNAME | 否 | 列表和统计工具的默认用户名。也可以在每次调用时传入。 |
ANILIST_TOKEN | 否 | AniList OAuth 令牌。执行写入操作和访问私有列表时必需。 |
ANILIST_TITLE_LANGUAGE | 否 | 标题偏好:english(默认)、romaji 或 native。 |
ANILIST_SCORE_FORMAT | 否 | 覆盖评分显示格式:POINT_100、POINT_10_DECIMAL、POINT_10、POINT_5、POINT_3。 |
ANILIST_NSFW | 否 | 设置为 true,在结果中包含成人内容。默认值:false。 |
ANILIST_MOOD_CONFIG | 否 | 用于添加或覆盖心情关键词的 JSON 对象。请参阅心情配置。 |
DEBUG | 否 | 设置为 true,将调试日志输出到 stderr。 |
MCP_TRANSPORT | 否 | 设置为 http,使用 HTTP Stream 传输。默认值:stdio。 |
MCP_PORT | 否 | HTTP 传输的端口。默认值:3000。 |
MCP_HOST | 否 | HTTP 传输的主机。默认值:localhost。 |
工具
搜索与发现
| 工具 | 描述 |
|---|---|
anilist_search | 按标题搜索动漫/漫画,并可按类型、年份和格式筛选 |
anilist_details | 查看标题的完整详情、关联作品和推荐 |
anilist_seasonal | 浏览某一季的动漫阵容 |
anilist_trending | 查看 AniList 当前的热门内容 |
anilist_genres | 浏览某一类型下的热门标题,并可选择筛选 |
anilist_genre_list | 列出所有有效类型和内容标签 |
anilist_recommendations | 查看社区对某一标题的推荐 |
列表与统计
| 工具 | 描述 |
|---|---|
anilist_list | 查看用户的动漫/漫画列表,并按状态筛选 |
anilist_lookup | 检查某一标题是否在用户的列表中 |
anilist_stats | 查看观看/阅读统计、热门类型和评分分布 |
智能分析
| 工具 | 描述 |
|---|---|
anilist_taste | 根据你已完成的列表生成口味档案 |
anilist_pick | 根据你的待看列表、当季阵容或发现池,个性化推荐「接下来该看什么」 |
anilist_compare | 比较两位用户的口味契合度 |
anilist_wrapped | 年度回顾摘要 |
anilist_explain | 「我为什么会喜欢这个?」——根据你的口味档案为标题评分 |
anilist_similar | 查找与指定动漫或漫画相似的标题 |
anilist_sequels | 查找你已完成作品的本季播出续作 |
anilist_watch_order | 查看系列作品的观看顺序 |
anilist_session | 在时间预算内规划观看安排 |
anilist_mal_import | 导入 MyAnimeList 用户的列表并生成推荐 |
anilist_kitsu_import | 导入 Kitsu 用户的列表并生成推荐 |
卡片
| 工具 | 描述 |
|---|---|
anilist_taste_card | 生成可分享的口味档案卡片 PNG 图片 |
anilist_compat_card | 生成比较两位用户的契合度卡片 PNG 图片 |
信息
| 工具 | 描述 |
|---|---|
anilist_staff | 查看标题的工作人员名单和配音演员 |
anilist_staff_search | 按姓名搜索人物并查看其所有作品 |
anilist_studio_search | 搜索动画工作室并查看其制作作品 |
anilist_schedule | 查看播出日程和下一集倒计时 |
anilist_airing | 查看你当前正在追看的标题即将播出的剧集 |
anilist_characters | 按姓名搜索角色,并查看其出场作品和配音演员 |
anilist_whoami | 检查认证状态和评分格式 |
社交
| 工具 | 描述 |
|---|---|
anilist_profile | 查看用户的个人资料、简介、收藏和统计 |
anilist_feed | 查看用户动态中的近期活动 |
anilist_reviews | 查看社区对某一标题的评论 |
anilist_favourite | 添加或取消动漫、漫画、角色、工作人员或工作室的收藏 |
anilist_activity | 在你的动态中发布文字活动 |
anilist_group_pick | 为团体寻找适合一起观看的动漫/漫画 |
anilist_shared_planning | 查找两位用户计划列表的重合项 |
anilist_follow_suggestions | 按口味契合度为已关注的用户排序 |
anilist_react | 为动态点赞或回复 |
分析
| 工具 | 描述 |
|---|---|
anilist_calibration | 按类型分析个人评分偏差与社区共识的对比 |
anilist_drops | 分析弃看模式——类型/标签聚类和弃看集数中位数 |
anilist_evolution | 分析你的口味在 2 年时间段内的变化 |
anilist_completionist | 通过关联图追踪系列作品的完成情况 |
anilist_seasonal_stats | 按季度统计选择、看完和弃看的比率 |
anilist_pace | 估算当前正在观看的标题的完成日期 |
写入(需要 ANILIST_TOKEN)
| 工具 | 描述 |
|---|---|
anilist_update_progress | 更新剧集或章节进度 |
anilist_add_to_list | 将作品添加到列表并设置状态 |
anilist_rate | 为作品评分(0-10) |
anilist_delete_from_list | 从列表中移除条目 |
anilist_undo | 撤销上一次写入操作 |
anilist_unscored | 列出已完成但尚未评分的作品,以便批量评分 |
anilist_batch_update | 批量筛选列表条目并执行操作(默认试运行) |
资源
MCP 资源无需调用工具,即可为 AI 助手提供上下文。支持资源的客户端可以自动在对话中包含这些信息。
| 资源 | 描述 |
|---|---|
anilist://profile | 你的 AniList 个人资料,包含简介、统计数据和收藏 |
anilist://taste/{type} | ANIME 或 MANGA 的口味档案(类型权重、主题、评分模式) |
anilist://list/{type} | 当前正在观看/阅读的条目,以及进度和评分 |
提示词
预先编写的对话开场白,客户端可以将其作为快捷操作提供。
| 提示词 | 描述 |
|---|---|
setup | 逐步引导你连接 AniList 账号 |
seasonal_review | 根据你的口味档案,回顾本季动画 |
what_to_watch | 规划现在要看的内容,可选择心情和时间预算 |
roast_my_taste | 幽默地吐槽你的动漫口味 |
compare_us | 将你的口味与另一位用户进行比较 |
year_in_review | 回顾你这一年的动漫/漫画观看情况 |
explain_title | 解释你为什么会喜欢(或不喜欢)某部作品 |
find_similar | 查找与你喜欢的作品相似的作品 |
示例
连接 ani-mcp 后,你可以向 AI 助手提出以下问题:
“接下来我该看什么?”
使用 anilist_pick 分析你已完成的列表,建立口味档案,并根据与你偏好的匹配程度,为你的计划列表中的作品排序推荐。
“我想看一些黑暗、偏心理的作品”
使用 anilist_pick 按心情筛选,提高符合这种氛围的作品的排名,并降低不匹配作品的排名。
“本季有什么好看的?”
使用 anilist_pick 和 source: SEASONAL,根据你的口味档案为当前正在播出的动画排序。
“我有 90 分钟,今晚看什么好?”
使用 anilist_session 从你当前正在看的列表中挑选作品,并根据时间预算安排最符合你口味的剧集。
“我看完的作品有没有续作正在播出?”
使用 anilist_sequels 将你已完成的列表与本季阵容进行交叉比对。
“Fate 的观看顺序是什么?”
使用 anilist_watch_order 遍历系列关系图,并生成编号观看顺序。
“将我的口味与 username123 进行比较”
使用 anilist_compare 查找共同看过的作品、计算兼容度分数,并突出显示最大的分歧。
“我为什么会喜欢《海盗战记》?”
使用 anilist_explain 根据你的口味档案为作品评分,并分析类型偏好和主题契合度。
“给我看看我的年度动漫回顾”
使用 anilist_wrapped 总结你在指定年份观看的所有内容。
心情配置
anilist_pick 和 anilist_session 接受自由格式的 mood 字符串。内置关键词包括:dark、chill、hype、action、romantic、funny、brainy、sad、scary、epic、wholesome、intense、mystery、fantasy、scifi、trippy、nostalgic、artistic、competitive、cozy。
如需添加或覆盖关键词,请将 ANILIST_MOOD_CONFIG 设置为 JSON 对象:
{
"ANILIST_MOOD_CONFIG": "{\"cozy\":{\"boost\":[\"Slice of Life\",\"Iyashikei\"],\"penalize\":[\"Horror\"]},\"mykeyword\":{\"boost\":[\"Romance\"],\"penalize\":[]}}"
}
每个键都是一个心情关键词,对应 { boost: string[], penalize: string[] } 数组,数组内容为 AniList 类型和标签。
隐私
详情请参见 PRIVACY.md。简而言之:ani-mcp 在本地运行,仅向 AniList API 发送请求,不存储任何内容,也不收集分析数据。
Docker
docker build -t ani-mcp .
docker run -e ANILIST_USERNAME=your_username ani-mcp
默认使用 HTTP Stream 传输,在端口 3000 上运行。
从源代码构建
git clone https://github.com/gavxm/ani-mcp.git
cd ani-mcp
npm install
npm run build
npm test
支持
Bug 报告和功能请求:GitHub Issues
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。