io.github.cyanheads/anime-mcp-server
NPM · @CYANHEADS/ANIME-MCP-SERVER · SCANNED AUG 7
Search anime/manga, franchise watch order, schedule, characters, rankings, studio filmography.
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 →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 40 of 127 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 55 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1705 tokens (~213/item across 8 items; 8 tools + 0 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 Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @cyanheads/anime-mcp-server
claude mcp add cyanheads-anime-mcp-server -- npx -y @cyanheads/anime-mcp-server
codex mcp add cyanheads-anime-mcp-server -- npx -y @cyanheads/anime-mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cyanheads-anime-mcp-server": {
"type": "local",
"command": [
"npx",
"-y",
"@cyanheads/anime-mcp-server"
],
"enabled": true
}
}
} openclaw mcp add cyanheads-anime-mcp-server --command npx --arg -y --arg @cyanheads/anime-mcp-server
mcp_servers:
cyanheads-anime-mcp-server:
command: "npx"
args: ["-y", "@cyanheads/anime-mcp-server"] {
"mcpServers": {
"cyanheads-anime-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/anime-mcp-server"
]
}
}
} 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.
- 7 Aug 26 +3
- Known CVEs: partial → pass ▲ security
- Dependency health: partial → 0.85 functional
- 6 Aug 26 +28
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- MCP protocol: unverified → pass ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 100 functional
- 5 Aug 26 +1
- CVE-2026-69207 no longer affects this package ▲ security
- Known CVEs: fail → partial ▲ security
- 4 Aug 26 −1
- CVE-2026-69207 affects this package: medium ▼ security
- Known CVEs: partial → fail ▼ security
- 2 Aug 26 +15
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Maintenance: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- License: unverified → pass ▲ functional
- Licence: Apache-2.0 functional
- 1 Aug 26 +15
- Malware scan: unverified → pass ▲ security
- 31 Jul 26 −19
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 24
First indexed and scored.
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 7 Aug 2026 · Analysed npm/@cyanheads/[email protected]
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Dependencies 127 packages
| Packages resolved | 127 |
|---|---|
| Stale | 40 |
| Tree resolution | Complete |
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.
anime_find_characters Anime Find Characters ~206
Characters and voice actors for a title, or look up a character/VA by name. Provide "id" for title → cast lookup, or "character_name" / "voice_actor_name" for name-based lookup. Returns characters with their role, voice actors by language, and cross-links to other media.
| Name | Type | Req | Description |
|---|---|---|---|
| character_name | string | – | Character name to search for. Returns the character's appearances across media. |
| id | integer | – | AniList media ID for title → cast lookup. Use anime_search_media to find this ID. |
| language | string | – | Filter voice actors by language. Common: JAPANESE, ENGLISH, KOREAN. Only applies when fetching by media ID. |
| page | integer | – | 1-based page number for character/role results. |
| per_page | integer | – | Results per page. Maximum 25. |
| voice_actor_name | string | – | Voice actor/staff name to search for. Returns their roles across anime. |
| Name | Type | Req | Description |
|---|---|---|---|
| characters | array | yes | Characters found. In by_media mode, characters for the title. In by_character mode, one character with their media appearances as context. Empty in by_voice_actor mode. |
| has_next_page | boolean | yes | Whether more results are available on the next page. |
| media_id | – | yes | AniList media ID used for the lookup, or null for name-based lookup. |
| mode | string | yes | Which lookup mode was used. |
| voice_actor | – | yes | Voice actor detail (populated in by_voice_actor mode only, null otherwise). |
No examples provided.
anime_get_media Anime Get Media ~117
Full detail for one anime or manga by AniList ID. Returns synopsis, format, episode/chapter count, status, season, studios, source material, genres and tags (spoiler-flagged), AniList and MAL scores side by side, streaming links, cover/banner, and direct relations. Use anime_search_media first to find the AniList ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | AniList media ID. Obtain from anime_search_media results. |
| include_adult | boolean | – | Include adult/NSFW content. Default false. |
| Name | Type | Req | Description |
|---|---|---|---|
| banner_image_url | – | yes | Banner image URL, or null. |
| chapters | – | yes | Total chapter count (manga), or null. |
| cover_image_url | – | yes | Cover image URL (extra large), or null. |
| data_sources | object | yes | Provenance: which sources contributed data to this response. |
| description | – | yes | Plot synopsis (HTML stripped), or null. |
| episodes | – | yes | Total episode count (anime), or null. |
| format | – | yes | Format: TV, MOVIE, OVA, ONA, MANGA, NOVEL, etc. |
| genres | array | yes | Genre list. |
| id | integer | yes | AniList media ID. |
| id_mal | – | yes | MyAnimeList ID used to cross-reference MAL data, or null. |
| is_adult | boolean | yes | Whether this entry is marked adult/NSFW. |
| next_airing | – | yes | Next airing episode info for currently airing anime, or null. |
| relations | array | yes | Direct relations. Use anime_get_relations for full franchise walk-order across multiple hops. |
| scores | object | yes | Community scores. AniList uses a 0–100 scale; MAL uses 0–10.0. Both are returned separately. |
| season | – | yes | Broadcast season label, e.g. "FALL 2023", or null. |
| site_url | – | yes | AniList page URL. |
| source | – | yes | Source material type, e.g. "MANGA", "LIGHT_NOVEL", "ORIGINAL". |
| status | – | yes | Production status. |
| streaming_links | array | yes | Streaming platform links (anime only). Empty for manga or when no streaming data is available. |
| studios | array | yes | Production studios. |
| tags | array | yes | Content tags. Spoiler-flagged tags include is_spoiler: true. |
| title | object | yes | Title variants. |
| type | string | yes | Media type. |
| volumes | – | yes | Total volume count (manga), or null. |
No examples provided.
anime_get_rankings Anime Get Rankings ~225
Top, trending, or seasonal rankings. Filterable by genre, tag, and format. "top" returns all-time by score; "trending" returns current week; "seasonal" returns the current or specified season sorted by popularity.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Publication/broadcast format filter. |
| genre | string | – | Genre filter, e.g. "Action", "Romance". |
| include_adult | boolean | – | Include adult/NSFW content. Default false. |
| media_type | string | yes | Media type to rank. |
| mode | string | yes | "top": highest-scoring of all time. "trending": most active this week. "seasonal": most popular in the current or specified season/year. |
| page | integer | – | 1-based page number. |
| per_page | integer | – | Results per page. Maximum 50. |
| season | string | – | Season for "seasonal" mode. Defaults to current season. |
| season_year | integer | – | Year for "seasonal" mode. Defaults to current year. |
| Name | Type | Req | Description |
|---|---|---|---|
| entries | array | yes | Ranked entries. |
| has_next_page | boolean | yes | Whether more pages are available. |
| media_type | string | yes | Media type ranked. |
| mode | string | yes | Ranking mode used. |
| notice | string | – | Recovery guidance when entries is empty — echoes the applied mode/filters and suggests how to broaden. |
| page | integer | yes | Current page number. |
| season_label | – | yes | Season label for seasonal mode, e.g. "FALL 2024", or null. |
| total_results | – | yes | Total matching results, or null. |
No examples provided.
anime_get_recommendations Anime Get Recommendations ~154
Recommendations for a title, merged from AniList and Jikan (MAL), with scores and vote counts. AniList recommendations use community rating scores; Jikan adds MAL user recommendations with vote counts. Both sources are surfaced separately — not blended into a composite score.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | AniList media ID of the title to get recommendations for. |
| liked_aspects | string | – | What you liked about this title — e.g. "the slow-burn romance" or "mecha action". Returned as-is in the response. |
| page | integer | – | 1-based page number for AniList recommendations. |
| per_page | integer | – | Recommendations per page from AniList. Maximum 25. |
| Name | Type | Req | Description |
|---|---|---|---|
| has_next_page | boolean | yes | Whether more AniList recommendations are available. |
| liked_aspects | – | yes | Liked aspects provided by the caller, or null. |
| recommendations | array | yes | Merged recommendations, sorted by AniList rating descending. Items appear once even if both sources recommend them; sources array lists all contributors. |
| source_id | integer | yes | AniList ID of the source title. |
| source_id_mal | – | yes | MAL ID of the source title, or null. |
| source_type | – | yes | Source media type: ANIME or MANGA. |
No examples provided.
anime_get_relations Anime Get Relations ~143
Franchise untangler. Walks the related-works graph from a media ID across multiple hops — sequels, prequels, side stories, movies, OVAs, source/adaptation — and returns them ordered into a suggested watch/read order. This is the "how do I watch this whole series" tool. Use anime_get_media first to confirm the ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | AniList media ID of any entry in the franchise. |
| max_depth | integer | – | Maximum hops to traverse from the root entry. Default 2. Maximum 4. Deeper traversal makes more AniList requests — use 3–4 only for large franchises. |
| Name | Type | Req | Description |
|---|---|---|---|
| depth_reached | integer | yes | Actual traversal depth reached. |
| entries | array | yes | All franchise entries in suggested watch/read order. Main entries first, then supplementary. Within each group, ordered by relation type priority then season year. |
| root_id | integer | yes | The AniList ID used as the traversal root. |
| total_entries | integer | yes | Total unique entries found across the franchise. |
No examples provided.
anime_get_schedule Anime Get Schedule ~225
Airing schedule for a season or upcoming episode window. "season" mode returns all anime airing in a given season/year. "upcoming" mode returns next episode for airing titles within a date window, with UTC timestamps.
| Name | Type | Req | Description |
|---|---|---|---|
| days_ahead | integer | – | Days ahead to look for upcoming episodes. Used only in "upcoming" mode. Default 7. |
| include_adult | boolean | – | Include adult/NSFW titles. Default false. |
| mode | string | yes | "season": all anime from a specific season/year. Requires season and season_year. "upcoming": next airing episode for each currently-airing title within days_ahead window. |
| page | integer | – | 1-based page number. |
| per_page | integer | – | Results per page. Maximum 50. |
| season | string | – | Anime broadcast season. WINTER=Jan–Mar, SPRING=Apr–Jun, SUMMER=Jul–Sep, FALL=Oct–Dec. |
| season_year | integer | – | 4-digit year. Required with mode "season". |
| Name | Type | Req | Description |
|---|---|---|---|
| entries | array | yes | Anime entries in the schedule. |
| has_next_page | boolean | yes | Whether more pages are available. |
| mode | string | yes | Mode used for this response. |
| notice | string | – | Recovery guidance when entries is empty — echoes the applied mode/season and suggests how to broaden. |
| page | integer | yes | Current page number. |
| season_label | – | yes | Human-readable season label, e.g. "FALL 2024", or null for upcoming mode. |
| total_results | – | yes | Total entries in this season, or null for upcoming mode. |
No examples provided.
anime_get_studio Anime Get Studio ~193
A studio's full filmography by name or AniList studio ID. Returns all titles the studio produced, sortable by year or score, with format, status, and episode count. Provide "name" for a name-based search, or "id" for direct lookup by AniList studio ID.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | – | AniList studio ID for direct lookup. More precise than name search. |
| name | string | – | Studio name to search for, e.g. "MAPPA", "Kyoto Animation", "ufotable". |
| page | integer | – | 1-based page number. |
| per_page | integer | – | Results per page. Maximum 50. |
| sort | string | – | Sort order for the filmography. POPULARITY_DESC: most popular first (default). SCORE_DESC: highest-scored first. START_DATE_DESC: newest first. START_DATE: oldest first (release chronology). |
| Name | Type | Req | Description |
|---|---|---|---|
| filmography | array | yes | Studio filmography entries. |
| has_next_page | boolean | yes | Whether more pages are available. |
| is_animation_studio | boolean | yes | True when this is classified as an animation studio. |
| page | integer | yes | Current page number. |
| studio_id | integer | yes | AniList studio ID. |
| studio_name | string | yes | Studio name. |
| studio_site_url | – | yes | AniList studio page URL, or null. |
| total_titles | – | yes | Total titles in filmography, or null. |
No examples provided.
anime_search_media Anime Search Media ~300
Search anime or manga by title, genre, tag, season, year, format, or status. Returns ranked results with AniList IDs, titles, scores, format, and episode/chapter counts.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Publication/broadcast format filter. |
| genre | string | – | Genre filter, e.g. "Action", "Romance", "Slice of Life". |
| include_adult | boolean | – | Include adult/NSFW content. Default false. |
| media_type | string | yes | Media type to search: anime or manga. |
| page | integer | – | 1-based page number for paginated results. |
| per_page | integer | – | Results per page. Maximum 50. |
| query | string | – | Title search query. Supports partial matches. |
| season | string | – | Anime broadcast season. WINTER=Jan–Mar, SPRING=Apr–Jun, SUMMER=Jul–Sep, FALL=Oct–Dec. |
| season_year | integer | – | 4-digit year for the broadcast season, e.g. 2024. Required when season is set. |
| sort | array | – | Sort order list. Common values: SEARCH_MATCH (default), SCORE_DESC, POPULARITY_DESC, TRENDING_DESC, START_DATE_DESC. |
| status | string | – | Production status filter. |
| tag | string | – | Tag filter, e.g. "Isekai", "Mecha", "School Life". |
| Name | Type | Req | Description |
|---|---|---|---|
| has_next_page | boolean | yes | Whether more pages are available. |
| notice | string | – | Recovery guidance when results is empty — echoes applied filters and suggests how to broaden the search. |
| page | integer | yes | Current page number. |
| results | array | yes | Matching media entries. |
| source | string | yes | Which API provided these results: "anilist" (primary) or "jikan" (fallback). |
| total_results | – | yes | Total matching results, or null when unknown. |
No examples provided.