# anilist-mcp

AniList MCP server for accessing AniList API data

- **Type:** MCP server
- **Trust:** 85/100 (A), scored on the package rubric
- **Verification:** verified (build provenance)
- **Version:** 1.4.0
- **Author:** yuna0x0
- **License:** MIT
- **npm:** anilist-mcp
- **Source:** https://github.com/yuna0x0/anilist-mcp
- **Compatible clients:** claude-code, cursor, copilot, gemini (basis: transport)

## Trust

85/100 (A), scored on the package rubric
- Publisher verified: no
- Build provenance: verified attestation
- npm trusted publishing (OIDC): yes
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 3 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-08-30T06:37:16.251Z
- **Version scanned:** 1.4.0
- **CVEs:** none found by OSV at scan time

## Tools

40 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `delete_activity` — [Requires Login] Delete the current authorized user's activity post
- `get_activity` — Get a specific AniList activity by its ID
- `get_user_activity` — Fetch activities from a user
- `post_message_activity` — [Requires Login] Post a new message activity or update an existing one
- `post_text_activity` — [Requires Login] Post a new text activity or update an existing one
- `add_list_entry` — [Requires Login] Add an entry to the authorized user's list
- `get_user_anime_list` — Get a user's anime list
- `get_user_manga_list` — Get a user's manga list
- `remove_list_entry` — [Requires Login] Remove an entry from the authorized user's list
- `update_list_entry` — [Requires Login] Update an entry on the authorized user's list
- `get_anime` — Get detailed information about anime by AniList ID(s)
- `favourite_anime` — [Requires Login] Favourite or unfavourite an anime by its ID
- `favourite_manga` — [Requires Login] Favourite or unfavourite a manga by its ID
- `get_manga` — Get detailed information about manga by AniList ID(s)
- `favourite_studio` — [Requires Login] Favourite or unfavourite a studio by its ID
- `get_genres` — Get all available genres on AniList
- `get_media_tags` — Get all available media tags on AniList
- `get_site_statistics` — Get AniList site statistics over the last seven days
- `get_studio` — Get information about a studio by its AniList ID or name
- `get_character` — Get information about a character by their AniList ID or name
- `favourite_character` — [Requires Login] Favourite or unfavourite a character by its ID
- `favourite_staff` — [Requires Login] Favourite or unfavourite a staff member by their ID
- `get_todays_birthday_characters` — Get all characters whose birthday is today
- `get_todays_birthday_staff` — Get all staff members whose birthday is today
- `get_staff` — Get information about staff member by their AniList ID or name
- `get_recommendation` — Get an AniList recommendation by its ID
- `get_recommendations_for_media` — Get AniList recommendations for a specific media
- `search_activity` — Search for activities on AniList
- `search_anime` — Search for anime with query term and filters
- `search_character` — Search for characters based on a query term
- `search_manga` — Search for manga with query term and filters
- `search_staff` — Search for staff members based on a query term
- `search_studio` — Search for studios based on a query term
- `search_user` — Search for users on AniList
- `delete_thread` — [Requires Login] Delete a thread by its ID
- `get_thread` — Get a specific thread by its AniList ID
- `get_thread_comments` — Get comments for a specific thread
- `get_full_user_info` — Get a user's complete profile and stats information
- `follow_user` — [Requires Login] Follow or unfollow a user by their ID
- `get_authorized_user` — [Requires Login] Get profile information of the currently authorized user

## Install

**Verdict: install** — No blocking findings and no open coverage gaps — safe to install as configured.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"anilist\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"anilist-mcp\"\n      ],\n      \"env\": {\n        \"ANILIST_TOKEN\": \"<YOUR_ANILIST_TOKEN>\"\n      }\n    }\n  }\n}"
```
**Credentials it will ask for** (names only — Forge never holds a value):
- `ANILIST_TOKEN` — Anilist Token (optional)
Placeholders only. Forge never holds, brokers, or transmits a credential value — replace each <YOUR_NAME> in your own config file. Do not send a value back to Forge; no Forge endpoint accepts one.
- This entry needs 1 credential (0 required). The generated config carries placeholders, so it will fail in the editor rather than at runtime if they are left unset.

## Blast radius

Extensive blast radius — deletes data; holds an api key.
- Floor 54, ceiling 54 (tier: extensive)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/anilist-mcp
- Install plan: https://forgeregistry.com/api/v1/packages/anilist-mcp/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/anilist-mcp
- HTML page: https://forgeregistry.com/registry/anilist-mcp
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
