关于 yuna0x0-anilist-mcp
AniList MCP 服务通过 AniList API 提供动画、漫画、角色、制作人员及用户数据的访问与操作。适用于需要查询 ACG 信息的 LLM 客户端,同时支持 STDIO 与 HTTP 两种传输方式。
主要功能
- 01搜索动画、漫画、角色、制作人员与工作室
- 02查询作品与人物的详细信息
- 03读取用户资料、列表与动态
- 04支持 STDIO 与 HTTP 传输
- 05可选的 AniList Token 用于登录操作
适用场景
- 01查找与指定作品相似的动画
- 02查询某个角色或声优的详细信息
- 03查看某工作室的代表作品
MCP 相关
这是一个 MCP 服务,向 MCP 客户端提供约四十个工具,涵盖搜索、列表、动态、用户与收藏等操作。需要登录的操作可通过 ANILIST_TOKEN 或 Anilist-Token 请求头提供令牌。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://server.smithery.ai/@yuna0x0/anilist-mcp/mcpclaude mcp add --transport http ai-smithery-yuna0x0-anilist https://server.smithery.ai/@yuna0x0/anilist-mcp/mcp{"mcpServers":{"ai-smithery-yuna0x0-anilist":{"type":"http","url":"https://server.smithery.ai/@yuna0x0/anilist-mcp/mcp"}}}在 Cursor 中打开{"servers":{"ai-smithery-yuna0x0-anilist":{"type":"http","url":"https://server.smithery.ai/@yuna0x0/anilist-mcp/mcp"}}}在 VS Code 中打开{"mcpServers":{"ai-smithery-yuna0x0-anilist":{"type":"http","url":"https://server.smithery.ai/@yuna0x0/anilist-mcp/mcp"}}}{"mcpServers":{"ai-smithery-yuna0x0-anilist":{"serverUrl":"https://server.smithery.ai/@yuna0x0/anilist-mcp/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://server.smithery.ai/@yuna0x0/anilist-mcp/mcp需要授权工具
详细介绍
AniList MCP 服务
一个与 AniList API 对接的模型上下文协议(MCP)服务,让大模型客户端能够访问并交互 AniList 中的动漫、漫画、角色、职员和用户数据。
功能
- 搜索动漫、漫画、角色、职员和工作室
- 获取特定动漫、漫画、角色和职员的详细信息
- 访问用户个人资料和列表
- 支持高级筛选选项
- 获取类型和媒体标签
- 支持双传输方式:HTTP 和 STDIO 传输方式均可使用
- 可部署到云端:支持 Smithery 等平台
要求
- Node.js 18+
本地安装(STDIO 传输方式)
- 将此服务添加到
mcp.json/claude_desktop_config.json:
{
"mcpServers": {
"anilist": {
"command": "npx",
"args": ["-y", "anilist-mcp"],
"env": {
"ANILIST_TOKEN": "your_api_token"
}
}
}
}
如果不打算将 AniList Token 用于需要登录的操作,可以完全移除 env 对象。
- 重启 MCP 客户端(例如 Claude Desktop)
- 使用这些工具与 AniList 交互
服务部署(HTTP 传输方式)
自行托管
按照本地开发说明在本地设置项目,然后运行:
pnpm run start:http
默认情况下,这会在端口 8081 上启动服务。可以通过设置 PORT 环境变量来更改端口。
云端部署
你可以将此 MCP 服务部署到任何支持 Node.js 服务端应用程序的云平台。
你也可以通过 Smithery 等 MCP 平台进行部署。
配置
环境变量(STDIO 传输方式,以及由托管方提供配置的 HTTP 传输方式服务)
使用 STDIO 传输方式或托管 HTTP 传输方式服务时,可以通过环境变量传递配置:
ANILIST_TOKEN:(可选)AniList API Token(仅用于需要登录的操作)
注意
如果托管的 HTTP 传输方式服务已预先配置 Token,应保护你的端点并在允许用户访问前实现身份验证。否则,任何人都可以在使用你的 AniList Token 的情况下访问 MCP 服务。
HTTP 请求头(由用户提供配置的 HTTP 传输方式)
使用 HTTP 传输方式时,用户可以通过 HTTP 请求头传递配置:
Anilist-Token:(可选)AniList API Token(仅用于需要登录的操作)
如果用户在请求头中提供 Token,而服务也设置了 ANILIST_TOKEN,则优先使用请求头中的值。
获取 AniList API Token(可选)
获取 API Token 的步骤如下:
- 前往 AniList 设置。
- 点击“Create New Client”。
- 将此 URL 用作客户端的“Redirect URL”:
https://anilist.co/api/v2/oauth/pin
- 点击“Save”
- 然后前往 https://anilist.co/api/v2/oauth/authorize?client_id={clientID}&response_type=token,将
{clientID}替换为你获取的客户端 ID。系统会要求你登录,随后向你提供可使用的 Token。 - 复制生成的 Token,并在
.env文件或环境变量中使用。
可用工具
杂项工具
- get_genres:获取 AniList 上所有可用的类型
- get_media_tags:获取 AniList 上所有可用的媒体标签
- get_site_statistics:获取 AniList 过去七天的网站统计数据
- get_studio:根据 AniList ID 或名称获取工作室信息
- favourite_studio:[需要登录] 根据 ID 收藏或取消收藏工作室
动态工具
- delete_activity:[需要登录] 删除当前已授权用户发布的动态
- get_activity:根据 ID 获取指定的 AniList 动态
- get_user_activity:获取用户的动态
- post_message_activity:[需要登录] 发布新消息动态或更新现有动态
- post_text_activity:[需要登录] 发布新文本动态或更新现有动态
工具列表
- get_user_anime_list:获取用户的动漫列表
- get_user_manga_list:获取用户的漫画列表
- add_list_entry:[需要登录] 向已授权用户的列表添加条目
- remove_list_entry:[需要登录] 从已授权用户的列表中移除条目
- update_list_entry:[需要登录] 更新已授权用户列表中的条目
媒体工具
- get_anime:根据 AniList ID 获取动漫的详细信息
- get_manga:根据 AniList ID 获取漫画的详细信息
- favourite_anime:[需要登录] 根据 ID 收藏或取消收藏动漫
- favourite_manga:[需要登录] 根据 ID 收藏或取消收藏漫画
人物工具
- get_character:根据 AniList ID 获取角色信息
- get_staff:根据 AniList ID 获取工作人员信息
- favourite_character:[需要登录] 根据 ID 收藏或取消收藏角色
- favourite_staff:[需要登录] 根据 ID 收藏或取消收藏工作人员
- get_todays_birthday_characters:获取所有今天生日的角色
- get_todays_birthday_staff:获取所有今天生日的工作人员
推荐工具
- get_recommendation:根据 ID 获取 AniList 推荐
- get_recommendations_for_media:获取特定媒体的 AniList 推荐
搜索工具
- search_activity:搜索 AniList 上的动态
- search_anime:使用查询词和筛选条件搜索动漫
- search_manga:使用查询词和筛选条件搜索漫画
- search_character:根据查询词搜索角色
- search_staff:根据查询词搜索工作人员
- search_studio:根据查询词搜索工作室
- search_user:搜索 AniList 上的用户
讨论串工具
- get_thread:根据 AniList ID 获取特定讨论串
- get_thread_comments:获取特定讨论串的评论
- delete_thread:[需要登录] 根据 ID 删除讨论串
用户工具
- get_user_profile:获取用户的 AniList 个人资料
- get_user_stats:获取用户的 AniList 统计数据
- get_full_user_info:获取用户完整的个人资料和统计信息
- get_user_recent_activity:获取用户的近期动态
- get_authorized_user:[需要登录] 获取当前已授权用户的个人资料信息
- follow_user:[需要登录] 根据 ID 关注或取消关注用户
- update_user:[需要登录] 更新用户设置
使用示例
基本动漫搜索
Can you search for anime similar to "Bocchi the Rock!"?
获取角色信息
Can you tell me about the character Hitori Gotou? Use the AniList tools to find information.
比较工作室作品
What anime has Studio Ghibli produced? Can you list their most popular works?
本地开发
本项目使用 pnpm 作为包管理器。
克隆代码仓库并安装依赖:
git clone https://github.com/yuna0x0/anilist-mcp.git
cd anilist-mcp
pnpm install
配置(可选)
- 复制示例文件以创建
.env文件:
cp env.example .env
- 编辑
.env文件并添加你的 AniList API 令牌:
ANILIST_TOKEN=your_api_token
使用 MCP Inspector 调试
你可以使用 MCP Inspector 测试和调试 AniList MCP 服务:
npx @modelcontextprotocol/inspector -e ANILIST_TOKEN=your_api_token npx anilist-mcp
# Use this instead when Local Development
pnpm run inspector
然后在浏览器中打开提供的 URL(通常为 http://localhost:6274),访问 MCP Inspector 界面。在那里,你可以:
- 连接到正在运行的 AniList MCP 服务
- 浏览可用工具
- 使用自定义参数运行工具
- 查看响应
在将其连接到 Claude Desktop 等 MCP 客户端之前,这对测试配置尤其有用。
Docker
从 GitHub Container Registry 拉取:
docker pull ghcr.io/yuna0x0/anilist-mcp
Docker 构建(本地开发):
docker build -t ghcr.io/yuna0x0/anilist-mcp .
Docker 多平台构建(本地开发):
docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/yuna0x0/anilist-mcp .
MCP Bundles(MCPB)
要为此服务创建 MCP Bundle,请运行:
pnpm run pack:mcpb
安全声明
此 MCP 服务会从 .env 文件、环境变量或 HTTP 标头中读取你的 AniList API 令牌。请妥善保管此信息,切勿将其提交到版本控制系统中。
许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。