Back to MCP directory
publicPublicdnsLocal runtime

anilist-mcp

AniList MCP 服务器是一个基于模型上下文协议(MCP)的工具,旨在与 AniList API 进行交互,使 LLM 客户端能够访问和操作 AniList 上的动漫、漫画、角色、工作人员和用户数据。其主要功能包括搜索和获取动漫、漫画、角色、工作人员及用户信息,支持高级筛选选项,并允许用户执行收藏、关注等操作。该服务器可以通过 Smithery 或手动安装,并支持与 Claude Desktop 等 MCP 客户端集成。开发者还可以通过 Docker 进行部署,并利用 MCP Inspector 进行调试和测试。

article

README

AniList MCP Server

A Model Context Protocol (MCP) server that interfaces with the AniList API, allowing LLM clients to access and interact with anime, manga, character, staff, and user data from AniList.

Features

  • Search for anime, manga, characters, staff, and studios
  • Get detailed information about specific anime, manga, characters, and staff members
  • Access user profiles and lists
  • Support for advanced filtering options
  • Retrieve genres and media tags
  • Dual transport support: Both HTTP and STDIO transports
  • Cloud deployment ready: Support Smithery and other platforms

Requirements

  • Node.js 18+

Local Installation (STDIO Transport)

  1. Add this server to your mcp.json / claude_desktop_config.json:
{
  "mcpServers": {
    "anilist": {
      "command": "npx",
      "args": ["-y", "anilist-mcp"],
      "env": {
        "ANILIST_TOKEN": "your_api_token"
      }
    }
  }
}

You may remove the env object entirely, if you are not planning to use the AniList Token for operations that require login.

  1. Restart your MCP client (e.g., Claude Desktop)
  2. Use the tools to interact with AniList

Server Deployment (HTTP Transport)

Self-Hosting

Follow the Local Development instructions to set up the project locally, then run:

pnpm run start:http

This will start the server on port 8081 by default. You can change the port by setting the PORT environment variable.

Cloud Deployment

You can deploy this MCP server to any cloud platform that supports Node.js server applications.

You can also deploy via MCP platforms like Smithery.

Configuration

Environment Variables (STDIO Transport and HTTP Transport server where host provides the config)

When using the STDIO transport or hosting the HTTP transport server, you can pass configuration via environment variables:

  • ANILIST_TOKEN: (Optional) AniList API Token (Only needed for operations that require login)

[!CAUTION] If you are hosting the HTTP transport server with token pre-configured, you should protect your endpoint and implement authentication before allowing users to access it. Otherwise, anyone can access your MCP server while using your AniList token.

HTTP Headers (HTTP Transport where user provides the config)

When using the HTTP transport, user can pass configuration via HTTP headers:

  • Anilist-Token: (Optional) AniList API Token (Only needed for operations that require login)

If the user provides the token in the header, while the server also has ANILIST_TOKEN set, the header value will take precedence.

Get an AniList API Token (Optional)

To get an API token, follow these steps:

  1. Go to AniList settings.
  2. Click on "Create New Client".
  3. Use this URL as your client's "Redirect URL":
https://anilist.co/api/v2/oauth/pin
  1. Click "Save"
  2. Then go to https://anilist.co/api/v2/oauth/authorize?client_id={clientID}&response_type=token, replace the {clientID} with the client ID you get. It will ask you to log in and then provide you with the token to use.
  3. Copy the generated token and use it in your .env file or environment variables.

Available Tools

Misc Tools

  • 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
  • favourite_studio: [Requires Login] Favourite or unfavourite a studio by its ID

Activity Tools

  • 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

List Tools

  • get_user_anime_list: Get a user's anime list
  • get_user_manga_list: Get a user's manga list
  • add_list_entry: [Requires Login] Add an entry to the authorized user's 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

Media Tools

  • get_anime: Get detailed information about an anime by its AniList ID
  • get_manga: Get detailed information about a manga by its AniList ID
  • favourite_anime: [Requires Login] Favourite or unfavourite an anime by its ID
  • favourite_manga: [Requires Login] Favourite or unfavourite a manga by its ID

People Tools

  • get_character: Get information about a character by their AniList ID
  • get_staff: Get information about staff member by their AniList ID
  • 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

Recommendation Tools

  • get_recommendation: Get an AniList recommendation by its ID
  • get_recommendations_for_media: Get AniList recommendations for a specific media

Search Tools

  • search_activity: Search for activities on AniList
  • search_anime: Search for anime with query term and filters
  • search_manga: Search for manga with query term and filters
  • search_character: Search for characters based on a query term
  • 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

Thread Tools

  • get_thread: Get a specific thread by its AniList ID
  • get_thread_comments: Get comments for a specific thread
  • delete_thread: [Requires Login] Delete a thread by its ID

User Tools

  • get_user_profile: Get a user's AniList profile
  • get_user_stats: Get a user's AniList statistics
  • get_full_user_info: Get a user's complete profile and stats information
  • get_user_recent_activity: Get recent activity from a user
  • get_authorized_user: [Requires Login] Get profile information of the currently authorized user
  • follow_user: [Requires Login] Follow or unfollow a user by their ID
  • update_user: [Requires Login] Update user settings

Example Usage

Basic Anime Search

Can you search for anime similar to "Bocchi the Rock!"?

Get Character Info

Can you tell me about the character Hitori Gotou? Use the AniList tools to find information.

Compare Studio Works

What anime has Studio Ghibli produced? Can you list their most popular works?

Local Development

This project uses pnpm as its package manager.

Clone the repository and install dependencies:

git clone https://github.com/yuna0x0/anilist-mcp.git
cd anilist-mcp
pnpm install

Configuration (Optional)

  1. Create a .env file by copying the example:
cp env.example .env
  1. Edit the .env file and add your AniList API token:
ANILIST_TOKEN=your_api_token

Debugging with MCP Inspector

You can use the MCP Inspector to test and debug the AniList MCP server:

npx @modelcontextprotocol/inspector -e ANILIST_TOKEN=your_api_token npx anilist-mcp

# Use this instead when Local Development
pnpm run inspector

Then open your browser to the provided URL (usually http://localhost:6274) to access the MCP Inspector interface. From there, you can:

  1. Connect to your running AniList MCP server
  2. Browse available tools
  3. Run tools with custom parameters
  4. View the responses

This is particularly useful for testing your setup before connecting it to MCP clients like Claude Desktop.

Docker

Pull from GitHub Container Registry:

docker pull ghcr.io/yuna0x0/anilist-mcp

Docker build (Local Development):

docker build -t ghcr.io/yuna0x0/anilist-mcp .

Docker multi-platform build (Local Development):

docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/yuna0x0/anilist-mcp .

MCP Bundles (MCPB)

To create an MCP Bundle for this server, run:

pnpm run pack:mcpb

Security Notice

This MCP server accepts your AniList API token in the .env file, environment variable or HTTP header. Keep this information secure and never commit it to version control.

License

This project is licensed under the MIT License - see the LICENSE file for details.

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client