Skip to main content
Glama

Anime MCP Server

Annict REST APIを使い、アニメの検索・人物・団体・スタッフ・放送予定の取得を行う Model Context Protocol (MCP) サーバーです。

必要なもの

Related MCP server: Bangumi MCP

セットアップ

npm install
cp .env.example .env
# .env に ANNICT_ACCESS_TOKEN **を設定**
npm run build

環境変数

ANNICT_ACCESS_TOKEN(必須)— Annict API のアクセストークン。アプリ設定で取得。.env に書くか、MCP 設定の env で渡す。

提供ツール

作品(works)

ツール名

説明

search_anime

タイトルで作品を検索(例: しろばこ, shirobako)

search_anime_by_season

放送クール(年・季節)で検索(例: 2024年春, 2016年秋)

get_anime_by_ids

作品IDのリストで作品情報を取得

シリーズ(series)

ツール名

説明

search_series

シリーズ名で検索(例: ソードアート, Sword Art)

get_series_by_ids

シリーズIDのリストでシリーズ情報を取得

エピソード(episodes)

ツール名

説明

get_episodes_by_work_id

作品IDに紐づくエピソード一覧を取得(話数順など)

get_episodes_by_ids

エピソードIDのリストでエピソード情報を取得

人物(people)

ツール名

説明

search_people

名前で人物を検索(声優・スタッフなど。例: 井上, 水瀬いのり)

get_people_by_ids

人物IDのリストで人物情報を取得

団体(organizations)

ツール名

説明

search_organizations

名前で団体を検索(制作会社など。例: 株式会社, P.A.WORKS)

get_organizations_by_ids

団体IDのリストで団体情報を取得

スタッフ(staffs)

ツール名

説明

get_staffs_by_ids

スタッフIDのリストでスタッフ情報を取得

get_staffs_by_work_id

作品IDに紐づくスタッフ一覧を取得(監督・アニメーション制作など)

放送予定(programs)

ツール名

説明

get_my_programs

認証ユーザーの放送予定を取得。日時範囲・作品ID・未視聴・再放送で絞り込み可能。ANNICT_ACCESS_TOKEN 必須。

Cursor / Claude Desktop での使い方

MCP サーバーとして登録します。

Cursor の MCP 設定、または Claude Desktop の claude_desktop_config.json に追加例:

{
  "mcpServers": {
    "anime": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/anime-mcp/build/src/index.js"],
      "env": {
        "ANNICT_ACCESS_TOKEN": "your_annict_token"
      }
    }
  }
}

/ABSOLUTE/PATH/TO/anime-mcp をプロジェクトの絶対パスに置き換えてください。トークンは env で渡すか、プロジェクト直下に .env を置いても読み込まれます。

プロジェクト構成

  • src/api/ — Annict API クライアント(client.ts + works, series, episodes, people, organizations, staffs, programs)

  • src/types/ — リクエスト型(api.ts, common.ts)と各リソースの型・Zod スキーマ

  • src/tools/ — MCP ツール登録(リソースごと 1 ファイル)

  • src/utils/format/ — リソース別テキスト整形(common.ts + 各リソース)

  • src/utils/result.ts — ツール返却(ok / err / wrap)

  • test/ — ユニットテスト(Vitest)。test/api/, test/utils/, test/tools/ で src と対応

開発

npm run build        # ビルド (tsc + tsc-alias)
npm start            # ビルド済み index.js を実行
npm run dev          # tsc --watch
npm test             # ユニットテスト実行 (Vitest)
npm run lint         # ESLint
npm run lint:fix     # ESLint 自動修正
npm run format       # Prettier でフォーマット
npm run format:check # フォーマットチェック

参考

Available Tools

14 tools
get_anime_by_idsB

Get anime works by Annict work IDs.

Inputs: ids (required).

get_episodes_by_idsA

Get episode details by Annict episode IDs.

Inputs: ids (required).

get_episodes_by_work_idB

Get episodes for an anime work by Annict work ID (e.g. list all episodes of a series).

Inputs: work_id (required), page, per_page, sort_sort_number.

get_my_programsA

Get the authenticated user's program schedule (broadcast times). Filter by work IDs, date range, unwatched, rebroadcast; sort by started_at. Requires ANNICT_ACCESS_TOKEN.

Inputs: page, per_page, filter_work_ids, sort_started_at, +4 more.

get_organizations_by_idsB

Get organizations by Annict organization IDs.

Inputs: ids (required).

get_people_by_idsB

Get people by Annict person IDs.

Inputs: ids (required).

get_series_by_idsB

Get anime series by Annict series IDs.

Inputs: ids (required).

get_staffs_by_idsB

Get staff entries by Annict staff IDs.

Inputs: ids (required).

get_staffs_by_work_idA

Get staff for an anime work by Annict work ID (e.g. directors, animation studio).

Inputs: work_id (required), page, per_page, sort_sort_number.

search_animeC

Search anime by title (e.g. shirobako, しろばこ).

Inputs: title (required), page, per_page.

search_anime_by_seasonA

Search anime by season (e.g. 2024 spring, 2016年秋).

Inputs: year (required), season (required), page, sort, +1 more.

search_organizationsB

Search organizations (studios, etc.) by name (e.g. 株式会社, P.A.WORKS).

Inputs: name (required), page, sort_id, per_page.

search_peopleB

Search people (voice actors, staff, etc.) by name (e.g. 井上, 水瀬いのり).

Inputs: name (required), page, sort_id, per_page.

search_seriesA

Search anime series by name (e.g. ソードアート, Sword Art).

Inputs: name (required), page, sort_id, per_page.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 14 tools

    Disambiguation5/5

    Tools target distinct entities (anime, episodes, programs, etc.) with different access patterns (by ID vs search by name). No overlapping purposes; each tool has a clear and unique role.

    Naming Consistency5/5

    All tools follow a consistent 'get_<entity>_by_<criteria>' or 'search_<entity>' pattern. Variations like 'by_ids' and 'by_work_id' are predictable and uniform across similar tools.

    Tool Count5/5

    14 tools cover the main entities in the anime domain (anime, episodes, programs, organizations, people, series, staff) without bloat. The count feels well-scoped for a focused data retrieval API.

    Completeness5/5

    The tool set provides comprehensive read access to key anime data: search by title/season, retrieve by ID, list episodes per work, staff details, and user program schedule. No obvious gaps for the intended use case of querying Annict data.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables users to search for anime information via the Bangumi API and discover corresponding real-world pilgrimage locations through the Anitabi API. It provides tools for retrieving anime metadata and detailed geographic coordinates for 'seichi junrei' locations.
      3
      AGPL 3.0
    • 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
      86 npm
      2
      MIT