# AniList (npm · anilist-mcp)

AniList MCP server for accessing AniList API data

- Trust score: 78/100 (medium)
- Change this week: +54
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- mcpb · `anilist-mcp-1.4.0.mcpb`: 5/100, [markdown](https://verifymcp.io/servers/yuna0x0-anilist-mcp/https-github-com-yuna0x0-anilist-mcp-releases-download-v1-4-0-anilist-mcp-1-4-0.md), [page](https://verifymcp.io/servers/yuna0x0-anilist-mcp/https-github-com-yuna0x0-anilist-mcp-releases-download-v1-4-0-anilist-mcp-1-4-0)
- npm · `anilist-mcp`: 78/100 (this document), [markdown](https://verifymcp.io/servers/yuna0x0-anilist-mcp/anilist-mcp.md), [page](https://verifymcp.io/servers/yuna0x0-anilist-mcp/anilist-mcp)
- oci · `ghcr.io/yuna0x0/anilist-mcp:1.4.0`: 9/100, [markdown](https://verifymcp.io/servers/yuna0x0-anilist-mcp/ghcr-io-yuna0x0-anilist-mcp-1-4-0.md), [page](https://verifymcp.io/servers/yuna0x0-anilist-mcp/ghcr-io-yuna0x0-anilist-mcp-1-4-0)

## Channel facts

- Registry: `npm`
- Package: `anilist-mcp`
- Version: `1.4.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 88/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (102 of 103), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (102 of 103), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 96/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to yuna0x0/anilist-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 247 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 70/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 2223 tokens (~50/item across 44 items; 44 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add yuna0x0-anilist-mcp -- npx -y anilist-mcp
```

### Codex

```bash
codex mcp add yuna0x0-anilist-mcp -- npx -y anilist-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "yuna0x0-anilist-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "anilist-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add yuna0x0-anilist-mcp --command npx --arg -y --arg anilist-mcp
```

### Hermes

```yaml
mcp_servers:
  yuna0x0-anilist-mcp:
    command: "npx"
    args: ["-y", "anilist-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "yuna0x0-anilist-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "anilist-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 78, +57)

- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Provenance: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] The attested source repository moved: yuna0x0/anilist-mcp
- [functional improvement] Schema quality: unverified → good
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Stability: unverified → 0.20
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional] Licence: MIT

### 2026-07-31 (score 21, +15)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 6, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 24)

First indexed and scored.

## MCP tools (44)

### `favourite_studio` (~42 tokens)

[Requires Login] Favourite or unfavourite a studio by its ID

Input parameters:

- `id` (number, required): The AniList ID of the studio to favourite/unfavourite

### `get_genres` (~17 tokens)

Get all available genres on AniList

### `get_media_tags` (~18 tokens)

Get all available media tags on AniList

### `get_site_statistics` (~20 tokens)

Get AniList site statistics over the last seven days

### `get_studio` (~32 tokens)

Get information about a studio by its AniList ID or name

Input parameters:

- `studio` (required): The studio ID or name

### `delete_activity` (~34 tokens)

[Requires Login] Delete the current authorized user's activity post

Input parameters:

- `id` (number, required): The AniList activity ID to delete

### `get_activity` (~31 tokens)

Get a specific AniList activity by its ID

Input parameters:

- `activityID` (number, required): The AniList activity ID

### `get_user_activity` (~59 tokens)

Fetch activities from a user

Input parameters:

- `page` (number): The page number to display
- `perPage` (number): How many entries to display on one page (max 25)
- `user` (number, required): The user's AniList ID

### `post_message_activity` (~86 tokens)

[Requires Login] Post a new message activity or update an existing one

Input parameters:

- `id` (required): AniList Activity ID (null to create new, number to update)
- `isPrivate` (boolean): Set to true if it is a private message
- `recipientId` (number, required): The target user to send the message to
- `text` (string, required): The activity message text

### `post_text_activity` (~54 tokens)

[Requires Login] Post a new text activity or update an existing one

Input parameters:

- `id` (required): AniList Activity ID (null to create new, number to update)
- `text` (string, required): The content of the activity

### `add_list_entry` (~52 tokens)

[Requires Login] Add an entry to the authorized user's list

Input parameters:

- `id` (number, required): The AniList ID of the media entry to add
- `options` (object, required): Values to save with the entry

### `get_user_anime_list` (~26 tokens)

Get a user's anime list

Input parameters:

- `user` (required): Username or user ID

### `get_user_manga_list` (~26 tokens)

Get a user's manga list

Input parameters:

- `user` (required): Username or user ID

### `remove_list_entry` (~39 tokens)

[Requires Login] Remove an entry from the authorized user's list

Input parameters:

- `id` (number, required): The AniList list ID of the entry to remove

### `update_list_entry` (~52 tokens)

[Requires Login] Update an entry on the authorized user's list

Input parameters:

- `id` (number, required): The AniList list ID of the entry to edit
- `options` (object, required): Values to save with the entry

### `get_anime` (~67 tokens)

Get detailed information about anime by AniList ID(s)

Input parameters:

- `fullData` (boolean): Set to true to get full unfiltered data (may be very large). Default is false to return only essential fields.
- `ids` (required): The AniList ID or array of IDs of the anime

### `favourite_anime` (~42 tokens)

[Requires Login] Favourite or unfavourite an anime by its ID

Input parameters:

- `id` (number, required): The AniList ID of the anime to favourite/unfavourite

### `favourite_manga` (~42 tokens)

[Requires Login] Favourite or unfavourite a manga by its ID

Input parameters:

- `id` (number, required): The AniList ID of the manga to favourite/unfavourite

### `get_manga` (~67 tokens)

Get detailed information about manga by AniList ID(s)

Input parameters:

- `fullData` (boolean): Set to true to get full unfiltered data (may be very large). Default is false to return only essential fields.
- `ids` (required): The AniList ID or array of IDs of the manga

### `get_character` (~33 tokens)

Get information about a character by their AniList ID or name

Input parameters:

- `id` (required): The AniList ID of the character

### `favourite_character` (~41 tokens)

[Requires Login] Favourite or unfavourite a character by its ID

Input parameters:

- `id` (number, required): The AniList ID of the character to favourite/unfavourite

### `favourite_staff` (~43 tokens)

[Requires Login] Favourite or unfavourite a staff member by their ID

Input parameters:

- `id` (number, required): The AniList ID of the staff member to favourite/unfavourite

### `get_todays_birthday_characters` (~36 tokens)

Get all characters whose birthday is today

Input parameters:

- `page` (number): What page in the search to target

### `get_todays_birthday_staff` (~36 tokens)

Get all staff members whose birthday is today

Input parameters:

- `page` (number): What page in the search to target

### `get_staff` (~36 tokens)

Get information about staff member by their AniList ID or name

Input parameters:

- `id` (required): The AniList ID or name of the staff member

### `get_recommendation` (~32 tokens)

Get an AniList recommendation by its ID

Input parameters:

- `recommendID` (number, required): The AniList recommendation ID

### `get_recommendations_for_media` (~68 tokens)

Get AniList recommendations for a specific media

Input parameters:

- `mediaID` (number, required): The AniList media ID
- `page` (number): Target a specific page number for recommendations
- `perPage` (number): Limit the page amount (max 25 per AniList limits)

### `search_activity` (~84 tokens)

Search for activities on AniList

Input parameters:

- `activityID` (number): The activity ID to lookup (leave it as undefined for no specific ID)
- `filter` (object): Filter object for searching activities (leave it as undefined for no specific filter)
- `page` (number): Page number for results
- `perPage` (number): Results per page (max 25)

### `search_anime` (~229 tokens)

Search for anime with query term and filters

Input parameters:

- `amount` (number): Results per page (max 25)
- `filter` (object): Filter object for searching anime. You MUST NOT include "{ "type": "ANIME" }" in the filter object. As it is already included in the API call. When no sorting method or any filter is specified, you S…
- `page` (number): Page number for results
- `term` (string): Query term for finding anime (leave it as undefined when no query term specified.) Query term is used for searching with specific word or title in mind. You SHOULD not include things that can be fou…

### `search_character` (~54 tokens)

Search for characters based on a query term

Input parameters:

- `amount` (number): Results per page (max 25)
- `page` (number): Page number for results
- `term` (string, required): Search term for finding characters

### `search_manga` (~229 tokens)

Search for manga with query term and filters

Input parameters:

- `amount` (number): Results per page (max 25)
- `filter` (object): Filter object for searching manga. You MUST NOT include "{ "type": "MANGA" }" in the filter object. As it is already included in the API call. When no sorting method or any filter is specified, you S…
- `page` (number): Page number for results
- `term` (string): Query term for finding manga (leave it as undefined when no query term specified.) Query term is used for searching with specific word or title in mind. You SHOULD not include things that can be fou…

### `search_staff` (~56 tokens)

Search for staff members based on a query term

Input parameters:

- `amount` (number): Results per page (max 25)
- `page` (number): Page number for results
- `term` (string, required): Search term for finding staff members

### `search_studio` (~55 tokens)

Search for studios based on a query term

Input parameters:

- `amount` (number): Results per page (max 25)
- `page` (number): Page number for results
- `term` (string, required): Search term for finding studios

### `search_user` (~52 tokens)

Search for users on AniList

Input parameters:

- `amount` (number): Results per page (max 25)
- `page` (number): Page number for results
- `term` (string, required): Search term for finding users

### `delete_thread` (~33 tokens)

[Requires Login] Delete a thread by its ID

Input parameters:

- `id` (number, required): The AniList thread ID to delete

### `get_thread` (~32 tokens)

Get a specific thread by its AniList ID

Input parameters:

- `id` (number, required): The AniList ID of the thread

### `get_thread_comments` (~51 tokens)

Get comments for a specific thread

Input parameters:

- `id` (number, required): The AniList thread ID
- `page` (number): The page number
- `perPage` (number): How many comments per page

### `get_full_user_info` (~28 tokens)

Get a user's complete profile and stats information

Input parameters:

- `user` (required): Username or user ID

### `follow_user` (~40 tokens)

[Requires Login] Follow or unfollow a user by their ID

Input parameters:

- `userID` (number, required): The user ID of the account to follow/unfollow

### `get_authorized_user` (~23 tokens)

[Requires Login] Get profile information of the currently authorized user

### `get_user_recent_activity` (~49 tokens)

Get recent activity from a user

Input parameters:

- `user` (number, required): The user's AniList ID (Number ID only, DO NOT use username, any kind of string or other types except for numbers.)

### `get_user_profile` (~25 tokens)

Get a user's AniList profile

Input parameters:

- `user` (required): Username or user ID

### `get_user_stats` (~25 tokens)

Get a user's AniList statistics

Input parameters:

- `user` (required): Username or user ID

### `update_user` (~27 tokens)

[Requires Login] Update user settings

Input parameters:

- `options` (object, required): User options to update

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/yuna0x0-anilist-mcp/anilist-mcp#diagnostics

## Score history

- 2026-08-03: 78
- 2026-08-02: 78
- 2026-08-01: 21
- 2026-07-31: 21
- 2026-07-30: 6
- 2026-07-28: 24
- 2026-07-27: 24

## Links

- npm package: https://www.npmjs.com/package/anilist-mcp
- Socket report: https://socket.dev/npm/package/anilist-mcp
- Repository: https://github.com/yuna0x0/anilist-mcp
- Changelog RSS feed: https://verifymcp.io/servers/yuna0x0-anilist-mcp/anilist-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/yuna0x0-anilist-mcp/anilist-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/yuna0x0-anilist-mcp/anilist-mcp
