mcpField
A

Ani Mcp

本地服务
github.com/GavMason游戏娱乐312 周前更新

关于 Ani Mcp

Ani Mcp 是面向动漫和漫画爱好者的 AniList MCP 服务,可根据观看和阅读记录提供推荐。它将 AniList 搜索与列表功能结合起来,并提供口味画像、观看规划和社交比较。

主要功能

  1. 01搜索和浏览动漫与漫画
  2. 02生成口味画像和个性化推荐
  3. 03按时间与心情规划观看
  4. 04追踪续作和系列观看顺序
  5. 05管理列表、评分与进度

适用场景

  1. 01从待看列表或当季作品中挑选内容
  2. 02按可用时长安排剧集观看
  3. 03与另一位 AniList 用户比较口味
  4. 04更新动漫或漫画列表进度

MCP 相关

它向 MCP 客户端提供 AniList 搜索、列表、推荐、分析和写入工具,以及资源与提示词。写入操作需要 AniList 令牌。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"gavmason-ani": {
"command": "npx",
"args": [
"-y",
"ani-mcp"
],
"env": {
"ANILIST_USERNAME": "<ANILIST_USERNAME>",
"ANILIST_TOKEN": "<ANILIST_TOKEN>"
}
}
}
}
启动命令npx -y ani-mcp
需要配置的环境变量
ANILIST_USERNAMEDefault AniList username for list and stats tools
ANILIST_TOKEN密钥AniList OAuth token for authenticated queries

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmani-mcp0.1.1

工具

15

收录的工具列表 · 更新于 2 周前

参数类型必填说明
typeenum否搜索动漫或漫画ANIME | MANGA
yearinteger否按发行年份筛选
genrestring否按类型筛选,例如 "Action"、"Romance"、"Thriller"
limitinteger否返回结果数量(默认 10,最多 25)
querystring是搜索词,例如 "steins gate"、"one piece"、"chainsaw man"
formatenum否按格式筛选(TV、MOVIE 等)TV | MOVIE | OVA | ONA | SPECIAL | MANGA | NOVEL | ONE_SHOT
isAdultboolean否在结果中包含成人(18+)内容

详细介绍

ani-mcp

ani-mcp

npm version npm downloads CI License: MIT MCP Bundle

为 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

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。