Skip to main content
Glama
Grinv

AniList MCP Server

Update an entry on your AniList list

update_list_entry
Idempotent

Update fields of an existing AniList list entry using its entry ID. Modify status, score, progress, dates, notes, and more.

Instructions

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesNoNew free-text notes.
scoreNoNew score out of 10 (decimals allowed), always on this scale regardless of the account's configured scoreFormat (set via update_user) — no conversion needed.
repeatNoNew rewatch/reread count.
statusNoNew list status.
privateNoHide/unhide this entry from your public list.
priorityNoNew list priority.
progressNoNew episodes watched / chapters read.
startedAtNoNew start date.
completedAtNoNew completion date.
customListsNoNew set of custom lists for this entry. The list must already exist on the account (update_user's `animeListOptions`/`mangaListOptions` `customLists`) — naming one that doesn't exist yet is silently a no-op, not an error.
listEntryIdYesThe list ENTRY id to update (not the media id).
advancedScoresNoNew per-category scores, keyed the same way as add_list_entry. Unlike this tool's other fields, this one is NOT a true partial update: any configured category you omit is set to 0, not left at its previous value — pass every category if you're only changing one.
progressVolumesNoNew volumes read (manga only).
hiddenFromStatusListsNoHide/unhide this entry from the public status-grouped list views — distinct from `private`, which hides the entry entirely.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
entryYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds valuable context beyond these: authentication need, partial update semantics, the nuance that customLists silently no-ops for nonexistent lists, and the score scale independence. However, since annotations cover the basic behavioral profile, the description's added context earns a high score but not the maximum.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with only two sentences, front-loading the authentication requirement and ID clarification. The second sentence is slightly long but still clear. Every sentence adds value, but the structure could be slightly improved for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 parameters, nested objects, partial update nuances), the description addresses key aspects: authentication, ID source, partial update guideline, and the notable exception for advancedScores. The presence of an output schema (not shown) reduces the need to explain return values. The description is sufficient for an AI agent to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, baseline is 3. The description significantly enriches parameters by clarifying that listEntryId is not the media ID, that score is always on a 0-10 scale regardless of account settings, that customLists silently fails if the list doesn't exist, and that advancedScores is not a true partial update. These details are critical for correct usage and go well beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Update'), identifies the resource ('existing entry on the authenticated user's own AniList list'), and distinguishes from siblings by emphasizing the use of list-entry ID rather than media ID. This clearly sets it apart from tools like add_list_entry and remove_list_entry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the authentication requirement upfront and advises where to obtain the list-entry ID ('get it from get_user_list, or from add_list_entry's response'). The phrase 'Only set the fields you want to change' implies partial updates, but it does not explicitly mention when to use this tool versus alternatives like add_list_entry or remove_list_entry.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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