🎌 ani-mcp

🧠 一個面向 AniList 的智能 MCP 服務器——它懂你的動漫與漫畫品味,而不只是簡單地調用 API。
✨ 主要特性
大多數 AniList 集成只是 1:1 地映射 API,而 ani-mcp 在其之上增加了一層智能化能力:
- 🎭 品味畫像(Taste profiling)——根據你的"已完成"列表構建你的偏好模型
- 🎯 個性化推薦——基於你的品味、心情和當季新番給出"接下來該看什麼?"
- 🤝 契合度對比——比較兩位用戶之間的品味契合度
- 📺 續作提醒——找出你已看過的番在本季播出的續作
- 🔗 觀看順序——為長篇系列進行系列關聯鏈遍歷
- ⏱️ 觀影規劃——"我有 90 分鐘,該看點什麼?",從你當前列表中挑選
- 📊 年度回顧——把你的觀影/閱讀數據彙總成年度報告
此外還包含基礎功能:搜索、詳情、熱門趨勢、當季瀏覽、列表管理、社交功能以及社區推薦。所有搜索與瀏覽工具都支持分頁,可翻看超出第一頁的結果。
🚀 快速開始
無需賬號,支持任何兼容 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