io.github.GavMason/ani-mcp

平台与服务

by gavmason

面向 AniList 的智能 MCP server,能理解你的 anime/manga 偏好,而不只是调用 API。

什么是 io.github.GavMason/ani-mcp

面向 AniList 的智能 MCP server,能理解你的 anime/manga 偏好,而不只是调用 API。

README

<p align="center"> <img src="assets/icon.svg" width="128" height="128" alt="ani-mcp"> </p>

ani-mcp

npm version npm downloads CI License: MIT MCP Bundle

A smart MCP server for AniList that understands your anime and manga taste - not just raw API calls.

What makes this different

Most AniList integrations mirror the API 1:1. ani-mcp adds an intelligence layer on top:

  • Taste profiling - builds a model of your preferences from your completed list
  • Personalized picks - "what should I watch next?" based on your taste, mood, and seasonal lineup
  • Compatibility - compare taste between two users
  • Sequel alerts - find sequels airing this season for shows you've finished
  • Watch order - franchise chain traversal for long-running series
  • Session planning - "I have 90 minutes, what should I watch?" from your current list
  • Year in review - your watching/reading stats wrapped up

Plus the essentials: search, details, trending, seasonal browsing, list management, social features, and community recommendations. All search and browse tools support pagination for browsing beyond the first page of results.

Try it in 30 seconds

No account needed. Works with any MCP-compatible client.

Claude Desktop

Add to your config file (Settings > Developer > Edit Config or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

json
{
  "mcpServers": {
    "anilist": {
      "command": "npx",
      "args": ["-y", "ani-mcp"]
    }
  }
}

Restart Claude Desktop after saving.

Alternatively, download ani-mcp.mcpb from the latest release and install via Settings > Extensions.

Claude Code

sh
claude mcp add ani-mcp -- npx -y ani-mcp

Personalized features

Add your username for recommendations, taste profiling, and list management:

json
{
  "mcpServers": {
    "anilist": {
      "command": "npx",
      "args": ["-y", "ani-mcp"],
      "env": {
        "ANILIST_USERNAME": "your_username"
      }
    }
  }
}

For write operations (updating progress, scoring, list edits), also add ANILIST_TOKEN. See Environment Variables for details.

Environment Variables

VariableRequiredDescription
ANILIST_USERNAMENoDefault username for list and stats tools. Can also pass per-call.
ANILIST_TOKENNoAniList OAuth token. Required for write operations and private lists.
ANILIST_TITLE_LANGUAGENoTitle preference: english (default), romaji, or native.
ANILIST_SCORE_FORMATNoOverride score display: POINT_100, POINT_10_DECIMAL, POINT_10, POINT_5, POINT_3.
ANILIST_NSFWNoSet to true to include adult content in results. Default: false.
ANILIST_MOOD_CONFIGNoJSON object to add or override mood keywords. See Mood config.
DEBUGNoSet to true for debug logging to stderr.
MCP_TRANSPORTNoSet to http for HTTP Stream transport. Default: stdio.
MCP_PORTNoPort for HTTP transport. Default: 3000.
MCP_HOSTNoHost for HTTP transport. Default: localhost.

Tools

Search & Discovery

ToolDescription
anilist_searchSearch anime/manga by title with genre, year, and format filters
anilist_detailsFull details, relations, and recommendations for a title
anilist_seasonalBrowse a season's anime lineup
anilist_trendingWhat's trending on AniList right now
anilist_genresBrowse top titles in a genre with optional filters
anilist_genre_listList all valid genres and content tags
anilist_recommendationsCommunity recommendations for a specific title

Lists & Stats

ToolDescription
anilist_listA user's anime/manga list, filtered by status
anilist_lookupCheck if a specific title is on a user's list
anilist_statsWatching/reading statistics, top genres, score distribution

Intelligence

ToolDescription
anilist_tasteGenerate a taste profile from your completed list
anilist_pickPersonalized "what to watch next" from your backlog, seasonal lineup, or discovery pool
anilist_compareCompare taste compatibility between two users
anilist_wrappedYear-in-review summary
anilist_explain"Why would I like this?" - score a title against your taste profile
anilist_similarFind titles similar to a given anime or manga
anilist_sequelsSequels airing this season for titles you've completed
anilist_watch_orderViewing order for a franchise
anilist_sessionPlan a viewing session within a time budget
anilist_mal_importImport a MyAnimeList user's list and generate recommendations
anilist_kitsu_importImport a Kitsu user's list and generate recommendations

Cards

ToolDescription
anilist_taste_cardGenerate a shareable taste profile card as a PNG image
anilist_compat_cardGenerate a compatibility card comparing two users as a PNG image
<p align="center"> <img src="assets/taste-card.png" width="400" alt="Taste Profile Card"> <img src="assets/compat-card.png" width="400" alt="Compatibility Card"> </p>

Info

ToolDescription
anilist_staffStaff credits and voice actors for a title
anilist_staff_searchSearch for a person by name and see all their works
anilist_studio_searchSearch for a studio and see their productions
anilist_scheduleAiring schedule and next episode countdown
anilist_airingUpcoming episodes for titles you're currently watching
anilist_charactersSearch characters by name with appearances and VAs
anilist_whoamiCheck authentication status and score format

Social

ToolDescription
anilist_profileView a user's profile, bio, favourites, and stats
anilist_feedRecent activity from a user's feed
anilist_reviewsCommunity reviews for a title
anilist_favouriteToggle favourite on anime, manga, character, staff, or studio
anilist_activityPost a text activity to your feed
anilist_group_pickFind anime/manga for a group to watch together
anilist_shared_planningFind overlap between two users' planning lists
anilist_follow_suggestionsRank followed users by taste compatibility
anilist_reactLike or reply to an activity

Analytics

ToolDescription
anilist_calibrationPer-genre scoring bias vs community consensus
anilist_dropsDrop pattern analysis - genre/tag clusters and median drop point
anilist_evolutionHow your taste shifted across 2-year time windows
anilist_completionistFranchise completion tracking via relation graph
anilist_seasonal_statsPer-season pick/finish/drop rates
anilist_paceEstimated completion date for currently watching titles

Write (requires ANILIST_TOKEN)

ToolDescription
anilist_update_progressUpdate episode or chapter progress
anilist_add_to_listAdd a title to your list with a status
anilist_rateScore a title (0-10)
anilist_delete_from_listRemove an entry from your list
anilist_undoUndo the last write operation
anilist_unscoredList completed but unscored titles for batch scoring
anilist_batch_updateBulk filter + action on list entries (dry-run default)

Resources

MCP resources provide context to your AI assistant without needing a tool call. Clients that support resources can automatically include this information in conversations.

ResourceDescription
anilist://profileYour AniList profile with bio, stats, and favourites
anilist://taste/{type}Taste profile (genre weights, themes, scoring patterns) for ANIME or MANGA
anilist://list/{type}Currently watching/reading entries with progress and scores

Prompts

Pre-built conversation starters that clients can offer as quick actions.

PromptDescription
setupWalk through connecting your AniList account step by step
seasonal_reviewReview this season's anime against your taste profile
what_to_watchPlan what to watch now with optional mood and time budget
roast_my_tasteGet a humorous roast of your anime taste
compare_usCompare your taste with another user
year_in_reviewYour anime/manga year in review
explain_titleWhy would you like (or dislike) a specific title?
find_similarFind titles similar to one you enjoyed

Examples

Here are some things you can ask your AI assistant once ani-mcp is connected:

"What should I watch next?" Uses anilist_pick to analyze your completed list, build a taste profile, and recommend titles from your Planning list ranked by how well they match your preferences.

"I want something dark and psychological" Uses anilist_pick with mood filtering to boost titles matching that vibe and penalize mismatches.

"What's good this season?" Uses anilist_pick with source: SEASONAL to rank currently airing anime against your taste profile.

"I have 90 minutes, what should I watch tonight?" Uses anilist_session to pick from your currently watching list and fill a time budget with the best-matching episodes.

"Any sequels airing for stuff I've finished?" Uses anilist_sequels to cross-reference your completed list with this season's lineup.

"What order do I watch Fate in?" Uses anilist_watch_order to traverse the franchise relation graph and produce a numbered viewing order.

"Compare my taste with username123" Uses anilist_compare to find shared titles, compute a compatibility score, and highlight biggest disagreements.

"Why would I like Vinland Saga?" Uses anilist_explain to score a title against your taste profile, breaking down genre affinity and theme alignment.

"Show me my anime year in review" Uses anilist_wrapped to summarize everything you watched in a given year.

Mood config

anilist_pick and anilist_session accept a freeform mood string. Built-in keywords include: dark, chill, hype, action, romantic, funny, brainy, sad, scary, epic, wholesome, intense, mystery, fantasy, scifi, trippy, nostalgic, artistic, competitive, cozy.

To add or override keywords, set ANILIST_MOOD_CONFIG as a JSON object:

json
{
  "ANILIST_MOOD_CONFIG": "{\"cozy\":{\"boost\":[\"Slice of Life\",\"Iyashikei\"],\"penalize\":[\"Horror\"]},\"mykeyword\":{\"boost\":[\"Romance\"],\"penalize\":[]}}"
}

Each key is a mood keyword mapping to { boost: string[], penalize: string[] } arrays of AniList genres and tags.

Privacy

See PRIVACY.md for details. In short: ani-mcp runs locally, sends requests only to the AniList API, stores nothing, and collects no analytics.

Docker

sh
docker build -t ani-mcp .
docker run -e ANILIST_USERNAME=your_username ani-mcp

Runs on port 3000 with HTTP Stream transport by default.

Build from Source

sh
git clone https://github.com/gavxm/ani-mcp.git
cd ani-mcp
npm install
npm run build
npm test

Support

Bug reports and feature requests: GitHub Issues

License

MIT

常见问题

io.github.GavMason/ani-mcp 是什么?

面向 AniList 的智能 MCP server,能理解你的 anime/manga 偏好,而不只是调用 API。

相关 Skills

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描123.0k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描123.0k

邮件模板

by alirezarezvani

Universal
热门

快速搭建生产可用的事务邮件系统:生成 React Email/MJML 模板,接入 Resend、Postmark、SendGrid 或 AWS SES,并支持本地预览、i18n、暗色模式、反垃圾优化与追踪埋点。

面向营销与服务场景,快速搭建高质量邮件模板,省去反复设计与切图成本,成熟度和社区认可都很高。

平台与服务
未扫描12.5k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
84.2k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
78.5k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
38.1k

评论