AniList MCP Server (Unofficial) について
AniListを検索したりアカウントを管理したりする、MCPクライアントやエージェント向けの非公式サーバーです。GraphQLによる公開データの閲覧に加え、ログイン後はリストやソーシャル機能も操作できます。
主な機能
- 01アニメ、マンガ、キャラクター、スタッフ、スタジオ、ユーザーの検索
- 02作品詳細、推薦、統計の取得
- 03公開プロフィール、リスト、アクティビティ、スレッドの閲覧
- 04ログイン後の個人リストとお気に入りの管理
- 05アクティビティやスレッドの投稿、フォローと通知の管理
活用シーン
- 01アニメを検索し、スコア、ジャンル、あらすじを確認
- 02作品に基づく推薦を調べる
- 03公開AniListプロフィールやリストを確認
- 04認証後に個人リストを更新、またはアクティビティを投稿
MCP 対応
AniListの検索、閲覧、アカウント管理ツールと再利用可能なプロンプトをMCPクライアントに提供します。標準MCP stdioプロトコルを使用し、個人操作にはAniListの認証が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
50掲載時のツール一覧 · 6 日前に更新
このツールにパラメーターはありません。
詳細
AniList MCP サーバー(非公式)
AniList 用の MCP サーバーです。 あらゆる MCP 対応クライアントやエージェント(Claude Desktop/Code、Cursor、 VS Code、Cline、Continue など)で動作します。標準の MCP stdio プロトコルを使用します。
できること
AniList の公開 GraphQL API(https://graphql.anilist.co)に直接アクセスします。
- 読み取り(認証情報は不要です)。 アニメ/マンガ、 キャラクター、スタッフ、スタジオ、ジャンル/タグ、レコメンデーション、フォーラムのスレッド、 アクティビティフィード、公開/限定公開のユーザープロフィールとリストを検索・閲覧できます。
- 自分の AniList アカウント(初回のみログインが必要です)。 自分の アニメ/マンガのリスト(エントリーの追加/更新/削除)、お気に入り、フォロー、通知を管理し、自分のアクティビティやスレッドを投稿/削除できます。
必要なもの(設定するとできること)
始めるのに必要なものはないため、すぐに インストールに進めます。以下はすべて任意です。
| 設定するもの... | できること... |
|---|---|
| (なし) | 検索、詳細、ジャンル/タグ、レコメンデーション、スレッド、アクティビティ、公開プロフィール/リスト。すぐに利用できます。 |
AniList の Client ID + Client Secret(無料で2分 →)、および login_anilist の初回実行 | 上記のすべてに加え、自分の AniList アカウントでリスト、お気に入り、フォロー、アクティビティ、スレッドを管理できます。 |
ログインしていない場合、個人用/変更用ツールはログイン方法を明示したメッセージを返します。 それ以外の機能は引き続きすべて利用できます。
クエリの例
接続したら、エージェントに自然な言葉で尋ねるだけです。
認証情報は不要です:
"Search for the anime Frieren and show its score, genres and synopsis."
"What recommendations does AniList have for fans of Steins;Gate?"
"Show me today's birthday characters."
"What genres and tags does AniList use for anime?"
"Show the public profile and stats for user <username>."
"What's in <username>'s AniList anime list marked as watching?"
AniList アカウントを使用する場合(初回の login_anilist の後。AniList アカウントを接続するを参照):
"Add Frieren to my AniList plan-to-watch list."
"Set Cowboy Bebop to completed on my AniList with a score of 9."
"Follow user <username> for me."
"Post a text update to my AniList activity feed."
"What are my unread AniList notifications?"
ツール
| ツール | 認証 |
|---|---|
get_genres, get_media_tags, get_site_statistics, get_studio | なし |
get_media, get_media_statistics, get_media_characters, get_media_staff | なし |
get_media_reviews, get_media_relations, get_anime_schedule | なし |
get_character, get_staff, get_todays_birthdays | なし |
get_recommendation, get_recommendations_for_media | なし |
search_media, search_character, search_staff, search_studio, search_user, search_activity | なし |
search_thread, get_thread, get_thread_comments | なし |
get_user_profile, get_user_stats, get_full_user_info, get_user_recent_activity | なし |
get_activity, get_user_activity | なし |
get_user_list | なし |
toggle_favourite | トークン |
add_list_entry, update_list_entry, update_list_entries, remove_list_entry | トークン |
post_text_activity, post_message_activity, delete_activity | トークン |
post_thread, post_thread_comment, delete_thread, delete_thread_comment | トークン |
get_authorized_user, toggle_follow_user, update_user | トークン |
get_notifications | トークン |
login_anilist, submit_anilist_redirect | ログイン |
token は AniList へのログインが必要です(login_anilist を一度実行してください)。ログインしていないと、一部の none ツールでも次のフィルターを使うとエラーになります。search_media/get_character/get_staff/get_studio の onList、search_activity の isFollowing、get_recommendations_for_media の excludeInList です。
プロンプト
クライアントがワンクリックのフローとして提示できる、再利用可能な複数ステップのプランです。
recommend_similar、seasonal_overview、hidden_gems、catch_up_activity、
check_notifications。
インストール
npx とソースからのインストールは、独自の Node.js 上で実行されます。Node.js は ≥ 22.18 である必要があります。
.mcpb バンドルとして(ワンクリック、例:Claude Desktop)
anilist-mcp-server.mcpb(常に最新リリース)をダウンロードし、お使いの MCP クライアントで開きます。任意の AniList クライアント ID と クライアントシークレット の入力を求められます。これらを設定し、login_anilist ツールを実行すると、個人リスト/ソーシャルツールを有効にできます(AniList アカウントを接続するを参照)。空欄のままにすると、認証情報不要の読み取りツールのみを利用できます。
npx 経由(インストール不要)
npm では anilist-mcp-server として公開されています。クライアントの MCP 設定に追加してください(Claude Desktop/Code、Cursor、VS Code、Cline など)。
{
"mcpServers": {
"anilist": {
"command": "npx",
"args": ["-y", "anilist-mcp-server"],
"env": {
"ANILIST_CLIENT_ID": "...",
"ANILIST_CLIENT_SECRET": "..."
}
}
}
}
または、Claude Code CLI を使用します。
claude mcp add anilist -e ANILIST_CLIENT_ID=... -e ANILIST_CLIENT_SECRET=... -- npx -y anilist-mcp-server
ソースからビルドする
git clone https://github.com/Grinv/anilist-mcp-server
cd anilist-mcp-server
npm ci
npm run build
これにより、自己完結型の dist/index.js が生成されます。上記と同じ方法でクライアントを指定し、"command": "npx", "args": ["-y", "anilist-mcp-server"] を "command": "node", "args": ["/absolute/path/to/anilist-mcp-server/dist/index.js"] に置き換えます(CLI 形式では、npx -y anilist-mcp-server を node /absolute/path/to/anilist-mcp-server/dist/index.js に置き換えます)。
(上記の両方のインストール方法で示した)env ブロックは任意です。省略すると、認証情報が不要な読み取り専用ツールのみを使用できます。個人用/変更用ツールは、ログインするまで明確なエラーを返します。
これらのツールを有効にするには、ANILIST_CLIENT_ID と ANILIST_CLIENT_SECRET を設定し、login_anilist ツールを一度実行します(ブラウザーでの認証は一度だけ必要です。トークンはその後保存され、再利用されます)。サーバーは .env ファイルを読み込まないため、この env ブロック(またはシェル環境)で設定を渡してください。ログイン手順の詳細はdocs/auth.md、ほかのクライアントについてはdocs/clients.mdをご覧ください。
AniList アカウントを接続する
検索/閲覧ツールは設定なしで使用できます。個人用/変更用ツールを使うには、アカウントを一度認証してください。所要時間は約2分です。
ステップ 1:AniList アプリを登録する(1分)。
- https://anilist.co/settings/developer にアクセスし、Create New Client をクリックします。
- 名前: 任意の名前を入力します。
- リダイレクト URL: 次の値をそのまま入力します。
(お使いのマシンでポート 8082 がすでに使用されている場合は、別のポートを選び、http://localhost:8082/callbackANILIST_OAUTH_PORTに同じ番号を設定してください。設定を参照してください。) - 保存し、Client ID と Client Secret をコピーします。
ステップ 2:認証情報をサーバーに渡す。
"env": { "ANILIST_CLIENT_ID": "...", "ANILIST_CLIENT_SECRET": "..." }
値を読み込ませるため、サーバー/クライアントを再起動します。
ステップ 3:ログインする(ワンクリック)。
アシスタントで**login_anilist**ツールを実行します(または、単に 「AniList にログインして」 と伝えます)。リンクが返されるので、そのリンクを開いて AniList にサインインし、Approve をクリックします。
- ローカルで実行している場合(Claude Desktop、または自分のマシン上の Claude Code):
Approve をクリックすると、ログインが自動的に完了します。
「AniList のプロフィールを表示して」 と伝えて確認できます(
get_authorized_user)。 - リモート/SSH/ヘッドレスホストで実行している場合: Approve をクリックした後、ブラウザーに読み込めないページが表示されますが、これは正常です。ブラウザーのアドレスバーに表示されている完全なアドレスをコピーし(
?code=…が含まれています)、submit_anilist_redirectツールに渡して処理を完了します。
以上です。トークンはローカル(~/.config/anilist-mcp-server/tokens.json、0600)に保存されます。AniList のアクセストークンは約1年間有効で、更新機能はないため、期限が切れたら login_anilist を再度実行してください。
対話型の手順を避けたい場合は? 代わりに、単独の
ANILIST_ACCESS_TOKENをあらかじめ設定してください。docs/auth.mdをご覧ください。
設定
設定はすべて環境変数で行います。すべて任意で、認証情報がなくても読み取りツールは引き続き使用できます。
| 変数 | 用途 |
|---|---|
ANILIST_CLIENT_ID | AniList アプリのクライアント ID(AniList アカウントを接続するを参照)。 |
ANILIST_CLIENT_SECRET | AniList アプリのクライアントシークレット。上記のクライアント ID と組み合わせて使用します。 |
ANILIST_ACCESS_TOKEN | 上級者向け、任意。 login_anilist を実行する代わりに、トークンを事前に指定します。docs/auth.mdを参照してください。 |
ANILIST_TOKEN_STORE | ログイントークンのディスク上の保存先を変更します(デフォルトは OS の設定フォルダー)。 |
ANILIST_OAUTH_PORT | ポート 8082 がすでに使用中の場合にのみ必要です(アカウント接続手順のステップ 1 を参照)。 |
LOG_LEVEL | サーバーのログ出力量:debug | info | warn | error | silent(デフォルトは info)。 |
チューニング(通常は不要)
| 変数 | 用途 |
|---|---|
ANILIST_MIN_INTERVAL_MS | AniList への呼び出し間隔の最小値です(デフォルトは 2100、つまり約 30 回/分です。AniList の API は現在、公式にドキュメント化された機能低下状態にあるためです。詳しくは docs/api-references.md を参照してください)。0 に設定すると、クライアント側のスロットリングを無効にします。 |
CACHE_TTL_MS | メモリ内読み取りキャッシュの TTL です(デフォルトは 300000 = 5 分です)。 |
HTTP_TIMEOUT_MS, HTTP_RETRIES | リクエストごとのタイムアウト(デフォルトは 15000)と、一時的な障害が発生した場合の再試行回数(デフォルトは 2)です。 |
ANILIST_GRAPHQL_URL, ANILIST_OAUTH_BASE_URL | 上流のベース URL を上書きします。 |
これらは MCP クライアント設定の env ブロックに指定してください(サーバーは .env ファイルを読み込みません)。認証情報の取得方法については docs/auth.md を、クライアント設定のスニペットについては docs/clients.md を参照してください。
NSFW コンテンツ
NSFW(成人向け)の結果はデフォルトではフィルタリングされません。サーバーは AniList が提供する内容をそのまま返します。search_media では省略可能な sfw パラメーターを受け付けます。成人向けエントリーを除外するには、sfw: true に設定してください。
開発
npm run build # type-check + bundle to dist/
npm test # node:test suite (mocked, offline)
npm run test:coverage
npm run lint
npm run format
npm run check:api # live health-check of the AniList GraphQL endpoint
npm run inspector # run under the MCP Inspector
実行には Node ≥ 22.18 が必要です。このサーバーが作られた理由や、開発のきっかけとなった上流のバグを回避する仕組みなど、コントリビューター/エージェント向けのガイダンスについては AGENTS.md を参照してください。
更新
新しいバージョンの通知を受け取るには、GitHub で Watch → Releases をクリックしてください。
.mcpbバンドル: リリースページから新しいanilist-mcp-server.mcpbをダウンロードし、クライアントに再インストールしてください(旧バージョンは置き換えられます)。- npx: バージョンを固定していない
npx -y anilist-mcp-serverは、次回の実行時に最新バージョンを取得します。 - ソースから:
git pull && npm ci && npm run build。
各リリースの変更内容については CHANGELOG を参照してください。
帰属表示と利用規約
これは非公式のプロジェクトであり、AniList とは提携しておらず、同社から承認も受けていません。すべてのデータは公開されている AniList GraphQL API から取得しています。個人アカウントに関する操作には、ご自身の AniList アカウントとトークンを使用します。本サービスの利用には AniList の利用規約が適用されます。
プライバシーポリシー
このサーバーはお使いのマシン上でローカルに実行され、独自のテレメトリーはありません。 個人情報を扱うツール/変更を行うツールは、指定されたトークンを使用して、実際の AniList アカウント(リスト、お気に入り、フォロー、投稿、アカウント設定)を操作します。データ収集、データの送信先、キャッシュ/トークンの保存と保持、お問い合わせ先の詳細については、PRIVACY.mdをご覧ください。
セキュリティ
このプロジェクトの関連サーバーの中で、書き込みやソーシャル機能を扱うツールの範囲が最も広く、実際の AniList アカウントでリストの変更、お気に入り、フォロー、アクティビティ、スレッド、コメントの投稿や削除を行います。変更を行うツールの全一覧、トークンの保存/取り扱い、認証情報の秘匿化、脆弱性の報告方法については、SECURITY.mdをご覧ください。
ライセンス
MIT © Grinv
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。