Skip to main content
Glama
Grinv

AniList MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ANILIST_CLIENT_IDNoOptional. From an app registered at anilist.co/settings/developer — needed to use login_anilist.
ANILIST_OAUTH_PORTNoOptional. Localhost port for the login_anilist callback (default 8082).
ANILIST_TOKEN_STORENoOptional. Overrides where the AniList access token is persisted (defaults under the OS config dir).
ANILIST_ACCESS_TOKENNoOptional. A pre-obtained AniList access token, as an alternative to running login_anilist.
ANILIST_CLIENT_SECRETNoOptional. Paired with the Client ID above — needed to use login_anilist.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_genres

List every genre name AniList uses to tag anime/manga (e.g. Action, Comedy, Slice of Life). Call this before filtering search_media by genre, so you pass a name AniList actually recognizes.

get_media_tags

List every descriptive tag AniList uses on anime/manga (finer-grained than genres, e.g. 'Time Skip', 'Tragedy', 'Reincarnation'), with category and adult-content flag. There are ~425 tags total, so results are paginated — use page/perPage rather than expecting them all in one response. Use this to look up a tag's exact name before passing it to search_media's tag_in — tag names are case-sensitive, and an unrecognized name doesn't error, it just silently matches nothing (confirmed live).

get_site_statisticsA

Get AniList's own site-wide statistics (new users/anime/manga counts) for the last several days. Useful for questions about AniList's growth/activity, not for anime data.

get_studioA

Get a studio's profile (name, whether it's an animation studio) and its most popular produced titles, by AniList studio ID or by name. Use search_studio first if you only have a partial name and need to resolve it to an ID. If both id and name are given, id takes precedence and name is ignored.

get_activityA

Get a single AniList activity post (list update, text post, or message) by its ID, including replyCount, likeCount, and isLiked.

get_user_activity

List recent AniList activity posts from a specific user (list updates, text posts). Accepts an exact AniList username directly (it's resolved to an id with one extra internal lookup) — no need to call search_user first unless you only have a partial/fuzzy name.

post_text_activity

[Requires login] Post a new text-status update to the authenticated user's own AniList profile, or update an existing one by passing its id.

post_message_activityA

[Requires login] Post a new direct message-style activity to another AniList user's profile, or update an existing one by passing its id.

delete_activity

[Requires login] Delete an activity post the authenticated user owns. This cannot be undone.

get_user_listA

Get a user's AniList anime or manga list, grouped by status/custom list, with each entry's status, score, progress and dates. Works for any public/unlisted user. Accepts an exact AniList username directly — no need to call search_user first unless you only have a partial/fuzzy name. Paginated by chunk/perChunk (AniList's own mechanism for this — counted across entries of ALL statuses combined, not per status), since a large list can otherwise return thousands of entries in one response; check hasNextChunk and increment chunk to keep paging.

add_list_entryA

[Requires login] Add an anime/manga to the authenticated user's own AniList list. Use search_media first to resolve the title to its AniList media ID. Only set the fields you care about — everything else is left at AniList's defaults.

update_list_entryA

[Requires login] Update an existing entry on the authenticated user's own AniList list by its list-entry ID (NOT the media ID — get it from get_user_list, or from add_list_entry's response). Only set the fields you want to change.

remove_list_entryA

[Requires login] Delete an entry from the authenticated user's own AniList list by its list-entry ID (NOT the media id) — get it from get_user_list. This cannot be undone.

get_mediaA

Get detailed information about one or more anime or manga by their AniList ID(s): title, format, status, episode/chapter/volume count, genres, score, synopsis, dates, and rankings — AniList's own ranking badges (e.g. "#134 highest rated all time", "#11 highest rated 2024"), one entry per rated/popular ranking window the title currently appears in. Also returns nextAiringEpisode (for currently-releasing anime), externalLinks (official sites, streaming platforms), and — [requires login] — mediaListEntry, the authenticated user's own list entry for this title, or null if it isn't on their list. Use search_media first to resolve a title to its AniList ID. Returns a single object if ids is a single ID, or an array (same order as ids) if ids is an array.

get_media_statistics

Get an anime/manga's watch/read-status counts (watching/completed/planning/etc.) and score distribution histogram across all AniList users. Use search_media first to resolve a title to its AniList ID.

get_media_characters

List an anime/manga's characters with their role (Main/Supporting/Background) and, for anime, Japanese voice actors. Use search_media first to resolve a title to its AniList ID.

get_media_staffA

List an anime/manga's staff (director, writer, character designer, author, illustrator, etc.) with their role. Use search_media first to resolve a title to its AniList ID.

get_media_reviews

List user-written reviews for an anime or manga, highest-rated first. Always includes summary (a short excerpt); set includeBody to also fetch each review's full text (can be long — leave it off unless you actually need the full text). Use search_media first to resolve a title to its AniList ID.

get_media_relationsA

Get the anime/manga related to a given title (prequels, sequels, side stories, adaptations, spin-offs) with the relation type. Use search_media first to resolve a title to its AniList ID.

get_anime_scheduleA

Get upcoming (or a specific title's) episode air times. Omit mediaId for the site-wide upcoming schedule, or pass it (from search_media/get_media) to get one title's next-episode air time. Anime only — manga has no airing schedule.

favouriteA

[Requires login] Toggle an anime, manga, character, staff member, or studio in the authenticated user's AniList favourites. Calling it again on the same kind+id un-favourites it. Resolve id first via search_media/get_media (kind: ANIME/MANGA), search_character/get_character, search_staff/get_staff, or search_studio/get_studio, matching kind.

get_character

Get a character's profile by AniList character ID: name, image, description, and the anime/manga they appear in (media, up to 25 by popularity, with their characterRole — MAIN/SUPPORTING/BACKGROUND — in each). Use search_character first to resolve a name to its ID.

get_staff

Get a staff member's profile by AniList staff ID: name, image, occupations, description, and the anime/manga they worked on (staffMedia, up to 25 by popularity, with their staffRole — e.g. Director, Character Design — in each). Use search_staff first to resolve a name to its ID.

get_todays_birthdaysA

List all AniList characters or staff members whose birthday (month/day) is today. Returns character-shaped objects for kind: CHARACTER, or staff-shaped objects (same fields plus primaryOccupations) for kind: STAFF.

get_recommendationA

Get a single AniList recommendation pairing (media + the media users recommend alongside it) by its AniList recommendation ID. Use get_recommendations_for_media first to discover recommendation IDs for a title.

get_recommendations_for_media

List anime/manga AniList users recommend as similar to a given title, ranked by rating. Use search_media first to resolve the title to its AniList ID. Each recommendation's mediaListEntry (requires login) shows whether it's already on your own list — set excludeInList: true to filter those out server-side instead of checking each one yourself.

search_media

Search AniList for anime or manga by title and/or filters (genre, format, status, season/year), or browse term-less by ranking (top-rated, most popular, trending — see the sort parameter) when you don't have a title to search for. Adult (NSFW) results are included unless you set sfw: true — see the sfw parameter. Returns AniList IDs to use with get_media and other ID-based tools.

search_characterA

Search AniList for characters by name. Returns AniList IDs to use with get_character.

search_staff

Search AniList for staff members by name. Returns AniList IDs to use with get_staff.

search_studio

Search AniList for animation/production studios by name. Returns AniList IDs to use with get_studio.

search_user

Search AniList for users by username. Returns AniList user IDs to use with profile/list tools.

search_threadA

Search/browse AniList's forum threads by title/body text and/or restrict to one category. Returns AniList thread IDs (with title/category for context) to use with get_thread, get_thread_comments, post_thread, or post_thread_comment.

search_activityA

Search/browse AniList's activity feed (list updates, text posts, messages), optionally filtered to one user and/or one activity type. Returns AniList activity IDs to use with get_activity.

get_thread

Get an AniList forum thread's title, body and metadata (including replyCount, viewCount, likeCount, isLiked) by its ID.

get_thread_comments

List top-level comments posted on an AniList forum thread, by the thread's ID. Replies (posted via post_thread_comment's parentCommentId) are nested under their parent's childComments rather than appearing as separate entries in this list.

post_thread

[Requires login] Post a new forum thread to the authenticated user's own AniList account, or update an existing one by passing its id. Use search_thread first if you want to check whether a similar thread already exists before posting a new one.

post_thread_comment

[Requires login] Post a new comment on an AniList forum thread from the authenticated user's account, or update an existing one by passing its id.

delete_thread

[Requires login] Delete a forum thread the authenticated user owns, by its ID. This cannot be undone.

delete_thread_commentA

[Requires login] Delete a comment the authenticated user owns, by its ID (from get_thread_comments or the id returned by post_thread_comment). This cannot be undone.

get_user_profileA

Get an AniList user's public profile: name, about text, avatar, donator status. Accepts an exact AniList username directly — no need to call search_user first unless you only have a partial/fuzzy name and need to look up the exact one.

get_user_statsA

Get an AniList user's anime/manga statistics: counts, mean score, time watched, episodes/chapters/volumes consumed. Accepts an exact AniList username directly — no need to call search_user first unless you only have a partial/fuzzy name.

get_full_user_infoA

Get an AniList user's profile AND statistics in a single call — use this instead of calling get_user_profile and get_user_stats separately. Accepts an exact AniList username directly — no need to call search_user first unless you only have a partial/fuzzy name.

get_user_recent_activity

Get an AniList user's 5 most recent activity posts (a fixed count, not configurable; use get_user_activity for a paginated full feed instead). Accepts an exact AniList username directly — no need to call search_user first unless you only have a partial/fuzzy name (username resolution costs one extra internal lookup either way).

get_authorized_user

[Requires login] Get the profile of the AniList account currently authorized via login_anilist/ANILIST_ACCESS_TOKEN — use this to confirm which account is connected.

follow_userA

[Requires login] Toggle following another AniList user from the authenticated user's account. Calling it again on the same user unfollows them.

update_userA

[Requires login] Update settings on the authenticated user's own AniList account (about text, preferred title language, adult-content visibility, score format, notification/messaging preferences, anime/manga list options). Only set the fields you want to change — most fields are a true partial update (see notificationOptions/disabledListActivity below for the two confirmed exceptions). Note: this mutation isn't atomic — confirmed live that rejecting one invalid field (e.g. an incomplete disabledListActivity) can still leave OTHER fields from that same call applied. If a call errors, re-check with get_authorized_user rather than assuming nothing changed.

get_notificationsA

[Requires login] Get the authenticated user's AniList notifications: new episodes airing, activity likes/replies/mentions, new followers, thread replies/likes, and media/staff/character data-submission updates. Every item has id, type and a human-readable context/contexts string; the rest of the fields depend on type (e.g. an AIRING item includes media/episode, a FOLLOWING item includes user, an ACTIVITY_MESSAGE item includes message.message — the actual DM text is nested one level inside message).

login_anilistA

Authorize the personal-list and social tools with your AniList account (one-time). Prerequisite: register an app at anilist.co/settings/developer with Redirect URL set to this server's localhost callback, and set ANILIST_CLIENT_ID + ANILIST_CLIENT_SECRET in the server env. Calling this returns an authorization URL: open it, log in, and click Approve. If your browser is on the same machine as the server, login completes automatically; if it's remote (SSH/headless), copy the URL you land on and pass it to submit_anilist_redirect.

submit_anilist_redirect

Complete a login started with login_anilist by submitting the URL your browser was redirected to after clicking Approve (the one containing ?code=...). Use this when login didn't complete automatically — e.g. the server runs on a remote/headless host. A bare code string is also accepted.

Prompts

Interactive templates invoked by user choice

NameDescription
recommend_similarPlan a recommendation search for anime or manga similar to a given title, using AniList's own recommendation data rather than the model's own knowledge.
seasonal_overviewSummarize the notable anime airing in a given season (or the current one).
hidden_gemsSurface highly-rated anime or manga that aren't widely known — high average score, low popularity.
catch_up_activitySummarize a user's recent AniList activity feed alongside their current in-progress anime AND manga lists.
check_notifications[Requires login] Summarize the authenticated user's recent AniList notifications (airing episodes, activity likes/replies/mentions, new followers, thread activity).

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Grinv/anilist-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server