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.
npx -y @yuna0x0/anilist-mcpOverview
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):
Start the HTTP transport locally (from project root or after installing):
# with pnpm
# or set a PORT
PORT=8082
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:
| Source | Applies to | Notes |
|---|---|---|
HTTP header Anilist-Token | HTTP transport | Overrides env var for that request |
Environment ANILIST_TOKEN | STDIO or HTTP server default | Used 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):
- Create a developer client at https://anilist.co/settings/developer.
- Use the provided client ID and direct user to:
https://anilist.co/api/v2/oauth/authorize?client_id={clientID}&response_type=token - The flow produces a token which you can set as ANILIST_TOKEN or send via the
Anilist-TokenHTTP 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-Tokenheaders 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.