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. - 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 optio
Add this skill
npx mdskills install yuna0x0/anilist-mcpComprehensive AniList API integration with 30+ tools, dual transport, and clear setup docs
1# AniList MCP Server23A 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.45## Features67- Search for anime, manga, characters, staff, and studios8- Get detailed information about specific anime, manga, characters, and staff members9- Access user profiles and lists10- Support for advanced filtering options11- Retrieve genres and media tags12- **Dual transport support**: Both HTTP and STDIO transports13- **Cloud deployment ready**: Support Smithery and other platforms1415## Requirements1617- Node.js 18+1819## Local Installation (STDIO Transport)20211. Add this server to your `mcp.json` / `claude_desktop_config.json`:2223```json24{25 "mcpServers": {26 "anilist": {27 "command": "npx",28 "args": ["-y", "anilist-mcp"],29 "env": {30 "ANILIST_TOKEN": "your_api_token"31 }32 }33 }34}35```3637You may remove the `env` object entirely, if you are not planning to use the AniList Token for operations that require login.38392. Restart your MCP client (e.g., Claude Desktop)403. Use the tools to interact with AniList4142## Server Deployment (HTTP Transport)4344### Self-Hosting45Follow the [Local Development](#local-development) instructions to set up the project locally, then run:46```bash47pnpm run start:http48```49This will start the server on port 8081 by default. You can change the port by setting the `PORT` environment variable.5051### Cloud Deployment5253You can deploy this MCP server to any cloud platform that supports Node.js server applications.5455You can also deploy via MCP platforms like [Smithery](https://smithery.ai/server/@yuna0x0/anilist-mcp).5657## Configuration58### Environment Variables (STDIO Transport and HTTP Transport server where host provides the config)5960When using the STDIO transport or hosting the HTTP transport server, you can pass configuration via environment variables:61- `ANILIST_TOKEN`: (Optional) AniList API Token (Only needed for operations that require login)6263> [!CAUTION]64> 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.6566### HTTP Headers (HTTP Transport where user provides the config)6768When using the HTTP transport, user can pass configuration via HTTP headers:69- `Anilist-Token`: (Optional) AniList API Token (Only needed for operations that require login)7071If the user provides the token in the header, while the server also has `ANILIST_TOKEN` set, the header value will take precedence.7273### Get an AniList API Token (Optional)7475To get an API token, follow these steps:76771. Go to [AniList settings](https://anilist.co/settings/developer).782. Click on "Create New Client".793. Use this URL as your client's "Redirect URL":80```81https://anilist.co/api/v2/oauth/pin82```83844. Click "Save"855. 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.866. Copy the generated token and use it in your `.env` file or environment variables.8788## Available Tools8990### Misc Tools91- **get_genres**: Get all available genres on AniList92- **get_media_tags**: Get all available media tags on AniList93- **get_site_statistics**: Get AniList site statistics over the last seven days94- **get_studio**: Get information about a studio by its AniList ID or name95- **favourite_studio**: [Requires Login] Favourite or unfavourite a studio by its ID9697### Activity Tools98- **delete_activity**: [Requires Login] Delete the current authorized user's activity post99- **get_activity**: Get a specific AniList activity by its ID100- **get_user_activity**: Fetch activities from a user101- **post_message_activity**: [Requires Login] Post a new message activity or update an existing one102- **post_text_activity**: [Requires Login] Post a new text activity or update an existing one103104### List Tools105- **get_user_anime_list**: Get a user's anime list106- **get_user_manga_list**: Get a user's manga list107- **add_list_entry**: [Requires Login] Add an entry to the authorized user's list108- **remove_list_entry**: [Requires Login] Remove an entry from the authorized user's list109- **update_list_entry**: [Requires Login] Update an entry on the authorized user's list110111### Media Tools112- **get_anime**: Get detailed information about an anime by its AniList ID113- **get_manga**: Get detailed information about a manga by its AniList ID114- **favourite_anime**: [Requires Login] Favourite or unfavourite an anime by its ID115- **favourite_manga**: [Requires Login] Favourite or unfavourite a manga by its ID116117### People Tools118- **get_character**: Get information about a character by their AniList ID119- **get_staff**: Get information about staff member by their AniList ID120- **favourite_character**: [Requires Login] Favourite or unfavourite a character by its ID121- **favourite_staff**: [Requires Login] Favourite or unfavourite a staff member by their ID122- **get_todays_birthday_characters**: Get all characters whose birthday is today123- **get_todays_birthday_staff**: Get all staff members whose birthday is today124125### Recommendation Tools126- **get_recommendation**: Get an AniList recommendation by its ID127- **get_recommendations_for_media**: Get AniList recommendations for a specific media128129### Search Tools130- **search_activity**: Search for activities on AniList131- **search_anime**: Search for anime with query term and filters132- **search_manga**: Search for manga with query term and filters133- **search_character**: Search for characters based on a query term134- **search_staff**: Search for staff members based on a query term135- **search_studio**: Search for studios based on a query term136- **search_user**: Search for users on AniList137138### Thread Tools139- **get_thread**: Get a specific thread by its AniList ID140- **get_thread_comments**: Get comments for a specific thread141- **delete_thread**: [Requires Login] Delete a thread by its ID142143### User Tools144- **get_user_profile**: Get a user's AniList profile145- **get_user_stats**: Get a user's AniList statistics146- **get_full_user_info**: Get a user's complete profile and stats information147- **get_user_recent_activity**: Get recent activity from a user148- **get_authorized_user**: [Requires Login] Get profile information of the currently authorized user149- **follow_user**: [Requires Login] Follow or unfollow a user by their ID150- **update_user**: [Requires Login] Update user settings151152## Example Usage153154### Basic Anime Search155156```157Can you search for anime similar to "Bocchi the Rock!"?158```159160### Get Character Info161162```163Can you tell me about the character Hitori Gotou? Use the AniList tools to find information.164```165166### Compare Studio Works167168```169What anime has Studio Ghibli produced? Can you list their most popular works?170```171172## Local Development173174This project uses [pnpm](https://pnpm.io) as its package manager.175176Clone the repository and install dependencies:177178```bash179git clone https://github.com/yuna0x0/anilist-mcp.git180cd anilist-mcp181pnpm install182```183184### Configuration (Optional)1851861. Create a `.env` file by copying the example:187```bash188cp env.example .env189```1901912. Edit the `.env` file and add your AniList API token:192```193ANILIST_TOKEN=your_api_token194```195196## Debugging with MCP Inspector197198You can use the MCP Inspector to test and debug the AniList MCP server:199200```bash201npx @modelcontextprotocol/inspector -e ANILIST_TOKEN=your_api_token npx anilist-mcp202203# Use this instead when Local Development204pnpm run inspector205```206207Then open your browser to the provided URL (usually http://localhost:6274) to access the MCP Inspector interface. From there, you can:2082091. Connect to your running AniList MCP server2102. Browse available tools2113. Run tools with custom parameters2124. View the responses213214This is particularly useful for testing your setup before connecting it to MCP clients like Claude Desktop.215216## Docker217218Pull from GitHub Container Registry:219```bash220docker pull ghcr.io/yuna0x0/anilist-mcp221```222223Docker build (Local Development):224```bash225docker build -t ghcr.io/yuna0x0/anilist-mcp .226```227228Docker multi-platform build (Local Development):229```bash230docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/yuna0x0/anilist-mcp .231```232233## MCP Bundles (MCPB)234235To create an MCP Bundle for this server, run:236```bash237pnpm run pack:mcpb238```239240## Security Notice241242This 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.243244## License245246This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.247
Full transparency — inspect the skill content before installing.