Ani MCP
NPM · ANI-MCP · SCANNED SEP 20
A smart MCP server for AniList that gets your anime/manga taste - not just API calls.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security81
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects sharp 0.34.5, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 71 of 225 dependencies flagged as unhealthy (2 deprecated). View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to gavxm/ani-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 94 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability85
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 6465 tokens (~113/item across 57 items; 55 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
- Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
Tool Safety88
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 1 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "anilist_drops" implies "drop" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 57 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Ani MCP server?
Ani MCP runs locally as an npm package, launched with npx -y ani-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · ani-mcp
claude mcp add gavxm-ani-mcp -- npx -y ani-mcp
{
"mcpServers": {
"gavxm-ani-mcp": {
"command": "npx",
"args": [
"-y",
"ani-mcp"
]
}
}
} {
"servers": {
"gavxm-ani-mcp": {
"command": "npx",
"args": [
"-y",
"ani-mcp"
]
}
}
} codex mcp add gavxm-ani-mcp -- npx -y ani-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"gavxm-ani-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"ani-mcp"
],
"enabled": true
}
}
} openclaw mcp add gavxm-ani-mcp --command npx --arg -y --arg ani-mcp
mcp_servers:
gavxm-ani-mcp:
command: "npx"
args: ["-y", "ani-mcp"] {
"McpServers": {
"gavxm-ani-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"ani-mcp"
]
}
}
} assistant mcp add gavxm-ani-mcp -t stdio -c npx -a -y ani-mcp
{
"mcpServers": {
"gavxm-ani-mcp": {
"command": "npx",
"args": [
"-y",
"ani-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 −3
- Stability: pass → 0.80 functional
- 19 Sept 26 0
- Stability: 0.97 → pass security
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 12 Sept 26 −3
- Security disclosure: fail → unverified ▼ functional
- Stability: pass → 0.77 functional
- 11 Sept 26 0
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/ani-mcp@0.15.7
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | gavxm/ani-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/gavxm/ani-mcp/.github/workflows/publish.yml@refs/tags/v0.15.7 |
| Rekor log index | 1854946913 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:060c1a5bdf673792cdd817c80c3ffa97a1fb8e16ef9669d1bf09d3b7a8c3c1c570d93cab677e4c48066f6c2f6be70d6eb6cff45418b639ed277eba558 |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 2 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-f88m-g3jw-g9cj | high | yes | ||
| GHSA-rgj7-g3m4-5g8c | high | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 225 packages
| Packages resolved | 225 |
|---|---|
| Deprecated | 2 |
| Stale | 70 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
anilist_activity ~54
Post a text activity to your AniList feed. Use when the user wants to share a status update, thought, or message. Requires ANILIST_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | Text content of the activity post |
No output schema declared.
No examples provided.
anilist_add_to_list ~118
Add an anime or manga to your list with a status. Use when the user wants to start watching, plan to watch, or mark a title as completed. Requires ANILIST_TOKEN. Returns status, optional score, and entry ID.
| Name | Type | Req | Description |
|---|---|---|---|
| mediaId | integer | yes | AniList media ID to add to the list |
| score | number | – | Score on a 0-10 scale (e.g. 8.5). Omit to leave unscored. |
| status | string | yes | List status to set |
No output schema declared.
No examples provided.
anilist_airing ~93
Show upcoming episodes for all anime you're currently watching. Use when the user asks what's airing soon, what episodes are coming up, or wants a watchlist calendar. Returns titles sorted by next airing time with episode number and countdown.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max titles to show (default 20, max 50) |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_batch_update ~151
Apply a bulk action to multiple list entries matching a filter. Use when the user wants to move all low-scored titles to Dropped, add all planning titles to current, or bulk-change statuses. Defaults to dry-run mode (preview only). Requires ANILIST_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| action | object | yes | – |
| dryRun | boolean | – | Preview changes without applying them. Set to false to execute. |
| filter | object | yes | – |
| limit | integer | – | Max entries to update in one call (default 50, max 100) |
| type | string | – | Update anime or manga entries |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_calibration ~98
Score calibration analysis showing how a user rates compared to community consensus. Use when the user asks if they score too high or low, which genres they're harshest or most generous on, or how their taste compares to mainstream. Returns overall bias, per-genre deviation, and scoring tendency.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | – | Analyze anime or manga scores |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_characters ~113
Search for anime/manga characters by name. Use when the user asks about a specific character, wants to know which series a character appears in, or who voices them. Returns character appearances with roles and voice actors.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of results to return (default 5, max 10) |
| page | integer | – | Page number for pagination (default 1) |
| query | string | yes | Character name to search for, e.g. "Goku", "Levi Ackerman" |
No output schema declared.
No examples provided.
anilist_compare ~85
Compare taste profiles between two AniList users. Use when someone asks to compare their taste with another user. Returns compatibility %, shared favorites, biggest disagreements, genre divergences, and cross-recommendations.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | – | Compare anime or manga taste |
| user1 | string | yes | First AniList username |
| user2 | string | yes | Second AniList username |
No output schema declared.
No examples provided.
anilist_compat_card ~87
Generate a shareable compatibility card image comparing two AniList users. Returns a PNG image showing compatibility %, genre comparison, shared favorites, and key differences. Use when someone wants a visual comparison of taste.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | – | Compare anime or manga taste |
| user1 | string | yes | First AniList username |
| user2 | string | yes | Second AniList username |
No output schema declared.
No examples provided.
anilist_completionist ~109
Franchise completion tracker showing progress through series with sequels. Use when the user asks what franchises they've started but not finished, their completion rate, or what's left to watch in a series. Returns franchise groups with completed/total counts.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of franchise groups to show (default 10, max 20) |
| type | string | – | Check anime or manga franchise completion |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_delete_from_list ~73
Remove an entry from your anime or manga list. Pass either a list entry ID or a media ID. Requires ANILIST_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| entryId | integer | – | List entry ID to delete (from anilist_list) |
| mediaId | integer | – | AniList media ID to remove from your list |
No output schema declared.
No examples provided.
anilist_details ~171
Get full details about a specific anime or manga. Use when the user asks about a specific title and wants synopsis, score, episodes, studios, related works, and recommendations. Accepts AniList ID (faster, exact) or title (fuzzy match with abbreviation support). Returns format, status, episodes/chapters, season, score, studios, source, genres, tags, synopsis, related works, and community recommendations.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | – | AniList media ID (e.g. 1 for Cowboy Bebop). Use this if you know the exact ID. |
| title | string | – | Search by title if no ID is known (e.g. "Attack on Titan"). Finds the best match. |
| type | string | – | Media type to look up. Defaults to ANIME. |
No output schema declared.
No examples provided.
anilist_drops ~90
Drop pattern analysis from a user's dropped list. Use when the user asks why they drop shows, what patterns their drops follow, or which genres they abandon most. Returns drop rate by genre/tag, median episode at drop, and early drop percentage.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | – | Analyze anime or manga drops |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_evolution ~90
Genre evolution analysis showing how taste has shifted over time. Use when the user asks how their taste has changed, what they used to watch vs now, or wants a timeline of their preferences. Returns era-by-era genre rankings and shift descriptions.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | – | Track anime or manga taste evolution |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_explain ~164
Score a specific title against a user's taste profile and explain the alignment. Use when the user asks "why would I like this?", "is this for me?", or wants to know how well a specific anime/manga matches their preferences. Returns match score, genre/theme affinity breakdown, mood fit, and existing list status.
| Name | Type | Req | Description |
|---|---|---|---|
| mediaId | integer | – | AniList media ID to evaluate against your taste profile |
| mood | string | – | Optional mood context, e.g. "dark and brainy" |
| title | string | – | Search by title if no ID is known |
| type | string | – | Build taste profile from anime list, manga list, or both |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_export ~97
Export a user's anime or manga list as CSV or JSON for backup or migration. Use when the user wants to download, back up, or transfer their list data.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Export format |
| status | string | – | Filter by status (omit for all statuses) |
| type | string | – | Export anime or manga list |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_favourite ~72
Toggle favourite on an anime, manga, character, staff member, or studio. Calling again on the same entity removes it from favourites. Requires ANILIST_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | AniList ID of the entity to toggle favourite on |
| type | string | yes | Type of entity to favourite |
No output schema declared.
No examples provided.
anilist_feed ~114
Get recent activity from a user's AniList feed. Shows text posts and list updates (anime/manga status changes). Returns numbered entries with author, date, and content. Supports pagination and type filtering.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of activities to return (default 10, max 25) |
| page | integer | – | Page number for pagination (default 1) |
| type | string | – | Filter by activity type |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_follow_suggestions ~98
Find AniList users with similar taste from your following list. Ranks people you follow by taste compatibility to highlight your best matches. Requires ANILIST_TOKEN for following list access.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of suggestions to return (default 10, max 20) |
| type | string | – | Compare anime or manga taste |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_genre_list ~103
List all valid AniList genres and content tags. Use before genre-filtering tools to ensure valid genre names. Returns genres and content tags grouped by category with descriptions.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter tags to a specific category (e.g. Theme, Setting, Cast) |
| filter | string | – | Show only genres, only tags, or both (default all) |
| includeAdultTags | boolean | – | Include adult/NSFW tags in the list |
No output schema declared.
No examples provided.
anilist_genres ~202
Browse top anime or manga in a specific genre. Use when the user asks for the best titles in a genre, e.g. "best romance anime" or "top thriller manga from 2023". Supports year, status, and format filters. Returns ranked list with title, score, and genres.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Filter by format |
| genre | string | yes | Genre to browse, e.g. "Action", "Romance", "Horror" |
| isAdult | boolean | – | Include adult (18+) content in results |
| limit | integer | – | Number of results to return (default 10, max 25) |
| page | integer | – | Page number for pagination (default 1) |
| sort | string | – | How to rank results |
| status | string | – | Filter by airing/publishing status |
| type | string | – | Browse anime or manga |
| year | integer | – | Filter by release year |
No output schema declared.
No examples provided.
anilist_group_pick ~122
Find anime or manga for a group to watch together. Finds titles on multiple users' planning lists (or highly rated by all). Use when friends want to pick something everyone will enjoy.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of recommendations to return (default 10, max 15) |
| source | string | – | PLANNING = overlap in plan-to-watch lists. COMPLETED = titles everyone loved. |
| type | string | – | Recommend anime or manga |
| users | array | yes | AniList usernames (2-10) to find group recommendations for |
No output schema declared.
No examples provided.
anilist_kitsu_import ~96
Import a Kitsu user's completed anime list and generate personalized recommendations based on their taste. No auth needed. Use when the user mentions their Kitsu account or wants recs from Kitsu history. Returns a taste profile summary and recommended titles from AniList.
| Name | Type | Req | Description |
|---|---|---|---|
| kitsuUsername | string | yes | Kitsu username to import |
| limit | integer | – | Number of recommendations to return (default 5, max 15) |
No output schema declared.
No examples provided.
anilist_list ~196
Get a user's anime or manga list, filtered by watching status. Use when the user asks about their list, what they're watching, what they've completed, or what's on their plan-to-watch. Supports custom lists via status CUSTOM. Returns entries with title, score, progress, status, updated date, and entry ID.
| Name | Type | Req | Description |
|---|---|---|---|
| customListName | string | – | Filter to a specific custom list by name. Only used when status is CUSTOM. |
| limit | integer | – | Maximum entries to return (default 25, max 100) |
| page | integer | – | Page number for pagination (default 1) |
| sort | string | – | How to sort results |
| status | string | – | Filter by list status. CURRENT = watching/reading now. CUSTOM = user-created lists. |
| type | string | – | Get anime or manga list |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_lookup ~119
Check if a specific title is on a user's list and show its status. Use when the user asks "is this on my list?", "have I seen this?", or wants to check their progress or score for a single title. Returns status, score, progress, and dates without fetching the full list.
| Name | Type | Req | Description |
|---|---|---|---|
| mediaId | integer | – | AniList media ID to look up |
| title | string | – | Search by title if no ID is known |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_mal_import ~96
Import a MyAnimeList user's completed anime list and generate personalized recommendations based on their taste. No MAL auth needed. Use when the user mentions their MAL account or wants recs from MAL history. Returns a taste profile summary and recommended titles from AniList.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of recommendations to return (default 5, max 15) |
| malUsername | string | yes | MyAnimeList username to import |
No output schema declared.
No examples provided.
anilist_pace ~106
Pace estimate for currently watching or reading titles. Use when the user asks how long it'll take to finish something, their watch rate, or wants a progress summary. Returns estimated completion date based on historical pace.
| Name | Type | Req | Description |
|---|---|---|---|
| mediaId | integer | – | AniList media ID to estimate pace for. Omit for all current titles. |
| type | string | – | Estimate pace for anime or manga |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_pick ~323
"What should I watch/read next?" Recommends from your Planning list based on your taste profile. Also works for backlog analysis - "which of my 200 Planning titles should I actually start?" Falls back to top-rated AniList titles if the Planning list is empty. Optionally filter by mood or max episodes. Returns ranked picks with match score, genre alignment, and mood fit.
| Name | Type | Req | Description |
|---|---|---|---|
| exclude | array | – | Media IDs to exclude from results (e.g. from previous recommendations) |
| limit | integer | – | Number of recommendations to return (default 5, max 15) |
| maxEpisodes | integer | – | Filter out series longer than this episode count |
| mood | string | – | Freeform mood or vibe, e.g. "something dark", "chill and wholesome", "hype action" |
| profileType | string | – | Build taste profile from this media type. Defaults to same as type. Set to get cross-media recs, e.g. anime picks based on manga taste. |
| season | string | – | Season for SEASONAL source. Defaults to the current season. |
| source | string | – | Where to find candidates. PLANNING = user's plan-to-watch list (default). SEASONAL = currently airing anime. DISCOVER = top-rated titles matching taste. |
| type | string | – | Recommend from anime or manga planning list |
| username | string | – | AniList username. Falls back to configured default if not provided. |
| year | integer | – | Year for SEASONAL source. Defaults to the current year. |
No output schema declared.
No examples provided.
anilist_profile ~60
View a user's AniList profile including bio, stats, and favourites. Returns bio, anime/manga stats summary, top favourites by category, and account age.
| Name | Type | Req | Description |
|---|---|---|---|
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_rate ~108
Score an anime or manga on your list. Use when the user wants to give a rating (0-10). Scores display in the user's preferred format (3/5/10/100-point). Use 0 to remove. Requires ANILIST_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| mediaId | integer | yes | AniList media ID to rate |
| score | number | yes | Score on a 0-10 scale (decimals like 7.5 are supported). Use 0 to remove a score. |
No output schema declared.
No examples provided.
anilist_react ~103
Like or reply to an AniList activity. Use when the user wants to interact with an activity from their feed. Requires ANILIST_TOKEN. LIKE toggles the like state.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | LIKE = toggle like on the activity. REPLY = post a reply. |
| activityId | integer | yes | ID of the activity to react to (from anilist_feed) |
| text | string | – | Reply text (required when action is REPLY) |
No output schema declared.
No examples provided.
anilist_recommendations ~121
Get community recommendations for a specific anime or manga. Use when the user asks for shows similar to a specific title, or says "I liked X, what else should I watch?" Returns titles ranked by recommendation count with format, score, and genres.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | – | AniList media ID |
| limit | integer | – | Number of recommendations to return (default 10, max 25) |
| title | string | – | Search by title if no ID is known |
| type | string | – | Media type. Defaults to ANIME. |
No output schema declared.
No examples provided.
anilist_reviews ~140
Get community reviews for an anime or manga. Use when the user wants to see what others think about a title. Returns sentiment summary (positive/mixed/negative), individual review scores, summaries, and helpful ratios.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | – | AniList media ID |
| limit | integer | – | Number of reviews to return (default 5, max 10) |
| page | integer | – | Page number for pagination (default 1) |
| sort | string | – | Sort by most helpful or newest |
| title | string | – | Search by title if no ID is known |
| type | string | – | Media type. Defaults to ANIME. |
No output schema declared.
No examples provided.
anilist_schedule ~81
Get the airing schedule for an anime. Use when the user asks when the next episode airs, or wants to see upcoming episode dates for a currently airing show. Returns next episode date/countdown and upcoming episode schedule.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | – | AniList media ID for the anime |
| title | string | – | Search by title if no ID is known |
No output schema declared.
No examples provided.
anilist_search ~228
Search for anime or manga by title with optional filters. Use when the user wants to find an anime/manga by name, discover titles in a genre, or find what aired in a specific year. Supports common abbreviations (aot, jjk, csm). Returns ranked list with title, format, year, score, genres, episode count, studios, and AniList URL.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Filter by format (TV, MOVIE, etc.) |
| genre | string | – | Filter by genre, e.g. "Action", "Romance", "Thriller" |
| isAdult | boolean | – | Include adult (18+) content in results |
| limit | integer | – | Number of results to return (default 10, max 25) |
| page | integer | – | Page number for pagination (default 1) |
| query | string | yes | Search term, e.g. "steins gate", "one piece", "chainsaw man" |
| type | string | – | Search for anime or manga |
| year | integer | – | Filter by release year |
No output schema declared.
No examples provided.
anilist_seasonal ~159
Browse anime airing in a given season. Use when the user asks what's airing this season, what aired in a past season, or wants to discover seasonal anime. Defaults to current season/year. Returns ranked list with title, format, score, genres, and episode count.
| Name | Type | Req | Description |
|---|---|---|---|
| isAdult | boolean | – | Include adult (18+) content in results |
| limit | integer | – | Number of results to return (default 15, max 50) |
| page | integer | – | Page number for pagination (default 1) |
| season | string | – | Season to browse. Defaults to the current season. |
| sort | string | – | How to rank results |
| year | integer | – | Year to browse. Defaults to the current year. |
No output schema declared.
No examples provided.
anilist_seasonal_recap_card ~107
Generate a shareable seasonal recap card image for an AniList user. Returns a PNG image showing pick/finish/drop counts, hit rate, status breakdown, and top-scored titles from a season.
| Name | Type | Req | Description |
|---|---|---|---|
| season | string | – | Season to recap (defaults to current or most recent season) |
| username | string | – | AniList username. Falls back to configured default if not provided. |
| year | integer | – | Year of the season (defaults to current year) |
No output schema declared.
No examples provided.
anilist_seasonal_stats ~131
Seasonal pick-up and completion rates. Use when the user asks about their seasonal watching habits, how many shows they finish vs drop each season, or their hit rate. Returns per-season breakdown of picked, finished, dropped, and ongoing counts.
| Name | Type | Req | Description |
|---|---|---|---|
| history | integer | – | Number of past seasons to show (default 4, max 8) |
| season | string | – | Season to analyze. Defaults to last completed season. |
| username | string | – | AniList username. Falls back to configured default if not provided. |
| year | integer | – | Year to analyze. Defaults to current year. |
No output schema declared.
No examples provided.
anilist_sequels ~114
Find sequels airing this season for titles you've completed. Use when the user asks what sequels are coming, or wants to know if any currently airing anime continue shows they've already watched. Returns matches with the completed prequel and the airing sequel.
| Name | Type | Req | Description |
|---|---|---|---|
| season | string | – | Season to check for sequels. Defaults to the current season. |
| username | string | – | AniList username. Falls back to configured default if not provided. |
| year | integer | – | Year to check. Defaults to the current year. |
No output schema declared.
No examples provided.
anilist_session ~123
Plan a watching or reading session within a time budget. Picks from your currently-watching list, scored by taste match and mood. Returns a session plan with titles, episodes to watch, and estimated time.
| Name | Type | Req | Description |
|---|---|---|---|
| minutes | integer | yes | Time budget in minutes (10-720) |
| mood | string | – | Optional mood to prioritize titles, e.g. "dark", "chill" |
| type | string | – | Plan session from anime or manga currently-watching list |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_shared_planning ~98
Find titles on both users' planning lists. Use when two users want to see what they're both planning to watch or read. Shows overlap and unique titles.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max entries to show (default 25, max 50) |
| type | string | – | Compare anime or manga planning lists |
| user1 | string | yes | First AniList username |
| user2 | string | yes | Second AniList username |
No output schema declared.
No examples provided.
anilist_similar ~124
Find titles similar to a specific anime or manga. Use when the user asks for shows like a specific title, or wants content-based recommendations without needing a user profile. Returns ranked results with similarity %, shared genres, and community rec strength.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of similar titles to return (default 10, max 25) |
| mediaId | integer | – | AniList media ID to find similar titles for |
| title | string | – | Search by title if no ID is known |
| type | string | – | Media type. Defaults to ANIME. |
No output schema declared.
No examples provided.
anilist_staff ~114
Get staff and voice actor credits for an anime or manga. Use when the user asks who directed, wrote, or voiced characters in a title. Returns production staff with roles and characters with voice actors. Defaults to Japanese VAs but supports other languages.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | – | AniList media ID |
| language | string | – | Voice actor language (default JAPANESE) |
| title | string | – | Search by title if no ID is known |
| type | string | – | Media type. Defaults to ANIME. |
No output schema declared.
No examples provided.
anilist_staff_search ~135
Search for anime/manga staff by name and see their works. Use when the user asks about a director, voice actor, animator, or writer. Returns staff occupations, works with roles, and scores.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of staff results to return (default 3, max 10) |
| mediaLimit | integer | – | Works per person to show (default 10, max 25) |
| page | integer | – | Page number for pagination (default 1) |
| query | string | yes | Staff name to search for, e.g. "Miyazaki", "Kana Hanazawa" |
No output schema declared.
No examples provided.
anilist_stats ~86
Get a user's watching/reading statistics. Use when the user asks about their overall stats, how much anime they've watched, their average score, top genres, or score distribution. Returns title count, mean score, episodes/chapters, top genres, score distribution chart, and format breakdown.
| Name | Type | Req | Description |
|---|---|---|---|
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_studio_search ~98
Search for an animation studio by name and see their productions. Use when the user asks about a studio like MAPPA, Kyoto Animation, or Bones. Returns main and supporting productions with format, score, and status.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of works to show (default 10, max 25) |
| query | string | yes | Studio name to search for, e.g. "MAPPA", "Kyoto Animation" |
No output schema declared.
No examples provided.
anilist_taste ~97
Generate a taste profile summary from a user's completed list. Use when the user asks about their anime/manga preferences, what genres they like, or how they tend to score. Returns genre weights, top themes, scoring patterns with distribution chart, and format split.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | – | Analyze anime list, manga list, or both |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_taste_card ~87
Generate a shareable taste profile card image for an AniList user. Returns a PNG image showing top genres, themes, score distribution, and format breakdown. Use when someone wants a visual summary of their anime taste.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | – | Build card from anime or manga list |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
anilist_trending ~117
Show what's trending on AniList right now. Use when the user asks what's hot, trending, or generating buzz. No search term needed. Returns ranked list with title, format, score, genres, and episode count.
| Name | Type | Req | Description |
|---|---|---|---|
| isAdult | boolean | – | Include adult (18+) content in results |
| limit | integer | – | Number of results to return (default 10, max 25) |
| page | integer | – | Page number for pagination (default 1) |
| type | string | – | Show trending anime or manga |
No output schema declared.
No examples provided.
anilist_undo ~48
Undo the last write operation (update progress, add to list, rate, delete, or batch update). Restores the previous state of the affected list entry. Requires ANILIST_TOKEN.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
anilist_unscored ~112
List completed anime or manga that haven't been scored yet. Use when the user wants to catch up on scoring, find unrated titles, or do a batch scoring session. Returns titles sorted by most recently completed.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of unscored titles to return (default 20, max 50) |
| type | string | – | Check anime or manga list for unscored titles |
| username | string | – | AniList username. Falls back to configured default if not provided. |
No output schema declared.
No examples provided.
What is the Ani MCP server?
Ani MCP is listed in the public MCP registry as io.github.gavxm/ani-mcp. A smart MCP server for AniList that gets your anime/manga taste - not just API calls. This page covers its npm package (ani-mcp).
Is the Ani MCP server safe to use?
Ani MCP scores 87 out of 100 on VerifyMCP. We recorded 2 known advisories against it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Ani MCP server expose?
Ani MCP exposes 55 tools: anilist_search, anilist_details, anilist_seasonal, anilist_recommendations, anilist_list, and 50 more. Their descriptions and schemas cost roughly 6,347 tokens of context every time the server is loaded.
Is the Ani MCP server still maintained?
Ani MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Ani MCP server under?
Ani MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.