mcpField
Y
yuna0x0-anilist-mcp

yuna0x0-anilist-mcp

リモート
github.com/yuna0x0ゲーム・エンタメ9215 週間前に更新
リポジトリ

yuna0x0-anilist-mcp について

AniList MCP サーバーは、AniList API を通じてアニメ、マンガ、キャラクター、スタッフ、ユーザーのデータに LLM クライアントからアクセスできるようにします。STDIO と HTTP の両方のトランスポートに対応し、任意のトークンでログインが必要な操作を利用できます。

主な機能

  1. 01アニメ、マンガ、キャラクター、スタッフ、スタジオの検索
  2. 02作品や人物の詳細情報の取得
  3. 03ユーザーのプロフィール、リスト、アクティビティの読み取り
  4. 04STDIO と HTTP トランスポートの対応
  5. 05認証が必要な操作向けの任意トークン

活用シーン

  1. 01特定のタイトルに似たアニメを探す
  2. 02キャラクターやスタッフの詳細を調べる
  3. 03スタジオの代表作を一覧する

MCP 対応

MCP サーバーとして、検索、リスト、アクティビティ、ユーザー、お気に入りなどの操作をツールとして MCP クライアントに公開します。ログインが必要な操作は、環境変数 ANILIST_TOKEN または HTTP ヘッダー Anilist-Token でトークンを受け取ります。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://server.smithery.ai/@yuna0x0/anilist-mcp/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://server.smithery.ai/@yuna0x0/anilist-mcp/mcp認証が必要

ツール

詳細

AniList MCP サーバー

AniList API と連携する Model Context Protocol(MCP)サーバーです。LLM クライアントが AniList のアニメ、マンガ、キャラクター、スタッフ、ユーザーデータにアクセスし、操作できるようにします。

機能

  • アニメ、マンガ、キャラクター、スタッフ、スタジオを検索
  • 特定のアニメ、マンガ、キャラクター、スタッフメンバーの詳細情報を取得
  • ユーザープロフィールとリストにアクセス
  • 高度なフィルターオプションに対応
  • ジャンルとメディアタグを取得
  • デュアルトランスポート対応:HTTP と STDIO の両方のトランスポートに対応
  • クラウドデプロイ対応:Smithery などのプラットフォームに対応

要件

  • Node.js 18+

ローカルインストール(STDIO トランスポート)

  1. このサーバーを mcp.json / claude_desktop_config.json に追加します:
{
  "mcpServers": {
    "anilist": {
      "command": "npx",
      "args": ["-y", "anilist-mcp"],
      "env": {
        "ANILIST_TOKEN": "your_api_token"
      }
    }
  }
}

ログインが必要な操作で AniList トークンを使用する予定がない場合は、env オブジェクト全体を削除してもかまいません。

  1. MCP クライアント(例:Claude Desktop)を再起動します
  2. ツールを使用して AniList とやり取りします

サーバーのデプロイ(HTTP トランスポート)

セルフホスティング

ローカル開発の手順に従ってプロジェクトをローカルにセットアップし、次を実行します:

pnpm run start:http

これにより、サーバーがデフォルトでポート 8081 で起動します。PORT 環境変数を設定すると、ポートを変更できます。

クラウドデプロイ

Node.js サーバーアプリケーションに対応する任意のクラウドプラットフォームに、この MCP サーバーをデプロイできます。

Smithery などの MCP プラットフォーム経由でデプロイすることもできます。

設定

環境変数(STDIO トランスポート、およびホスト側が設定を提供する HTTP トランスポートサーバー)

STDIO トランスポートの使用時、または HTTP トランスポートサーバーのホスティング時は、環境変数を使って設定を渡すことができます:

  • ANILIST_TOKEN:(任意)AniList API トークン(ログインが必要な操作でのみ必要)

注意

トークンを事前設定して HTTP トランスポートサーバーをホスティングする場合は、エンドポイントを保護し、ユーザーがアクセスできるようにする前に認証を実装してください。そうしないと、誰でもあなたの AniList トークンを使用して MCP サーバーにアクセスできてしまいます。

HTTP ヘッダー(ユーザーが設定を提供する HTTP トランスポート)

HTTP トランスポートの使用時は、ユーザーが HTTP ヘッダーを使って設定を渡すことができます:

  • Anilist-Token:(任意)AniList API トークン(ログインが必要な操作でのみ必要)

ユーザーがヘッダーでトークンを渡し、サーバーにも ANILIST_TOKEN が設定されている場合は、ヘッダーの値が優先されます。

AniList API トークンの取得(任意)

API トークンを取得するには、次の手順に従います:

  1. AniList の設定に移動します。
  2. 「Create New Client」をクリックします。
  3. クライアントの「Redirect URL」として次の URL を使用します:
https://anilist.co/api/v2/oauth/pin
  1. 「Save」をクリックします
  2. https://anilist.co/api/v2/oauth/authorize?client_id={clientID}&response_type=token に移動し、{clientID} を取得したクライアント ID に置き換えます。ログインを求められた後、使用するトークンが表示されます。
  3. 生成されたトークンをコピーし、.env ファイルまたは環境変数で使用します。

利用可能なツール

その他のツール
  • get_genres:AniList で利用可能なすべてのジャンルを取得
  • get_media_tags:AniList で利用可能なすべてのメディアタグを取得
  • get_site_statistics:過去 7 日間の AniList サイト統計を取得
  • get_studio:AniList ID または名前でスタジオの情報を取得
  • favourite_studio:[ログインが必要] ID でスタジオをお気に入りに追加、またはお気に入りから削除
アクティビティツール
  • delete_activity:[ログインが必要] 現在認証されているユーザーのアクティビティ投稿を削除
  • get_activity:ID で特定の AniList アクティビティを取得
  • get_user_activity:ユーザーのアクティビティを取得
  • post_message_activity:[ログインが必要] 新しいメッセージアクティビティを投稿、または既存のものを更新
  • post_text_activity:[ログインが必要] 新しいテキストアクティビティを投稿、または既存のものを更新
ツール一覧
  • get_user_anime_list: ユーザーのアニメ一覧を取得します
  • get_user_manga_list: ユーザーのマンガ一覧を取得します
  • add_list_entry: [Requires Login] 認証済みユーザーの一覧に項目を追加します
  • remove_list_entry: [Requires Login] 認証済みユーザーの一覧から項目を削除します
  • update_list_entry: [Requires Login] 認証済みユーザーの一覧の項目を更新します
メディアツール
  • get_anime: AniList ID を指定して、アニメの詳細情報を取得します
  • get_manga: AniList ID を指定して、マンガの詳細情報を取得します
  • favourite_anime: [Requires Login] ID を指定して、アニメをお気に入りに追加または削除します
  • favourite_manga: [Requires Login] ID を指定して、マンガをお気に入りに追加または削除します
人物ツール
  • get_character: AniList ID を指定して、キャラクターの情報を取得します
  • get_staff: AniList ID を指定して、スタッフの情報を取得します
  • favourite_character: [Requires Login] ID を指定して、キャラクターをお気に入りに追加または削除します
  • favourite_staff: [Requires Login] ID を指定して、スタッフをお気に入りに追加または削除します
  • get_todays_birthday_characters: 今日が誕生日のキャラクターをすべて取得します
  • get_todays_birthday_staff: 今日が誕生日のスタッフをすべて取得します
おすすめツール
  • get_recommendation: ID を指定して、AniList のおすすめを取得します
  • get_recommendations_for_media: 指定したメディアに対する AniList のおすすめを取得します
検索ツール
  • search_activity: AniList のアクティビティを検索します
  • search_anime: 検索語句とフィルターを指定してアニメを検索します
  • search_manga: 検索語句とフィルターを指定してマンガを検索します
  • search_character: 検索語句に基づいてキャラクターを検索します
  • search_staff: 検索語句に基づいてスタッフを検索します
  • search_studio: 検索語句に基づいてスタジオを検索します
  • search_user: AniList のユーザーを検索します
スレッドツール
  • get_thread: AniList ID を指定して、スレッドを取得します
  • get_thread_comments: 指定したスレッドのコメントを取得します
  • delete_thread: [Requires Login] ID を指定して、スレッドを削除します
ユーザーツール
  • get_user_profile: ユーザーの AniList プロフィールを取得します
  • get_user_stats: ユーザーの AniList 統計情報を取得します
  • get_full_user_info: ユーザーのプロフィールと統計情報をすべて取得します
  • get_user_recent_activity: ユーザーの最近のアクティビティを取得します
  • get_authorized_user: [Requires Login] 現在認証されているユーザーのプロフィール情報を取得します
  • follow_user: [Requires Login] ID を指定して、ユーザーをフォローまたはフォロー解除します
  • update_user: [Requires Login] ユーザー設定を更新します

使用例

基本的なアニメ検索
Can you search for anime similar to "Bocchi the Rock!"?
キャラクター情報の取得
Can you tell me about the character Hitori Gotou? Use the AniList tools to find information.
スタジオ作品の比較
What anime has Studio Ghibli produced? Can you list their most popular works?

ローカル開発

このプロジェクトでは、パッケージマネージャーとして pnpm を使用しています。

リポジトリをクローンして、依存関係をインストールします。

git clone https://github.com/yuna0x0/anilist-mcp.git
cd anilist-mcp
pnpm install
設定(任意)
  1. サンプルをコピーして .env ファイルを作成します。
cp env.example .env
  1. .env ファイルを編集し、AniList API トークンを追加します。
ANILIST_TOKEN=your_api_token

MCP Inspector によるデバッグ

MCP Inspector を使用して、AniList MCP サーバーをテストおよびデバッグできます。

npx @modelcontextprotocol/inspector -e ANILIST_TOKEN=your_api_token npx anilist-mcp

# Use this instead when Local Development
pnpm run inspector

次に、ブラウザーで指定された URL(通常は http://localhost:6274)を開き、MCP Inspector のインターフェースにアクセスします。ここから、次の操作ができます。

  1. 起動中の AniList MCP サーバーに接続する
  2. 利用可能なツールを確認する
  3. カスタムパラメーターを指定してツールを実行する
  4. 応答を確認する

Claude Desktop などの MCP クライアントに接続する前に、セットアップをテストする際に特に便利です。

Docker

GitHub Container Registry からプルします。

docker pull ghcr.io/yuna0x0/anilist-mcp

Docker ビルド(ローカル開発):

docker build -t ghcr.io/yuna0x0/anilist-mcp .

Docker マルチプラットフォームビルド(ローカル開発):

docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/yuna0x0/anilist-mcp .

MCP バンドル(MCPB)

このサーバー用の MCP バンドルを作成するには、次のコマンドを実行します。

pnpm run pack:mcpb

セキュリティに関する注意

この MCP サーバーは、.env ファイル、環境変数、または HTTP ヘッダーで AniList API トークンを受け取ります。この情報を安全に保管し、バージョン管理に絶対にコミットしないでください。

ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細については、LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。