Skip to main content
Glama
AniList MCP

AniList MCP

by JunnB

AniList MCP (Convex)

Persönlicher MCP-Server für AniList. Convex stellt das MCP bereit unter https://<déploiement>.convex.site/mcp – kein lokaler Node-Prozess, kein OAuth-Backend.

AniList hat nur einen GraphQL-Endpunkt (https://graphql.anilist.co) und einen impliziten Grant: Du erstellst einen Client, bekommst ein ein Jahr gültiges JWT und legst es als Convex-Umgebungsvariable ab. Das ist die Kurzlösung für Einzelbenutzer.

Fünf Werkzeuge

Werkzeug

Rolle

chercher

Sucht einen Titel, liefert die AniList-ID und die Anzahl der Folgen

ma_liste

Deine Sammlung, nach Status filterbar (CURRENT, PLANNING, …)

progression

SaveMediaListEntry mit progress – die Folge, die du gerade gesehen hast

noter

SaveMediaListEntry mit score und status

en_cours_de_diffusion

Was diese Woche aus deinen verfolgten Serien erscheint

Das letzte Werkzeug nutzt den AniList-Kalender (airingAt), keine von jemandem gepflegte Liste. „Was schaue ich mir heute Abend an?“ wird zur Folge, die heute erschienen ist.

Related MCP server: AniList MCP Server

1. Convex

npm install
npx convex dev

Das erstellt (oder verknüpft) das Projekt auf deinem Convex-Konto und pusht die Funktionen. Die HTTP-URL der Site erscheint im Dashboard (*.convex.site).

2. AniList-Token (impliziter Grant)

  1. anilist.co/settings/developer → Create New Client

  2. Redirect URL: https://anilist.co/api/v2/oauth/pin (PIN-Seite, kein Backend)

  3. Öffne:

https://anilist.co/api/v2/oauth/authorize?client_id=TON_CLIENT_ID&response_type=token
  1. Kopiere das JWT und dann:

npx convex env set ANILIST_TOKEN 'eyJ...'
npx convex env set ANILIST_TIMEZONE Europe/Paris

Optionaler Schutz für POST /mcp:

npx convex env set MCP_SECRET 'un-secret-long'

3. Cursor

In ~/.cursor/mcp.json (oder Einstellungen → MCP):

{
  "mcpServers": {
    "anilist": {
      "url": "https://VOTRE_DEPLOIEMENT.convex.site/mcp"
    }
  }
}

Falls MCP_SECRET gesetzt ist:

{
  "mcpServers": {
    "anilist": {
      "url": "https://VOTRE_DEPLOIEMENT.convex.site/mcp",
      "headers": {
        "Authorization": "Bearer un-secret-long"
      }
    }
  }
}

Der Transport ist Streamable HTTP ohne persistente Session (aktuelle Spezifikation). Convex bleibt der Host.

Beispiele

  • „Suche Frieren“ → cherche → ID + 28 Folgen

  • „Markiere Folge 12 von Frieren“ → progression

  • „Bewerte 85 und COMPLETED“ → noter

  • „Was passiert heute Abend in meiner Liste?“ → en_cours_de_diffusion

Entwicklung

npm test
npm run lint
npx convex dev          # watch + push (dev uniquement)

npx convex deploy ist nur für die Produktion.

Die AniList-Aufrufe sind Convex-Actions (convex/anilist.ts). Der HTTP-Router (convex/http.ts) übersetzt JSON-RPC MCP → diese Aktionen.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables searching and browsing anime/manga, characters, staff, and more on AniList without credentials, and with a one-time login allows managing personal lists, favorites, follows, and activity.
    50
    91 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables querying and updating Bangumi anime collections, tracking per-episode progress, and receiving airing reminders for currently-watching anime via AniList.
    -