Skip to main content
Glama
JunnB

AniList MCP

by JunnB

AniList MCP (Convex)

Сервер MCP для личного использования с AniList. Convex предоставляет MCP по адресу https://<déploiement>.convex.site/mcp — без локального процесса Node, без бэкенда OAuth.

У AniList есть только один GraphQL-эндпоинт (https://graphql.anilist.co) и implicit grant — создаёшь клиент, получаешь JWT сроком на год, кладёшь его в переменную окружения Convex. Это упрощённый вариант для одного пользователя.

Пять инструментов

Инструмент

Роль

chercher

Ищет название, возвращает id AniList и количество эпизодов

ma_liste

Твоя коллекция, фильтруемая по статусу (CURRENT, PLANNING, …)

progression

SaveMediaListEntry с progress — эпизод, который ты только что посмотрел

noter

SaveMediaListEntry с score и status

en_cours_de_diffusion

Что выходит на этой неделе среди твоих отслеживаемых сериалов

Последний использует календарь AniList (airingAt), а не список, который ведётся вручную. «Что посмотреть сегодня вечером» — это эпизод, вышедший сегодня.

Related MCP server: AniList MCP Server

1. Convex

npm install
npx convex dev

Это создаёт (или подключает) проект в твоём аккаунте Convex и разворачивает функции. HTTP-адрес сайта появляется в дашборде (*.convex.site).

2. Токен AniList (implicit grant)

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

  2. Redirect URL: https://anilist.co/api/v2/oauth/pin (страница PIN, без бэкенда)

  3. Открой:

https://anilist.co/api/v2/oauth/authorize?client_id=TON_CLIENT_ID&response_type=token
  1. Скопируй JWT, затем:

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

Необязательно, для блокировки POST /mcp:

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

3. Cursor

В ~/.cursor/mcp.json (или Settings → MCP):

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

Если задан MCP_SECRET:

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

Транспорт — Streamable HTTP, без постоянной сессии (свежая спецификация). Convex остаётся хостом.

Примеры

  • «Найди Frieren» → chercher → id + 28 эпизодов

  • «Отметь эпизод 12 Frieren» → progression

  • «Поставь оценку 85 и COMPLETED» → noter

  • «Что выходит сегодня вечером в моём списке?» → en_cours_de_diffusion

Dev

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

npx convex deploy — только для продакшена.

Вызовы AniList — это actions Convex (convex/anilist.ts). HTTP-роутер (convex/http.ts) переводит JSON-RPC MCP → в эти действия.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    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
    243 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables querying and updating Bangumi anime collections, tracking per-episode progress, and receiving airing reminders for currently-watching anime via AniList.
    -