Skip to main content
ClaudeWave
cyanheads avatar
cyanheads

anime-mcp-server

View on GitHub

Search anime/manga, get full detail, franchise watch order, seasonal schedule, characters, rankings, and studio filmography via MCP. STDIO or Streamable HTTP.

MCP ServersOfficial Registry1 stars1 forksTypeScriptApache-2.0Updated today
ClaudeWave Trust Score
95/100
Verified
Passed
  • Open-source license (Apache-2.0)
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
  • Documented (README)
Last scanned: 8/22/2026
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/cyanheads/anime-mcp-server
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "anime": {
      "command": "node",
      "args": ["/path/to/anime-mcp-server/dist/index.js"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/cyanheads/anime-mcp-server and follow its README for install instructions.
Use cases

MCP Servers overview

<div align="center">
  <h1>@cyanheads/anime-mcp-server</h1>
  <p><b>Search anime/manga, get full detail, franchise watch order, seasonal schedule, characters, rankings, and studio filmography via MCP. STDIO or Streamable HTTP.</b>
  <div>8 Tools • 1 Resource</div>
  </p>
</div>

<div align="center">

[![Version](https://img.shields.io/badge/Version-0.1.5-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/anime-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/anime-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/anime-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/)

</div>

<div align="center">

[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/anime-mcp-server/releases/latest/download/anime-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=anime-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvYW5pbWUtbWNwLXNlcnZlciJdfQ==) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22anime-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fanime-mcp-server%22%5D%7D)

[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)

</div>

---

## Tools

Eight tools covering anime and manga discovery, detail, and navigation:

| Tool | Description |
|:---|:---|
| `anime_search_media` | Search anime or manga by title, genre, tag, season, year, format, or status. Returns ranked results with IDs, titles, scores, format, and episode/chapter counts. AniList primary; Jikan fallback on empty results. |
| `anime_get_media` | Full detail for one anime or manga by AniList ID — 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. |
| `anime_get_relations` | Franchise untangler. Walks the related-works graph from a media ID beyond one hop — sequels, prequels, side stories, movies, OVAs, source and adaptation — and returns them in suggested watch/read order. |
| `anime_get_schedule` | Airing schedule for a season or upcoming episode window. Season mode lists all anime airing in a given season/year. Upcoming mode returns the next episode for each airing title within a date window, with UTC timestamp and countdown. |
| `anime_find_characters` | Characters and voice actors for a title, or look up a character/VA by name. Returns characters with role (main/supporting/background), voice actors by language, and cross-links to other media. |
| `anime_get_recommendations` | Recommendations for a title, merged from AniList and Jikan (MAL), with scores and vote counts. Optionally accepts what the user liked about the source title to contextualize picks. |
| `anime_get_rankings` | 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. |
| `anime_get_studio` | A studio's full filmography by name or AniList studio ID — all titles the studio produced, sortable by year or score, with format, status, and episode count. |

### `anime_search_media`

Search for anime or manga across multiple dimensions.

- Free-text title search with AniList primary; falls back to Jikan when AniList returns empty
- Filter by genre, tag, season, year, format (`TV`, `MOVIE`, `OVA`, `MANGA`, `NOVEL`, etc.), and status (`RELEASING`, `FINISHED`, etc.)
- Adult content gated behind explicit `include_adult: true` (default off)
- Pagination via `page` and `per_page`

---

### `anime_get_media`

Full detail for a single anime or manga — the flagship tool for a title's complete profile.

- AniList full-detail query supplemented in parallel by Jikan (MAL score) and Kitsu (streaming links with sub/dub language flags)
- AniList and MAL scores surfaced side by side — never blended
- Spoiler-safe by default: tags carry a `spoiler` flag; relation descriptions omitted unless `reveal_spoilers: true`
- All timestamps UTC; season labels included to avoid boundary ambiguity

---

### `anime_get_relations`

Build the watch/read order for an entire franchise.

- Multi-hop BFS over AniList's relation graph, up to `max_depth` hops (default 2, max 4)
- Relation types: SOURCE, PREQUEL, SEQUEL, SIDE_STORY, SPIN_OFF, ADAPTATION, OVA, SPECIAL, MOVIE
- Topological sort: SOURCE → PREQUEL → main story chain → SEQUEL → SIDE_STORY → SPIN_OFF → supplementary entries
- Each entry includes `seasonYear` and episode/chapter count for context

---

### `anime_find_characters`

Bidirectional character and voice actor lookup.

- By media ID: characters for a title with voice actors by language
- By character name: find the character and all media they appear in
- By voice actor name: find the VA and all roles across media
- Language filter via AniList `StaffLanguage` enum (JAPANESE, ENGLISH, KOREAN, etc.)

---

## Resources and prompts

| Type | Name | Description |
|:---|:---|:---|
| Resource | `anime://media/{id}` | Full media record for an anime or manga by AniList ID — same data as `anime_get_media`. Stable URI for injectable context. |

All resource data is also reachable via tools. Use `anime_search_media` to discover AniList IDs before fetching the resource URI.

---

## Features

Built on [`@cyanheads/mcp-ts-core`](https://www.npmjs.com/package/@cyanheads/mcp-ts-core):

- Declarative tool and resource definitions — single file per primitive, framework handles registration and validation
- Unified error handling — handlers throw, framework catches, classifies, and formats
- Pluggable auth: `none`, `jwt`, `oauth`
- Swappable storage backends: `in-memory`, `filesystem`, `Supabase`, `Cloudflare KV/R2/D1`
- Structured logging with optional OpenTelemetry tracing
- STDIO and Streamable HTTP transports

Anime/manga-specific:

- Three-source architecture: AniList GraphQL (primary), Jikan v4 REST (MAL scores + recommendations), Kitsu JSON:API (streaming links with sub/dub language detail)
- ID reconciliation via AniList's `idMal` bridge — no cross-source ID guessing
- Franchise relation graph traversal with topological watch-order sort
- Rate-limit-aware service layer: AniList 30 req/30s with automatic backoff; Jikan 350ms floor between calls
- Keyless by design — all three sources are public and require no API credentials
- **Local-only by design:** free APIs are tightly rate-limited per IP; hosting would pool users onto one IP and risk throttling or bans. Each local user brings their own IP and modest usage.

Agent-friendly output:

- Dual scores surfaced separately — AniList `meanScore` (0–100) and MAL `score` (0–10) with population size (`scored_by`) so agents can reason about weight; never blended into a composite
- Spoiler safety by default — AniList tags carry `isGeneralSpoiler`; relation descriptions omitted unless opted in
- Supplement provenance — each response indicates which sources contributed (AniList, Jikan, Kitsu) and which failed gracefully, so agents know what data is present
- UTC timestamps throughout; season labels echoed (`WINTER 2024`) to avoid the winter/spring/summer/fall boundary footgun

---

## Getting started

No API keys required — all three upstream sources (AniList, Jikan, Kitsu) are keyless public APIs.

Add the following to your MCP client configuration file:

```json
{
  "mcpServers": {
    "anime-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@cyanheads/anime-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}
```

Or with npx (no Bun required):

```json
{
  "mcpServers": {
    "anime-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@cyanheads/anime-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}
```

Or with Docker:

```json
{
  "mcpServers": {
    "anime-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "MCP_TRANSPORT_TYPE=stdio",
        "ghcr.io/cyanheads/anime-mcp-server:latest"
      ]
    }
  }
}
```

For Streamable HTTP, set the transport and start the server:

```sh
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcp
```

### Prerequisites

- [Bun v1.3.0](https://bun.sh/) or higher (or Node.js v24+). No API keys needed.

### Installation

1. **Clone the repository:**

```sh
git clone https://github.com/cyanheads/anime-mcp-server.git
```

2. **Navigate into the directory:**

```sh
cd anime-mcp-server
```

3. **Install dependencies:**

```sh
bun install
```

4. **Configure environment (optional):**

```sh
cp .env.example .env
# edit .env if you want to change transport or log level
```

---

## Configuration

No server-specific env vars are required. All framework variables are optiona
ai-agentsai-toolsanilistanimecyanheadsjikankitsumangamcpmcp-servermodel-context-protocoltypescript

What people ask about anime-mcp-server

What is cyanheads/anime-mcp-server?

+

cyanheads/anime-mcp-server is mcp servers for the Claude AI ecosystem. Search anime/manga, get full detail, franchise watch order, seasonal schedule, characters, rankings, and studio filmography via MCP. STDIO or Streamable HTTP. It has 1 GitHub stars and its last recorded update is dated 2026-08-21.

How do I install anime-mcp-server?

+

You can install anime-mcp-server by cloning the repository (https://github.com/cyanheads/anime-mcp-server) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is cyanheads/anime-mcp-server safe to use?

+

Our security agent has analyzed cyanheads/anime-mcp-server and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains cyanheads/anime-mcp-server?

+

cyanheads/anime-mcp-server is maintained by cyanheads. The last recorded GitHub activity is dated 2026-08-21, with 9 open issues.

Are there alternatives to anime-mcp-server?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy anime-mcp-server to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: cyanheads/anime-mcp-server
[![Featured on ClaudeWave](https://claudewave.com/api/badge/cyanheads-anime-mcp-server)](https://claudewave.com/repo/cyanheads-anime-mcp-server)
<a href="https://claudewave.com/repo/cyanheads-anime-mcp-server"><img src="https://claudewave.com/api/badge/cyanheads-anime-mcp-server" alt="Featured on ClaudeWave: cyanheads/anime-mcp-server" width="320" height="64" /></a>

More MCP Servers

anime-mcp-server alternatives