AN

AniList MCP Server for Anime, Manga Data

Enable LLMs to access and query AniList anime, manga, character, staff, and user data via an MCP server.

Quick Install
npx -y @yuna0x0/anilist-mcp

Overview

AniList MCP Server exposes AniList data (anime, manga, characters, staff, studios, and user lists) to LLM clients via the Model Context Protocol (MCP). It translates MCP tool calls into AniList GraphQL/API requests so language models and assistant toolchains can search, fetch details, and perform authenticated operations (when a token is supplied) without embedding the AniList API logic into each model integration.

The project supports both STDIO and HTTP transports, which makes it convenient to run locally for personal assistant integrations (e.g., Claude Desktop) or deploy as an HTTP MCP endpoint in the cloud. Use cases include building LLM agents that can look up anime metadata, manage user lists, fetch recommendations, or surface character/staff details during conversations.

Features

  • Search and detail lookup for anime, manga, characters, staff, and studios
  • Read and write operations for user lists and activities (requires AniList token)
  • Retrieve site-wide data: genres, media tags, and short statistics
  • Tools for recommendations and related-media lookups
  • Dual transport: STDIO for local MCP clients and HTTP for server deployments
  • Cloud-friendly: can be deployed to Node.js platforms or MCP marketplaces (e.g., Smithery)

Installation / Configuration

Requirements:

  • Node.js 18+

Install globally via npx or run from a checked-out repo. Example STDIO integration for an MCP client (add to your mcp.json or client config):

{
  "mcpServers": {
    "anilist": {
      "command": "npx",
      "args": ["-y", "anilist-mcp"],
      "env": {
        "ANILIST_TOKEN": "your_api_token"
      }
    }
  }
}

Start the HTTP transport locally (from project root or after installing):

# with pnpm
pnpm run start:http

# or set a PORT
PORT=8082 pnpm run start:http

Environment variables and HTTP headers:

ANILIST_TOKEN      # optional; server-wide token (STDIO or pre-configured HTTP)
Anilist-Token      # optional; per-request token sent as HTTP header (takes precedence)

Configuration precedence:

SourceApplies toNotes
HTTP header Anilist-TokenHTTP transportOverrides env var for that request
Environment ANILIST_TOKENSTDIO or HTTP server defaultUsed when no header provided

Security note: If you deploy an HTTP server with a pre-configured token, protect the endpoint (auth, IP restrictions, etc.). An exposed endpoint can allow others to use your AniList credentials.

Getting an AniList token (brief):

  1. Create a developer client at https://anilist.co/settings/developer.
  2. Use the provided client ID and direct user to:
    https://anilist.co/api/v2/oauth/authorize?client_id={clientID}&response_type=token
  3. The flow produces a token which you can set as ANILIST_TOKEN or send via the Anilist-Token HTTP header.

Available Tools / Resources

Misc

  • get_genres — list all AniList genres
  • get_media_tags — list media tags
  • get_site_statistics — recent site stats
  • get_studio, favourite_studio — studio lookup and favourite (auth)

Activity

  • get_activity, get_user_activity, search_activity
  • post_message_activity, post_text_activity, delete_activity (auth required)

List management

  • get_user_anime_list, get_user_manga_list
  • add_list_entry, update_list_entry, remove_list_entry (auth required)

Media

  • get_anime, get_manga — detailed media information
  • favourite_anime, favourite_manga (auth)

People

  • get_character, get_staff — details by AniList ID
  • favourite_character, favourite_staff (auth)
  • get_todays_birthday_characters, get_todays_birthday_staff

Recommendations

  • get_recommendation, get_recommendations_for_media

Search

  • search_anime, search_manga, search_character, search_staff, search_studio, search_user

Thread

  • get_thread — retrieve a specific forum thread

Each tool accepts structured parameters (query terms, AniList IDs, filter objects) and returns JSON-formatted results suitable for LLM tool use.

Use Cases

  • LLM-assisted recommendations: An assistant uses search_anime and get_recommendations_for_media to suggest similar shows with synopses and related tags.
  • Personal list manager: A local LLM client calls get_user_anime_list and add_list_entry/update_list_entry to help a user maintain their AniList watch/read lists (requires authentication).
  • Character lookup in chat: During roleplay or character Q&A, the model fetches character details and birthdays using get_character or get_todays_birthday_characters.
  • Cloud MCP for multi-user bots: Deploy the HTTP transport behind your authentication layer; per-request Anilist-Token headers let users (or proxy auth) execute authenticated actions without exposing a single shared token.

Repository and source

  • Code and issues: https://github.com/yuna0x0/anilist-mcp

This server is intended for developers integrating AniList data into LLM workflows and MCP-based toolchains. Check the repository for advanced configuration, source examples, and deployment notes.