mcpField
A
AniList MCP Server (Unofficial)

AniList MCP Server (Unofficial)

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

关于 AniList MCP Server (Unofficial)

这是一款面向 MCP 客户端和 Agent 的非官方 AniList 服务,可搜索动漫与漫画并管理账户。它通过 GraphQL 提供公开浏览功能,也支持登录后的列表和社交操作。

主要功能

  1. 01搜索动漫、漫画、角色、工作人员、工作室和用户
  2. 02读取作品详情、推荐和统计数据
  3. 03浏览公开个人资料、列表、动态和讨论串
  4. 04登录后管理个人列表和收藏
  5. 05发布动态与讨论串,并管理关注和通知

适用场景

  1. 01查找动漫并查看评分、题材和简介
  2. 02探索基于某部作品的推荐
  3. 03查看公开 AniList 个人资料或列表
  4. 04授权后更新个人列表或发布动态

MCP 相关

向 MCP 客户端提供 AniList 搜索、浏览、账户管理工具及可复用提示词。使用标准 MCP stdio 协议;个人操作需要 AniList 授权。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
npmanilist-mcp-server0.11.0
mcpbanilist-mcp-server.mcpb0.11.0

工具

50

收录的工具列表 · 更新于 6 天前

此工具无需参数。

详细介绍

AniList MCP 服务(非官方)

npm version CI license: MIT MCP Registry anilist-mcp-server MCP server

一个面向 AniList 的 MCP 服务。 它兼容任何支持 MCP 的客户端或 Agent(Claude Desktop/Code、Cursor、 VS Code、Cline、Continue 等)。它使用标准 MCP stdio 协议。

功能

直接与 AniList 的公开 GraphQL API(https://graphql.anilist.co)通信:

  • 读取(无需凭据)。 搜索和浏览动漫/漫画、 角色、工作人员、工作室;流派/标签;推荐;论坛主题; 动态;公开/未列出的用户资料和列表。
  • 你的 AniList 账户(需要一次性登录)。 管理你自己的 动漫/漫画列表(添加/更新/移除条目)、收藏、关注对象、通知,以及发布/删除你自己的动态和主题。

你需要什么(以及能获得什么)

开始使用无需任何准备,因此可以直接跳到 安装。以下内容均为可选:

你设置……你将获得……
(无)搜索、详情、流派/标签、推荐、主题、动态、公开资料/列表。立即可用。
一个 AniList Client ID + Client Secret(2 分钟,免费 →),并运行一次 login_anilist获得以上所有功能,还能使用你自己的 AniList 账户:管理列表、收藏、关注对象、动态和主题。

如果没有登录,个人/修改类工具会明确告知如何获取登录;其他功能仍可照常使用。

示例查询

连接后,只需用自然语言向你的 Agent 提问。

无需凭据:

"Search for the anime Frieren and show its score, genres and synopsis."
"What recommendations does AniList have for fans of Steins;Gate?"
"Show me today's birthday characters."
"What genres and tags does AniList use for anime?"
"Show the public profile and stats for user <username>."
"What's in <username>'s AniList anime list marked as watching?"

使用你的 AniList 账户(一次性运行 login_anilist 后;参见 连接你的 AniList 账户):

"Add Frieren to my AniList plan-to-watch list."
"Set Cowboy Bebop to completed on my AniList with a score of 9."
"Follow user <username> for me."
"Post a text update to my AniList activity feed."
"What are my unread AniList notifications?"

工具

工具身份验证
get_genres, get_media_tags, get_site_statistics, get_studio无
get_media, get_media_statistics, get_media_characters, get_media_staff无
get_media_reviews, get_media_relations, get_anime_schedule无
get_character, get_staff, get_todays_birthdays无
get_recommendation, get_recommendations_for_media无
search_media, search_character, search_staff, search_studio, search_user, search_activity无
search_thread, get_thread, get_thread_comments无
get_user_profile, get_user_stats, get_full_user_info, get_user_recent_activity无
get_activity, get_user_activity无
get_user_list无
toggle_favourite令牌
add_list_entry, update_list_entry, update_list_entries, remove_list_entry令牌
post_text_activity, post_message_activity, delete_activity令牌
post_thread, post_thread_comment, delete_thread, delete_thread_comment令牌
get_authorized_user, toggle_follow_user, update_user令牌
get_notifications令牌
login_anilist, submit_anilist_redirect登录

token = 需要登录 AniList(运行一次 login_anilist)。一些标记为 none 的工具 也有筛选条件:search_media/get_character/ get_staff/get_studio 上的 onList、search_activity 上的 isFollowing,以及 get_recommendations_for_media 上的 excludeInList,若未登录则会报错。

提示词

可供客户端作为一键流程提供的可重复使用多步骤计划: recommend_similar, seasonal_overview, hidden_gems, catch_up_activity, check_notifications。

安装

通过 npx 和从源码安装的方式会在你自己的 Node.js 上运行,版本必须为 ≥ 22.18。

作为 .mcpb bundle 安装(一键安装,例如 Claude Desktop)

下载 anilist-mcp-server.mcpb (始终是最新版本),然后用你的 MCP 客户端打开。它会提示你填写可选的 AniList Client ID 和 Client Secret。设置好后,运行 login_anilist 工具即可启用个人列表/社交工具(参见 连接你的 AniList 账户)。留空则仅使用无需凭据的读取工具。

通过 npx 安装(无需安装)

已发布到 npm,名称为 anilist-mcp-server。 将其添加到客户端的 MCP 配置中(Claude Desktop/Code、Cursor、VS Code、Cline,……):

{
  "mcpServers": {
    "anilist": {
      "command": "npx",
      "args": ["-y", "anilist-mcp-server"],
      "env": {
        "ANILIST_CLIENT_ID": "...",
        "ANILIST_CLIENT_SECRET": "..."
      }
    }
  }
}

或者使用 Claude Code CLI:

claude mcp add anilist -e ANILIST_CLIENT_ID=... -e ANILIST_CLIENT_SECRET=... -- npx -y anilist-mcp-server
从源码构建
git clone https://github.com/Grinv/anilist-mcp-server
cd anilist-mcp-server
npm ci
npm run build

这会生成一个独立的 dist/index.js。按上述相同方式将客户端指向它,只需将 "command": "npx", "args": ["-y", "anilist-mcp-server"] 替换为 "command": "node", "args": ["/absolute/path/to/anilist-mcp-server/dist/index.js"] (在命令行形式中,将 npx -y anilist-mcp-server 替换为 node /absolute/path/to/anilist-mcp-server/dist/index.js)。

env 块(上文两种安装方式中均有展示)是可选的:省略它即可仅使用无需凭据的读取工具;在登录前,个人/修改类工具会返回明确的错误。 要启用这些工具,请设置 ANILIST_CLIENT_ID + ANILIST_CLIENT_SECRET,然后运行一次 login_anilist 工具(一次性浏览器授权;之后会保存并重复使用令牌)。服务不会读取 .env 文件,因此请通过此 env 块(或 shell 环境)传递配置。完整的登录指南请参阅 docs/auth.md,更多客户端请参阅 docs/clients.md。

连接你的 AniList 账号

搜索/浏览工具无需任何设置。要使用个人/修改类工具,请授权一次你的账号。整个过程大约需要两分钟。

步骤 1:注册 AniList 应用(一分钟)。

  1. 前往 https://anilist.co/settings/developer 并点击 Create New Client。
  2. 名称: 任意填写。
  3. 重定向 URL: 准确填写
    http://localhost:8082/callback
    
    (如果你的设备上端口 8082 已被占用,请在此处选择其他端口,并将 ANILIST_OAUTH_PORT 设置为相同的数字,参见配置。)
  4. 保存。复制 Client ID 和 Client Secret。

步骤 2:将凭据提供给服务。

"env": { "ANILIST_CLIENT_ID": "...", "ANILIST_CLIENT_SECRET": "..." }

重启服务/客户端,使其读取这些值。

步骤 3:登录(点击一次)。

在你的助手中运行 login_anilist 工具(或直接说 “登录 AniList”)。它会回复一个链接。打开该链接,登录 AniList,然后点击 Approve。

  • 在本地运行(Claude Desktop,或在你自己的设备上运行 Claude Code): 点击 Approve 后,登录会自动完成。发送 “显示我的 AniList 个人资料”(get_authorized_user)进行确认。
  • 在远程/SSH/无头主机上运行: 点击 Approve 后,浏览器会跳转到一个无法加载的页面,这是正常的。复制浏览器地址栏中的完整地址(其中包含 ?code=…),并将其提供给 submit_anilist_redirect 工具以完成登录。

完成。令牌会保存在本地(~/.config/anilist-mcp-server/tokens.json,0600)。AniList 访问令牌大约一年后才会过期,且没有刷新机制,因此过期后你需要再次运行 login_anilist。

不想进行交互式操作? 可以改为预先设置独立的 ANILIST_ACCESS_TOKEN。 请参阅 docs/auth.md。

配置

所有配置均通过环境变量进行,且都是可选的;没有凭据时,读取工具仍可正常工作。

变量用途
ANILIST_CLIENT_ID你的 AniList 应用的 Client ID(参见连接你的 AniList 账户)。
ANILIST_CLIENT_SECRET你的 AniList 应用的 Client Secret,与上面的 Client ID 配套使用。
ANILIST_ACCESS_TOKEN高级选项,可选。 预先提供令牌,而不是运行 login_anilist。参见 docs/auth.md。
ANILIST_TOKEN_STORE覆盖登录令牌在磁盘上的保存位置(默认为你的操作系统配置文件夹)。
ANILIST_OAUTH_PORT仅在端口 8082 已被占用时需要(参见账户设置指南的第 1 步)。
LOG_LEVEL服务记录日志的详细程度:debug | info | warn | error | silent(默认值为 info)。
调优(通常无需调整)
变量用途
ANILIST_MIN_INTERVAL_MSAniList 调用之间的最小间隔(默认值为 2100,即约 30 次/分钟,因为 AniList 的 API 目前处于有文档说明的降级状态;参见 docs/api-references.md)。设为 0 可禁用客户端限流。
CACHE_TTL_MS内存读取缓存的 TTL(默认值为 300000 = 5 分钟)。
HTTP_TIMEOUT_MS、HTTP_RETRIES单次请求的超时时间(默认值为 15000)和临时故障时的重试次数(默认值为 2)。
ANILIST_GRAPHQL_URL、ANILIST_OAUTH_BASE_URL覆盖上游基础 URL。

请在 MCP 客户端配置的 env 块中提供这些变量(服务不会 读取 .env 文件)。有关如何获取凭据,请参见 docs/auth.md;有关客户端配置 代码片段,请参见 docs/clients.md。

NSFW 内容

默认情况下,NSFW(成人)结果不会被过滤;服务会返回 AniList 提供的所有内容。search_media 接受可选的 sfw 参数;设为 sfw: true 可排除成人条目。

开发

npm run build        # type-check + bundle to dist/
npm test             # node:test suite (mocked, offline)
npm run test:coverage
npm run lint
npm run format
npm run check:api    # live health-check of the AniList GraphQL endpoint
npm run inspector    # run under the MCP Inspector

运行时需要 Node ≥ 22.18。有关贡献者和 Agent 的指南(包括此服务存在的原因,以及它如何规避促使我们构建此服务的上游错误),请参见 AGENTS.md。

更新

如需接收新版本通知,请在 GitHub 上点击 Watch → Releases。

  • **.mcpb bundle:**从 发布页面下载新版 anilist-mcp-server.mcpb,然后 在客户端中重新安装(会替换旧版本)。
  • **npx:**不指定版本的 npx -y anilist-mcp-server 会在下次运行时获取最新版本。
  • 从源代码安装:git pull && npm ci && npm run build。

每个版本的变更内容请参见 CHANGELOG。

署名与条款

这是一个非官方项目,与 AniList 无关联,也未获其认可。 所有数据均来自公开的 AniList GraphQL API; 个人账户相关操作使用你自己的 AniList 账户和令牌。使用须遵守 AniList 服务条款。

隐私政策

此服务在你的机器上本地运行,本身不进行遥测。 个人信息/修改工具会使用你提供的令牌操作你的真实 AniList 账户(列表、收藏、 关注、帖子、账户设置)。有关数据收集、数据发送去向、缓存/令牌存储与保留以及联系方式的完整详情,请参阅 PRIVACY.md。

安全

这是本项目同系列服务中写入/社交工具范围最广的一个:可在你的真实 AniList 账户中修改列表、收藏和关注,并发布/删除动态、 主题和评论。有关所有修改类工具、令牌 存储/处理、凭据脱敏以及漏洞报告方式的完整信息,请参阅 SECURITY.md。

许可证

MIT © Grinv

评论

支持 Markdown

第一次接触 MCP?

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

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