PluginWorld
An

anilist-mcp

MCP

Connects AI agents directly to AniList for anime schedules, user profile statistics, anime and manga searches, and recommendations, with optional authenticated queries and Docker/SSE support.

@OldemarJesus · v1.0.0 · MIT License · updated today

SECURITY

B

SCORE

69

STARS

▲ 1

PLUG IN

git clone https://github.com/OldemarJesus/AniList-MCP.git

See the README to configure this MCP server

README

AniList-MCP 🚀

CI/CD Docker Build License: MIT Node.js Version MCP Specification

A production-grade Model Context Protocol (MCP) server for AniList, written in Node.js & TypeScript, reusing the proven anilist-node library.

Connects your AI agents (Claude Desktop, Cursor, Antigravity IDE, etc.) directly to AniList to discover anime schedules, query user profile stats, search titles, and retrieve recommendations.


✨ Features (Phase 1 MVP)

  • 📺 Airing Schedules: Real-time broadcast schedules, countdown timers, and next-episode trackers.
  • 👤 User Profile & Stats: In-depth statistics (episodes watched, minutes spent, chapters read, average scores, genres).
  • 🔍 Search Anime & Manga: Fast title lookups with rich metadata (synonyms, romanized/English titles, cover images).
  • 💡 Recommendations: Discover related works based on community ratings or fetch individual recommendation threads.
  • 🔐 Flexible Auth: Works out-of-the-box for public queries; accepts ANILIST_TOKEN for authenticated/private data.
  • 🐳 Docker-Ready with /health: Dual transport support (stdio for local tools, sse for remote containers) with an HTTP /health probe.

📋 Table of Contents


⚡ Quick Start

Option A: Run via Docker (Recommended)

# Clone the repository
git clone https://github.com/OldemarJesus/AniList-MCP.git
cd AniList-MCP

# Start with Docker Compose
docker compose up -d --build

# Verify health status
curl http://localhost:3000/health

Option B: Run Locally with Node.js

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in Stdio mode (Default)
npm start

# Or run in SSE/HTTP mode with /health endpoint
TRANSPORT=sse PORT=3000 npm start

⚙️ Configuration

AniList-MCP is configured via environment variables or a .env file:

Variable Type Default Description
ANILIST_TOKEN String "" Optional AniList OAuth token for authenticated queries.
TRANSPORT String stdio Transport type: stdio (CLI/Desktop) or sse (HTTP/Docker).
PORT Number 3000 Port for the HTTP / SSE server.
HOST String 0.0.0.0 Listen host for the HTTP server.
LOG_LEVEL String info Logging verbosity (debug, info, warn, error).

🔌 Client Integration

1. Claude Desktop (claude_desktop_config.json)

Stdio Mode (Direct Node execution):

{
  "mcpServers": {
    "anilist": {
      "command": "node",
      "args": ["/absolute/path/to/AniList-MCP/dist/index.js"],
      "env": {
        "ANILIST_TOKEN": "your_optional_token"
      }
    }
  }
}

Docker Mode:

{
  "mcpServers": {
    "anilist": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "TRANSPORT=stdio", "anilist-mcp:latest"]
    }
  }
}

2. Cursor / Antigravity IDE (SSE Mode)

When running the Docker container with TRANSPORT=sse:

  • URL: http://localhost:3000/sse

🛠️ MCP Tools Reference

Tool Name Parameters Description
airing_schedule anime_id?, not_yet_aired?, page?, per_page?, airing_at_greater?, airing_at_lesser? Returns upcoming anime broadcast schedule and countdowns.
get_user_profile_stats username?, user_id? Returns user bio, favorites, and detailed anime/manga stats.
search_anime query, page?, per_page? Searches anime by title/keyword.
search_manga query, page?, per_page? Searches manga by title/keyword.
get_recommendation id Retrieves a specific recommendation by AniList ID.
list_recommendations media_id, page?, per_page? Lists recommendations for an anime or manga.

See docs/api.md for full parameter schemas and response formats.


🩺 Health Check Endpoint

In sse mode, the server serves an HTTP /health endpoint:

curl http://localhost:3000/health
{
  "status": "ok",
  "service": "anilist-mcp",
  "version": "1.0.0",
  "uptime": 128.45,
  "transport": "sse",
  "authenticated": false,
  "timestamp": "2026-10-26T04:26:00.000Z"
}

🧪 Testing

AniList-MCP includes automated tests verifying tool execution, input schemas, and health checks:

# Run unit and integration tests
npm test

# Run tests in watch mode
npm run test:watch

📚 Documentation

Detailed documentation is available in the docs/ directory:


👤 Author

Developed and maintained by Oldemar Jesus.


📄 License

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

SIMILAR PLUGINS