Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

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.

+61 this week 66 Trust /100
Trust breakdown (6 categories)

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
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.

Install

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

# add to Claude Code
claude mcp add cyanheads-anime-mcp-server -- npx -y @cyanheads/anime-mcp-server
# add to Codex CLI
codex mcp add cyanheads-anime-mcp-server -- npx -y @cyanheads/anime-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-anime-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@cyanheads/anime-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cyanheads-anime-mcp-server --command npx --arg -y --arg @cyanheads/anime-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  cyanheads-anime-mcp-server:
    command: "npx"
    args: ["-y", "@cyanheads/anime-mcp-server"]
// mcp.json
{
  "mcpServers": {
    "cyanheads-anime-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/anime-mcp-server"
      ]
    }
  }
}
Changelog

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.

Diagnostics

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
MCP tools · 8 exposed · ~1,563 tokens

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.

Tool Tokens
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.

NameTypeReqDescription
character_namestringCharacter name to search for. Returns the character's appearances across media.
idintegerAniList media ID for title → cast lookup. Use anime_search_media to find this ID.
languagestringFilter voice actors by language. Common: JAPANESE, ENGLISH, KOREAN. Only applies when fetching by media ID.
pageinteger1-based page number for character/role results.
per_pageintegerResults per page. Maximum 25.
voice_actor_namestringVoice actor/staff name to search for. Returns their roles across anime.
NameTypeReqDescription
charactersarrayyesCharacters 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_pagebooleanyesWhether more results are available on the next page.
media_idyesAniList media ID used for the lookup, or null for name-based lookup.
modestringyesWhich lookup mode was used.
voice_actoryesVoice actor detail (populated in by_voice_actor mode only, null otherwise).

No examples provided.

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.

NameTypeReqDescription
idintegeryesAniList media ID. Obtain from anime_search_media results.
include_adultbooleanInclude adult/NSFW content. Default false.
NameTypeReqDescription
banner_image_urlyesBanner image URL, or null.
chaptersyesTotal chapter count (manga), or null.
cover_image_urlyesCover image URL (extra large), or null.
data_sourcesobjectyesProvenance: which sources contributed data to this response.
descriptionyesPlot synopsis (HTML stripped), or null.
episodesyesTotal episode count (anime), or null.
formatyesFormat: TV, MOVIE, OVA, ONA, MANGA, NOVEL, etc.
genresarrayyesGenre list.
idintegeryesAniList media ID.
id_malyesMyAnimeList ID used to cross-reference MAL data, or null.
is_adultbooleanyesWhether this entry is marked adult/NSFW.
next_airingyesNext airing episode info for currently airing anime, or null.
relationsarrayyesDirect relations. Use anime_get_relations for full franchise walk-order across multiple hops.
scoresobjectyesCommunity scores. AniList uses a 0–100 scale; MAL uses 0–10.0. Both are returned separately.
seasonyesBroadcast season label, e.g. "FALL 2023", or null.
site_urlyesAniList page URL.
sourceyesSource material type, e.g. "MANGA", "LIGHT_NOVEL", "ORIGINAL".
statusyesProduction status.
streaming_linksarrayyesStreaming platform links (anime only). Empty for manga or when no streaming data is available.
studiosarrayyesProduction studios.
tagsarrayyesContent tags. Spoiler-flagged tags include is_spoiler: true.
titleobjectyesTitle variants.
typestringyesMedia type.
volumesyesTotal volume count (manga), or null.

No examples provided.

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.

NameTypeReqDescription
formatstringPublication/broadcast format filter.
genrestringGenre filter, e.g. "Action", "Romance".
include_adultbooleanInclude adult/NSFW content. Default false.
media_typestringyesMedia type to rank.
modestringyes"top": highest-scoring of all time. "trending": most active this week. "seasonal": most popular in the current or specified season/year.
pageinteger1-based page number.
per_pageintegerResults per page. Maximum 50.
seasonstringSeason for "seasonal" mode. Defaults to current season.
season_yearintegerYear for "seasonal" mode. Defaults to current year.
NameTypeReqDescription
entriesarrayyesRanked entries.
has_next_pagebooleanyesWhether more pages are available.
media_typestringyesMedia type ranked.
modestringyesRanking mode used.
noticestringRecovery guidance when entries is empty — echoes the applied mode/filters and suggests how to broaden.
pageintegeryesCurrent page number.
season_labelyesSeason label for seasonal mode, e.g. "FALL 2024", or null.
total_resultsyesTotal matching results, or null.

No examples provided.

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.

NameTypeReqDescription
idintegeryesAniList media ID of the title to get recommendations for.
liked_aspectsstringWhat you liked about this title — e.g. "the slow-burn romance" or "mecha action". Returned as-is in the response.
pageinteger1-based page number for AniList recommendations.
per_pageintegerRecommendations per page from AniList. Maximum 25.
NameTypeReqDescription
has_next_pagebooleanyesWhether more AniList recommendations are available.
liked_aspectsyesLiked aspects provided by the caller, or null.
recommendationsarrayyesMerged recommendations, sorted by AniList rating descending. Items appear once even if both sources recommend them; sources array lists all contributors.
source_idintegeryesAniList ID of the source title.
source_id_malyesMAL ID of the source title, or null.
source_typeyesSource media type: ANIME or MANGA.

No examples provided.

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.

NameTypeReqDescription
idintegeryesAniList media ID of any entry in the franchise.
max_depthintegerMaximum hops to traverse from the root entry. Default 2. Maximum 4. Deeper traversal makes more AniList requests — use 3–4 only for large franchises.
NameTypeReqDescription
depth_reachedintegeryesActual traversal depth reached.
entriesarrayyesAll franchise entries in suggested watch/read order. Main entries first, then supplementary. Within each group, ordered by relation type priority then season year.
root_idintegeryesThe AniList ID used as the traversal root.
total_entriesintegeryesTotal unique entries found across the franchise.

No examples provided.

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.

NameTypeReqDescription
days_aheadintegerDays ahead to look for upcoming episodes. Used only in "upcoming" mode. Default 7.
include_adultbooleanInclude adult/NSFW titles. Default false.
modestringyes"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.
pageinteger1-based page number.
per_pageintegerResults per page. Maximum 50.
seasonstringAnime broadcast season. WINTER=Jan–Mar, SPRING=Apr–Jun, SUMMER=Jul–Sep, FALL=Oct–Dec.
season_yearinteger4-digit year. Required with mode "season".
NameTypeReqDescription
entriesarrayyesAnime entries in the schedule.
has_next_pagebooleanyesWhether more pages are available.
modestringyesMode used for this response.
noticestringRecovery guidance when entries is empty — echoes the applied mode/season and suggests how to broaden.
pageintegeryesCurrent page number.
season_labelyesHuman-readable season label, e.g. "FALL 2024", or null for upcoming mode.
total_resultsyesTotal entries in this season, or null for upcoming mode.

No examples provided.

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.

NameTypeReqDescription
idintegerAniList studio ID for direct lookup. More precise than name search.
namestringStudio name to search for, e.g. "MAPPA", "Kyoto Animation", "ufotable".
pageinteger1-based page number.
per_pageintegerResults per page. Maximum 50.
sortstringSort 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).
NameTypeReqDescription
filmographyarrayyesStudio filmography entries.
has_next_pagebooleanyesWhether more pages are available.
is_animation_studiobooleanyesTrue when this is classified as an animation studio.
pageintegeryesCurrent page number.
studio_idintegeryesAniList studio ID.
studio_namestringyesStudio name.
studio_site_urlyesAniList studio page URL, or null.
total_titlesyesTotal titles in filmography, or null.

No examples provided.

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.

NameTypeReqDescription
formatstringPublication/broadcast format filter.
genrestringGenre filter, e.g. "Action", "Romance", "Slice of Life".
include_adultbooleanInclude adult/NSFW content. Default false.
media_typestringyesMedia type to search: anime or manga.
pageinteger1-based page number for paginated results.
per_pageintegerResults per page. Maximum 50.
querystringTitle search query. Supports partial matches.
seasonstringAnime broadcast season. WINTER=Jan–Mar, SPRING=Apr–Jun, SUMMER=Jul–Sep, FALL=Oct–Dec.
season_yearinteger4-digit year for the broadcast season, e.g. 2024. Required when season is set.
sortarraySort order list. Common values: SEARCH_MATCH (default), SCORE_DESC, POPULARITY_DESC, TRENDING_DESC, START_DATE_DESC.
statusstringProduction status filter.
tagstringTag filter, e.g. "Isekai", "Mecha", "School Life".
NameTypeReqDescription
has_next_pagebooleanyesWhether more pages are available.
noticestringRecovery guidance when results is empty — echoes applied filters and suggests how to broaden the search.
pageintegeryesCurrent page number.
resultsarrayyesMatching media entries.
sourcestringyesWhich API provided these results: "anilist" (primary) or "jikan" (fallback).
total_resultsyesTotal matching results, or null when unknown.

No examples provided.