Skip to main content
Glama
Grinv

AniList MCP Server

Post a forum thread

post_thread

Create or update AniList forum threads. Post a new thread with title, body, and categories, or modify an existing thread by passing its ID.

Instructions

[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. Note: this tool's own response doesn't include categories/mediaCategories/isSticky/isLocked — call get_thread with the returned id afterward to confirm whether a category/sticky/locked change actually applied, especially since sticky/locked can silently no-op and categories/mediaCategories can silently drop existing values (see those fields' own descriptions below).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoThread ID to update instead of creating a new one.
bodyNoThread body (markdown; per AniList's own schema, up to 30000 characters) — REQUIRED when creating a new thread, optional when updating one via `id` (confirmed live: omitting it on an update leaves the existing body unchanged).
titleNoThread title (per AniList's own schema: 6-120 characters) — REQUIRED when creating a new thread, optional when updating one via `id` (confirmed live: omitting it on an update leaves the existing title unchanged, it isn't cleared).
lockedNoLock this thread to prevent further replies (only takes effect if you have moderator permission — confirmed live that a non-mod account's own thread silently stays unlocked).
stickyNoPin this thread (only takes effect if you have moderator permission — confirmed live that a non-mod account's own thread silently stays unpinned).
categoriesNoForum category IDs to post this thread under — REQUIRED when creating a new thread (AniList rejects the mutation otherwise), optional when updating one via `id`. When updating and you DO set this, it's a full replace, not a merge — confirmed live: an existing thread with categories [A] updated with just [B] ended up with [B] only, A silently dropped. Fetch the thread's current categories first (get_thread) and include every one you want to keep. Not independently listable by any tool; resolve one from a thread you've already read (get_thread's/search_thread's `categories` field) or from a forum URL like anilist.co/forum/recent?category=<id>.
mediaCategoriesNoAniList anime/manga IDs to tag this thread with, for threads about a specific title (from search_media/get_media). Optional on both create and update. When updating and you DO set this, it's a full replace, not a merge — confirmed live: an existing thread tagged with [A] updated with just [B] ended up with [B] only, A silently dropped (same behavior as `categories` above). Fetch the thread's current `mediaCategories` first (get_thread) if you need to keep an existing tag alongside a new one.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
threadYes
Behavior5/5

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

The description discloses important behavioral traits beyond annotations: requires login, response omits certain fields, sticky/locked silently no-op without moderator permission, and categories/mediaCategories are full-replace not merge on update. This is rich, non-obvious context that annotations do not provide.

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

Conciseness5/5

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

The description is thorough but every sentence earns its place, covering purpose, usage guidance, and critical caveats. It is front-loaded with the main action and structured into a coherent flow, with no wasted words.

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, the description is exceptionally complete: it covers authentication, create vs. update modes, pre-check guidance, response limitations, and silent failure modes. The presence of an output schema does not reduce the need for these descriptive clarifications, and the description delivers them.

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?

Although schema coverage is 100%, the description adds critical semantics: body/title are required on create but optional on update, categories required on create, full-replace behavior on update, and mod-only effect for sticky/locked. This goes far beyond the schema's baseline descriptions.

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 clearly states the tool's function: posting a new forum thread to the authenticated user's own account or updating an existing one by passing its id. It distinguishes itself from sibling tools like post_thread_comment, search_thread, and get_thread by focusing specifically on creating/updating threads.

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

Usage Guidelines5/5

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

Explicitly advises using search_thread first to check for duplicates before posting, and instructs calling get_thread with the returned id to confirm category/sticky/locked changes. This gives clear when-to-use and alternatives, exceeding baseline guidance.

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