关于 AniList MCP Server (Unofficial)
这是一款面向 MCP 客户端和 Agent 的非官方 AniList 服务,可搜索动漫与漫画并管理账户。它通过 GraphQL 提供公开浏览功能,也支持登录后的列表和社交操作。
主要功能
- 01搜索动漫、漫画、角色、工作人员、工作室和用户
- 02读取作品详情、推荐和统计数据
- 03浏览公开个人资料、列表、动态和讨论串
- 04登录后管理个人列表和收藏
- 05发布动态与讨论串,并管理关注和通知
适用场景
- 01查找动漫并查看评分、题材和简介
- 02探索基于某部作品的推荐
- 03查看公开 AniList 个人资料或列表
- 04授权后更新个人列表或发布动态
MCP 相关
向 MCP 客户端提供 AniList 搜索、浏览、账户管理工具及可复用提示词。使用标准 MCP stdio 协议;个人操作需要 AniList 授权。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
50收录的工具列表 · 更新于 6 天前
此工具无需参数。
详细介绍
AniList MCP 服务(非官方)
一个面向 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 应用(一分钟)。
- 前往 https://anilist.co/settings/developer 并点击 Create New Client。
- 名称: 任意填写。
- 重定向 URL: 准确填写
(如果你的设备上端口 8082 已被占用,请在此处选择其他端口,并将http://localhost:8082/callbackANILIST_OAUTH_PORT设置为相同的数字,参见配置。) - 保存。复制 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_MS | AniList 调用之间的最小间隔(默认值为 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。
- **
.mcpbbundle:**从 发布页面下载新版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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。