mcpField
A
animeport

animeport

ローカル
github.com/CloudCorpRecordsゲーム・エンタメ01 週間前に更新

animeport について

animeportは、AniListを検索する読み取り専用のMCPサーバー兼コマンドラインツールです。公開GraphQL APIを通じて、アニメ、マンガ、人物、ユーザーリストの主要データを取得します。

主な機能

  1. 01アニメ、マンガ、キャラクター、スタッフ、スタジオ、ユーザーの検索
  2. 02作品、キャラクター、スタッフ、スタジオの詳細取得
  3. 03ユーザープロフィール、統計、リストの表示
  4. 04今日が誕生日のキャラクターとスタッフの確認
  5. 05メディア項目のおすすめ取得

活用シーン

  1. 01タイトル、ジャンル、シーズン年でアニメを検索
  2. 02名前からキャラクターやスタッフを調査
  3. 03AniListユーザーのリストとプロフィールを確認
  4. 04作品に関連するおすすめを探す

MCP 対応

stdio経由でAniListの読み取り操作をMCPツールとして提供します。各ツールはAniListの公開APIにGraphQLクエリを送信します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-animeport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/animeport"
]
}
}
}
起動コマンドnpx -y @reneturcios/animeport

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/animeport0.1.0
ocighcr.io/cloudcorprecords/animeport:0.1.0

ツール

20

掲載時のツール一覧 · 1 週間前に更新

このツールにパラメーターはありません。

詳細

animeport

animeport は AniList を使用して、アニメやマンガに関する質問に回答します。作品のあらすじや評価、制作した人物、今日が誕生日のキャラクターやスタッフ、特定のユーザーが視聴または読んでいる作品、あるタイトルのファンが次に薦める傾向のある作品などを確認できます。回答はすべて AniList の公開 GraphQL API から取得されます。

このパッケージはクリーンルームで再構築したもので、ラベル付きのコアサブセットです。元の AniList MCP サーバー向けに記載された42個のツールのうち、20個に対応しています。省略したツールは、以下の「対象範囲」に記載されています。

サービスとの通信方法

各ツールは AniList API に POST で GraphQL クエリを1つだけ送信し、レスポンスの data ペイロードを返します。

# Optional: raises rate limits / unlocks authenticated reads on AniList.
export ANILIST_TOKEN="your token"
# Optional override (default: https://graphql.anilist.co)
export ANILIST_API_URL="https://graphql.anilist.co"

トークンは実際に省略可能です。トークンが設定されていない場合、キーなしでリクエストが送信されます。AniList はこれらの読み取りツールについてキーなしのリクエストを受け付けるため、ANILIST_TOKEN が未設定という理由だけで失敗することはありません。AniList が GraphQL の errors 配列を返した場合、呼び出しは最初のエラーのメッセージとともに失敗します。上流の HTTP エラーは、ステータスと本文の抜粋とともに報告されます。

フィールド選択に関する注記: 元のプロジェクトの README には、ツールとその目的が記載されていますが、GraphQL のフィールド選択は記載されていません。ここにあるクエリは、各ツールに示された目的に合わせて新たに妥当な形で再構築したものであり、元のクエリをコピーしたものではありません。

インストール

npx @reneturcios/animeport search_anime '{"search":"Frieren"}'

または、コンテナイメージを実行します。

docker run -i ghcr.io/cloudcorprecords/animeport

コンテナはデフォルトで MCP サーバーとして起動します。CLI として使用するには、CLI 引数を渡してください。

CLI

CLI はツールに対応しており、ツールごとに1つのサブコマンドがあり、引数は単一の JSON オブジェクトとして受け取ります。

animeport get_genres '{}'
animeport search_anime '{"search":"Frieren","perPage":5}'
animeport get_anime '{"id":154587}'
animeport get_todays_birthday_characters '{}'
animeport get_user_anime_list '{"username":"someone","status":"CURRENT"}'
animeport get_recommendations_for_media '{"mediaId":154587}'
animeport --version

終了コード:成功時は 0、API または検証エラー時は 1(エラー内容を示します)、使用方法のエラー時は 2 です。

MCP サーバー

どちらの用途にも1つの実行ファイルを使用します。mcp サブコマンドを実行すると、stdio MCP サーバーが起動します。

npx -y @reneturcios/animeport mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "animeport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/animeport", "mcp"],
      "env": { "ANILIST_TOKEN": "your token (optional)" }
    }
  }
}
ツール
ツール入力機能
get_genres—AniList で利用できるジャンルの一覧を取得します。
get_media_tags—AniList で利用できるメディアタグの一覧を取得します。
get_studioid および/または name(少なくとも一方が必要。ローカルで検証)AniList ID または名前でスタジオの詳細を取得します。
search_animesearch、page、perPage、genre、seasonYear(すべて省略可能)タイトル、ジャンル、またはシーズンの年でアニメを検索します。
search_mangasearch、page、perPage、genre、seasonYear(すべて省略可能)タイトル、ジャンル、またはシーズンの年でマンガを検索します。
search_charactersearch(必須)、page、perPage名前でキャラクターを検索します。
search_staffsearch(必須)、page、perPage名前でスタッフを検索します。
search_studiosearch(必須)、page、perPage名前でスタジオを検索します。
search_usersearch(必須)、page、perPageユーザー名で AniList ユーザーを検索します。
get_animeid(必須)AniList ID でアニメの詳細情報を取得します。
get_mangaid(必須)AniList ID でマンガの詳細情報を取得します。
get_characterid(必須)AniList ID でキャラクターの詳細情報を取得します。
get_staffid(必須)AniList ID でスタッフメンバーの詳細情報を取得します。
get_todays_birthday_characters—今日が誕生日のキャラクターを取得します。
get_todays_birthday_staff—今日が誕生日のスタッフメンバーを取得します。
get_user_anime_listusername(必須)、statusユーザーのアニメ一覧を取得します。必要に応じてステータスで絞り込めます。
get_user_manga_listusername(必須)、statusユーザーのマンガ一覧を取得します。必要に応じてステータスで絞り込めます。
get_user_profileusername(必須)ユーザーの AniList プロフィールを取得します。
get_user_statsusername(必須)ユーザーの活動統計を取得します。
get_recommendations_for_mediamediaId(必須)、page、perPageAniList ID を指定して、メディア項目のおすすめを取得します。

対象範囲

このコアサブセットには、get_site_statistics、get_activity、 get_user_activity、post_message_activity、post_text_activity、 delete_activity、add_list_entry、remove_list_entry、 update_list_entry、favourite_anime、favourite_manga、 favourite_character、favourite_staff、favourite_studio、 get_recommendation、get_thread、get_thread_comments、 delete_thread、get_full_user_info、get_authorized_user、 follow_user、update_userは含まれません。除外された機能は意図的に、 ログイン、書き込み、お気に入り、スレッドに関する機能です。animeportは 設計上、読み取り専用です。カタログデータ自体はAniListのものであり、このパッケージが 再現するのはツールの仕様とリクエスト/レスポンス処理であって、 AniListのデータベースではありません。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, fake fetch only, no network
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSEを参照してください。

コメント

MCP は初めてですか?

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

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