AniList MCP Server
这是一个与AniList API接口的模型上下文协议(MCP)服务器,允许LLM客户端访问和交互来自AniList的动画、漫画、角色、工作人员和用户数据。
功能
- 搜索动画、漫画、角色、工作人员和工作室
- 获取特定动画、漫画、角色和工作人员成员的详细信息
- 访问用户资料和列表
- 支持高级过滤选项
- 获取类型和媒体标签
- 双传输支持:同时支持HTTP和STDIO传输
- 云部署就绪:支持Smithery和其他平台
要求
本地安装(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服务器应用程序的云平台上。
您也可以通过MCP平台如Smithery进行部署。
配置
环境变量(STDIO传输和HTTP传输服务器,其中主机提供配置)
当使用STDIO传输或托管HTTP传输服务器时,可以通过环境变量传递配置:
ANILIST_TOKEN: (可选) AniList API Token (仅需用于需要登录的操作)
[!警告]
如果您预配置了Token并托管HTTP传输服务器,请确保保护您的端点并在允许用户访问之前实现身份验证。否则,任何人都可以使用您的AniList Token访问您的MCP服务器。
HTTP头(HTTP传输,其中用户提供配置)
当使用HTTP传输时,用户可以通过HTTP头传递配置:
Anilist-Token: (可选) AniList API Token (仅需用于需要登录的操作)
如果用户在头部提供了Token,而服务器也设置了ANILIST_TOKEN,则头部值将优先。
获取AniList API Token(可选)
要获取API Token,请遵循以下步骤:
- 前往AniList设置。
- 单击“创建新客户端”。
- 使用此URL作为客户端的“重定向URL”:
https://anilist.co/api/v2/oauth/pin
- 单击“保存”
- 然后前往 https://anilist.co/api/v2/oauth/authorize?client_id={clientID}&response_type=token,用您获得的客户端ID替换{clientID}。它会要求您登录,然后为您提供一个可用的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_m_anga: [需要登录] 根据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: [需要登录] 更新用户设置
示例用法
基本动画搜索
你能搜索与"Bocchi the Rock!"相似的动画吗?
获取角色信息
你能告诉我关于角色Hitori Gotou的信息吗?使用AniList工具查找信息。
比较工作室作品
Studio Ghibli制作了哪些动画?你能列出他们最受欢迎的作品吗?
本地开发
该项目使用pnpm作为其包管理器。
克隆仓库并安装依赖项:
git clone https://github.com/yuna0x0/anilist-mcp.git
cd anilist-mcp
pnpm install
配置(可选)
- 通过复制示例创建一个
.env文件:
cp env.example .env
- 编辑
.env文件并添加您的AniList API Token:
ANILIST_TOKEN=your_api_token
使用MCP Inspector调试
您可以使用MCP Inspector测试和调试AniList MCP服务器:
npx @modelcontextprotocol/inspector -e ANILIST_TOKEN=your_api_token npx anilist-mcp
# 当本地开发时使用这个
pnpm run inspector
然后在提供的URL(通常是http://localhost:6274)打开浏览器以访问MCP Inspector界面。在那里,您可以:
- 连接到正在运行的AniList MCP服务器
- 浏览可用工具
- 使用自定义参数运行工具
- 查看响应
这对于在连接到像Claude Desktop这样的MCP客户端之前测试您的设置特别有用。
Docker
从GitHub容器注册表拉取:
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捆绑包(MCPB)
要为此服务器创建MCP捆绑包,运行:
pnpm run pack:mcpb
安全通知
此MCP服务器接受您的AniList API Token在.env文件、环境变量或HTTP头中。请确保这些信息的安全性,切勿提交到版本控制。
许可证
本项目根据MIT许可证发布 - 详情见LICENSE文件。