mcp-animenewsnetwork について
mcp-animenewsnetworkは、チャットクライアントをAnime News Networkのアニメ・マンガ百科事典とニュース配信に接続します。タイトル検索、詳細情報、最近の追加項目、一覧閲覧、地域別ニュースをAPIキーやアカウントなしで利用できます。
主な機能
- 01アニメ・マンガのタイトル検索
- 02作品情報とクレジットの取得
- 03新着項目や頭文字別の閲覧
- 04ニュース・レビュー配信の取得
- 05版とカテゴリによるニュース絞り込み
活用シーン
- 01タイトルからアニメやマンガの項目を検索
- 02キャスト、スタッフ、話数、読者評価の確認
- 03百科事典の最近の追加項目を確認
- 04指定した版のニュースを読む
MCP 対応
MCPサーバーは、タイトル検索、百科事典項目の取得、新着または頭文字別の閲覧、ニュース配信の取得ツールを公開します。ローカルで動作し、APIキーやアカウントは不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
4掲載時のツール一覧 · 今日に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| kind | enum | いいえ | 結果を 1 種類の kind に限定します。デフォルトでは、百科は両方を返します。anime | manga | both |
| limit | integer | いいえ | 返す行数。 |
| query | string | はい | タイトルまたはその一部。例:'cowboy bebop'。 |
詳細
mcp-animenewsnetwork
Anime News Network は1998年からアニメと マンガを取り上げています。作品そのものの百科事典を運営しており、 各作品のキャストやスタッフ、エピソード、リリース、オープニングテーマと エンディングテーマ、読者の評価を掲載しています。また、米国、英国、 オーストラリア向けにそれぞれ別の版を用意したニュース配信も行っています。
このサーバーは、チャットクライアントをその両方に接続します。百科事典で アニメやマンガを検索したり、クレジットや詳細を含む項目を読んだり、 最近追加された項目を一覧表示したり、百科事典をアルファベット順に閲覧したり、 ニュース配信を読んだりできます。API キーもアカウントも必要ありません。
インストール
ワンクリックインストール
Claude Code
claude mcp add animenewsnetwork -- npx -y mcp-animenewsnetwork
Claude Desktop、Cursor、および標準の設定形式を使用するすべてのクライアント
{
"mcpServers": {
"animenewsnetwork": {
"command": "npx",
"args": ["-y", "mcp-animenewsnetwork"]
}
}
}
Node 24 以降が必要です。環境変数を設定する必要はありません。
Docker を使用する場合
{
"mcpServers": {
"animenewsnetwork": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-animenewsnetwork:3.0.0"]
}
}
}
-i はプロトコルが流れる標準入力を開いたままにします。TTY はストリームを書き換えるため、-t は指定しません。コンテナに必要なのは
cdn.animenewsnetwork.com および www.animenewsnetwork.com へのアウトバウンド HTTPS のみです。それ以外は必要ありません。ボリュームも、ポートも、認証情報も不要です。
npm を使わないバンドル
最新リリース
から mcp-animenewsnetwork-2.0.1.mcpb をダウンロードして開きます。MCP バンドルに対応したクライアントであれば、自動的にインストールされるため、npm も設定ファイルの編集も不要です。バンドルには依存関係が含まれているため、インストール時に何も取得しません。
質問できること
- 「百科事典に『Cowboy Bebop』について何が載っていますか?」
- 「Spikeの声を担当したのは誰で、どの言語版ですか?」
- 「最近、百科事典に追加されたアニメは何ですか?」
- 「今日のアニメニュースは何ですか?」
- 「読者はそのシリーズをどのように評価しましたか?」
通常は検索から項目へと進みます。各行にはidとkindが含まれ、get_titleには両方をまとめて渡します。
ツール
| ツール | 説明 |
|---|---|
search_titles | 百科事典からタイトルでアニメやマンガを検索します。 |
get_title | 項目、そのクレジットおよび詳細を取得します。 |
list_recent | 最近追加された項目を一覧表示するか、文字別に百科事典を閲覧します。 |
get_news | ニュース配信を取得します。 |
百科事典ではアニメとマンガに別々の番号を割り当てているため、項目はidとkindを組み合わせて指定します。
search_titles
タイトルでアニメやマンガを検索します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
query | 1文字以上の文字列 | はい | タイトル、またはその一部です。 |
kind | anime、mangaまたはboth、デフォルトはboth | いいえ | 百科事典のどの分野を検索するかです。 |
limit | 1~50の整数、デフォルトは10 | いいえ | 返す行数です。 |
返される内容: idとkindを含む行。これらはget_titleにまとめて渡します。name、TV、映画、OAV、ONA、スペシャル、マンガまたは小説を示すtype、precision、公開されている原作の公開日または期間を示すvintage、およびsource_urlが含まれます。項目に値がないフィールドはnullです。
get_title
項目を1件取得します。詳細な情報はデフォルトでは返されず、指定して取得します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 1以上の整数 | はい | 百科事典のIDです。 |
kind | animeまたはmanga | はい | IDが属する検索対象です。 |
sections | basic、cast、staff、episodes、releases、related、news、reviewsの配列。デフォルトは["basic"] | いいえ | 返す情報の種類です。 |
max_chars | 200~20000の整数、デフォルトは4000 | いいえ | 返すあらすじの文字数です。 |
offset | 0以上の整数、デフォルトは0 | いいえ | あらすじの続きを取得する位置です。 |
返される内容: 検索結果の行に含まれる項目を示すtitle。要求された情報も返されるため、どの回答も引用できます。basicを要求すると、alt_titles、genres、themes、episode_count、running_time、objectionable_content、official_websites、picture_url、opening_themes、ending_themesが追加されます。
ratingsには読者のvotes、weighted_score、bayesian_scoreが含まれ、百科事典で算出されていない値はそれぞれnullになります。plot_summaryは分割して返され、total_chars、returned_chars、offset、next_offset、truncatedで説明されます。キャストの項目には、role、person、その人物が演じた言語を示すlangが含まれます。
list_recent
百科事典に最近追加された項目を一覧表示するか、頭文字で閲覧します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
kind | anime、manga、person、company、デフォルトは anime | いいえ | 一覧表示する項目です。 |
starts_with | 1文字 | いいえ | その文字で始まる項目を閲覧します。 |
limit | 整数、1~50、デフォルトは 20 | いいえ | 返す行数です。 |
offset | 整数、0以上、デフォルトは 0 | いいえ | ページング時にスキップする行数です。 |
返される内容: rows。各行には id、kind、name、type、precision、
vintage、date_added、source_url が含まれますが、レポートではこれらのいずれかが
空の場合があります。mode は、回答が recent として読み取られたか、browse として
読み取られたかを示します。starts_with を渡すと質問の内容が変わるためです。また、
next_offset を使って次のページに進めます。
get_news
ニュース配信を読み取ります。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
feed | all、news、reviews、デフォルトは all | いいえ | 読み取るフィードです。 |
edition | us、uk、au、デフォルトは us | いいえ | エディションです。 |
category | 文字列 | いいえ | このタグが付いた記事に絞り込みます。 |
limit | 整数、1~100、デフォルトは 20 | いいえ | 返す記事数です。 |
返される内容: items。各項目には title、link、summary、記事に付与されている
すべてのタグを格納した categories、およびフィードの日付を読み取れた場合は ISO
タイムスタンプ形式の published_at が含まれます。
total_available はフィードに含まれる記事数を示します。これはアーカイブのサイズでは
なく、フィードの固定件数です。
設定
すべての変数は任意です。クライアント設定の env ブロックで設定してください。
| 変数 | デフォルト値 | 説明 |
|---|---|---|
ANN_USER_AGENT | プロジェクトの識別情報 | アプリケーション名と、連絡可能な担当者の連絡先をサービスに通知します。 |
ANN_MIN_INTERVAL_MS | 1100 | リクエスト間隔です。1000~60000の範囲で指定します。 |
ANN_TIMEOUT_MS | 15000 | 1回のリクエストのタイムアウトです。1000~120000の範囲で指定します。 |
ANN_MAX_RETRIES | 3 | 一時的な障害が発生した後の再試行回数です。0~10の範囲で指定します。 |
ANN_CACHE_TTL_MS | 3600000 | 百科事典の項目をメモリに保持する時間です。0~86400000の範囲で指定します。 |
ANN_NEWS_CACHE_TTL_MS | 300000 | ニュースフィードをメモリに保持する時間です。0~86400000の範囲で指定します。 |
ANN_CACHE_MAX_ENTRIES | 200 | 一度にメモリに保持する回答数です。0~10000の範囲で指定します。 |
ANN_LOG_LEVEL | error | silent、error、info、debug のいずれかを指定します。stderr に出力されます。 |
ニュース配信は1時間に数回更新される一方、百科事典が更新される頻度は低いため、 それぞれ異なる時間保持されます。範囲外の値はデフォルト値に置き換えられ、その理由が stderr に出力されます。
エラー
すべての失敗には、6 種類のコード、メッセージ、そして役立つ場合は次の手順を示すヒントが付いています。
| コード | 発生したこと | 対処方法 |
|---|---|---|
not_found | サービスから応答がありましたが、その項目はありません。 | search_titles で ID と種類を確認してください。 |
invalid_input | リクエストを送信する前に、引数が拒否されました。 | 引数を示しているメッセージを確認してください。 |
rate_limited | サービスから、このクライアントのリクエストを減らすよう求められました。 | ヒントに示された秒数だけ待ち、同じ引数で再度呼び出してください。項目は引き続き存在します。 |
parse_failure | このクライアントが読み取れない形式で応答が届きました。 | イシュートラッカーで報告してください。 |
network_error | リクエストが完了しませんでした。 | 少し待ってから再試行してください。 |
timeout | リクエストが期限を超過しました。 | ANN_TIMEOUT_MS を増やすか、取得する行数を減らしてください。 |
ライブラリとして
サービスを読み取るレイヤーは、独自のペーシング、キャッシュ、エラーを備え、プロトコルに依存せず単独で公開されています。
import { AnnClient } from "mcp-animenewsnetwork/client";
const client = new AnnClient();
const { data, cached } = await client.getTitle("anime", 1);
console.log(data.name, cached);
各読み取りは { data, cached } を返し、6 種類のコードのいずれかを持つエラーをスローします。2 つのリクエスト間に設ける最低間隔も、ここで適用されます。
ペーシングと帰属表示
リクエストは一度に 1 つずつ送信され、間隔は最低 1.1 秒です。サーバーの設定にかかわらず、最低 1 秒の間隔が適用されます。User-Agent の末尾には必ずプロジェクトの識別情報と、連絡可能な担当者のアドレスが入ります。
すべての結果には、百科事典ページまたは記事のアドレスが付いています。百科事典とニュースは Anime News Network とその寄稿者によるものであり、サービスが利用者に求めているのは帰属表示です。
この MCP サーバーは非公式プロジェクトであり、Anime News Network とは一切関係ありません。
プライバシー
このサーバーは利用者に関する情報を収集せず、作者に何も送信しません。お使いのマシン上で動作し、cdn.animenewsnetwork.com と www.animenewsnetwork.com だけに接続します。動作中は応答をメモリ内に保持し、ディスクには何も書き込みません。PRIVACY.md には、リクエストに含まれる情報と、それを変更する設定が記載されています。
開発
npm install
npm run build:fixtures
npm test
npm run check
テストは生成されたフィクスチャに対して実行され、ネットワークリクエストは行いません。実サービス自体に対して毎晩実行されるライブテストスイート npm run test:live は、ルートごとに 1 件のリクエストを送信します。
コントリビューション
バグ、質問、アイデアはイシュートラッカーにお寄せください。プルリクエストも歓迎します。まずイシューを作成しておくと、変更内容について合意しやすくなります。CONTRIBUTING.mdをご覧ください。
ライセンス
MIT です。LICENSEをご覧ください。百科事典とニュースは Anime News Network とその寄稿者に帰属します。
mcp-animenewsnetwork(フランス語)
Anime News Networkは、1998年からアニメとマンガを取り上げています。このサイトには作品そのものの百科事典があり、各作品の出演者やクレジットされたスタッフ、エピソード、刊行物、オープニングとエンディングのテーマ曲、読者の評価を掲載しています。また、米国、英国、オーストラリア向けに別々の版を用意したニュースフィードも運営しています。
このサーバーは、会話クライアントをその両方につなぎます。百科事典でアニメやマンガを検索したり、クレジットや詳細を含む作品情報を読んだり、最近追加された作品の一覧を取得したり、頭文字別に百科事典を閲覧したり、ニュースフィードを読んだりできます。API キーもアカウントも不要です。
インストール
ワンクリックインストール
Claude Code
claude mcp add animenewsnetwork -- npx -y mcp-animenewsnetwork
Claude Desktop、Cursor、および標準設定形式に対応するすべてのクライアント
{
"mcpServers": {
"animenewsnetwork": {
"command": "npx",
"args": ["-y", "mcp-animenewsnetwork"]
}
}
}
Node 24 以降が必要です。設定する環境変数はありません。
Docker を使用する場合
{
"mcpServers": {
"animenewsnetwork": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-animenewsnetwork:3.0.0"]
}
}
}
-iはプロトコルのチャネルとなる標準入力を開いたままにし、TTY がストリームを書き換えるため、-tは省略します。コンテナに必要なのは、cdn.animenewsnetwork.comとwww.animenewsnetwork.comへの HTTPS アウトバウンドアクセスだけです。ボリューム、ポート、認証情報は必要ありません。
バンドル(npm 不要)
最新リリースからmcp-animenewsnetwork-2.0.1.mcpbをダウンロードして開いてください。MCP バンドルに対応するクライアントなら、npm も設定ファイルの変更も不要で自動的にインストールできます。バンドルには依存関係が含まれているため、インストール時にダウンロードは発生しません。
できること
- 「百科事典には Cowboy Bebop についてどんな情報がありますか?」
- 「Spike の声を担当したのは誰で、どの言語ですか?」
- 「最近、百科事典に追加されたアニメは何ですか?」
- 「今日のアニメニュースは何ですか?」
- 「読者はこのシリーズをどのように評価しましたか?」
通常は検索してから作品情報を取得します。検索結果の項目にはidとkindがあり、get_titleにはその両方を一緒に渡します。
ツール
| ツール | 機能 |
|---|---|
search_titles | 百科事典でタイトルからアニメやマンガを検索します。 |
get_title | 作品情報、クレジット、詳細を読み込みます。 |
list_recent | 最近の追加作品を一覧表示するか、頭文字別に百科事典を閲覧します。 |
get_news | ニュースフィードを読み込みます。 |
百科事典ではアニメとマンガが別々に番号付けされているため、作品情報を取得する際はidとkindを指定します。
search_titles
タイトルでアニメやマンガを検索します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
query | 1文字以上の文字列 | はい | タイトル、またはその一部です。 |
kind | anime、manga、または both、既定値は both | いいえ | 対象とする百科事典の種類です。 |
limit | 1~50の整数、既定値は 10 | いいえ | 返す行数です。 |
返される内容: id と kind を持つ行です。これらは get_title に一緒に渡します。さらに、name、TV、movie、OAV、ONA、special、manga、novel のいずれかを示す type、precision、公開されている日付または期間を表す vintage、および source_url が含まれます。項目が作品ページで空の場合は null になります。
get_title
作品ページを読み取ります。容量の大きい部分は、既定で返されるのではなく、リクエストして取得します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 1以上の整数 | はい | 百科事典上の識別子です。 |
kind | anime または manga | はい | ID が属するレジストリです。 |
sections | basic、cast、staff、episodes、releases、related、news、reviews の配列、既定値は ["basic"] | いいえ | 返す部分です。 |
max_chars | 200~20000の整数、既定値は 4000 | いいえ | 返すあらすじの長さです。 |
offset | 0以上の整数、既定値は 0 | いいえ | あらすじの取得を再開する位置です。 |
返される内容: 検索結果の行に含まれる作品ページを示す title です。どのリクエストでも返されるため、すべての回答を引用できます。basic をリクエストすると、alt_titles、genres、themes、episode_count、running_time、objectionable_content、official_websites、picture_url、opening_themes、ending_themes が追加されます。
ratings には、読者の votes、weighted_score、bayesian_score が含まれます。百科事典で計算されていない項目はそれぞれ null です。
plot_summary は分割して返され、total_chars、returned_chars、offset、next_offset、truncated で説明されます。配役のエントリには、role、person、およびその役を演じた言語 lang が示されます。
list_recent
百科事典への最近の追加項目を一覧表示するか、先頭の文字で項目を参照します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
kind | anime、manga、person または company、デフォルトは anime | いいえ | 一覧表示する項目です。 |
starts_with | 1文字 | いいえ | この文字で始まる項目を参照します。 |
limit | 整数、1~50、デフォルトは 20 | いいえ | 返す行数です。 |
offset | 整数、0以上、デフォルトは 0 | いいえ | ページネーション用にスキップする行数です。 |
返される値: id、kind、name、type、precision、vintage、
date_added、source_url を持つ rows。レポートでは各値が空になる場合が
あります。mode は、回答が recent と browse のどちらで取得されたかを示します。
starts_with を指定すると検索内容が変わり、next_offset で続きを取得できます。
get_news
ニュースフィードを読み取ります。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
feed | all、news または reviews、デフォルトは all | いいえ | 読み取るフィードです。 |
edition | us、uk または au、デフォルトは us | いいえ | 版です。 |
category | 文字列 | いいえ | このラベルが付いたトピックだけを残します。 |
limit | 整数、1~100、デフォルトは 20 | いいえ | 返すトピック数です。 |
返される値: title、link、summary、フィードがトピックに付ける各ラベルを
含む categories、およびフィードの日付を読み取れた場合は ISO タイムスタンプ形式の
published_at を持つ items です。total_available はフィードに含まれる
トピック数を示します。これはアーカイブ全体の件数ではなく、フィードの固定長です。
設定
すべての変数は省略可能です。クライアント設定の env ブロックに指定します。
| 変数 | デフォルト | 説明 |
|---|---|---|
ANN_USER_AGENT | プロジェクトの識別情報 | サービスに対してアプリケーションを識別します。担当者への連絡先も指定します。 |
ANN_MIN_INTERVAL_MS | 1100 | リクエスト間の間隔です。1000~60000 の範囲で指定します。 |
ANN_TIMEOUT_MS | 15000 | リクエストのタイムアウトです。1000~120000 の範囲で指定します。 |
ANN_MAX_RETRIES | 3 | 一時的な失敗後の再試行回数です。0~10 の範囲で指定します。 |
ANN_CACHE_TTL_MS | 3600000 | 項目をメモリに保持する期間です。0~86400000 の範囲で指定します。 |
ANN_NEWS_CACHE_TTL_MS | 300000 | フィードをメモリに保持する期間です。0~86400000 の範囲で指定します。 |
ANN_CACHE_MAX_ENTRIES | 200 | 同時にメモリに保持する応答の数です。0~10000 の範囲で指定します。 |
ANN_LOG_LEVEL | error | silent、error、info または debug。標準エラー出力に書き込みます。 |
百科事典の更新頻度は低い一方で、ニュースフィードは1時間に複数回更新されるため、 両者は異なる期間キャッシュされます。範囲外の値を指定するとデフォルト値が使われ、 その理由が標準エラー出力に書き込まれます。
エラー
各失敗には、6つのコードのいずれか、メッセージ、および必要に応じて次に行う操作のヒントが含まれます。
| コード | 発生したこと | 対処方法 |
|---|---|---|
not_found | サービスは応答しましたが、この項目はありません。 | search_titles で識別子と種類を確認してください。 |
invalid_input | リクエストを送信する前に、引数が拒否されました。 | 引数名が示されているメッセージを読んでください。 |
rate_limited | サービスがこのクライアントにリクエストを控えるよう求めています。 | 指定された秒数だけ待ち、同じ引数で再度呼び出してください。項目は引き続き利用できます。 |
parse_failure | 応答は届きましたが、ここでは読み取れない形式でした。 | インシデントトラッカーで報告してください。 |
network_error | リクエストが完了しませんでした。 | しばらくしてから再試行してください。 |
timeout | リクエストがタイムアウトしました。 | ANN_TIMEOUT_MS を増やすか、取得する行数を減らしてください。 |
ライブラリとして
サービスを読み取るレイヤーは、プロトコルに依存せず、独自のリクエスト間隔、キャッシュ、エラー処理を備えた単独のパッケージとして公開されています。
import { AnnClient } from "mcp-animenewsnetwork/client";
const client = new AnnClient();
const { data, cached } = await client.getTitle("anime", 1);
console.log(data.name, cached);
各読み取りは { data, cached } を返し、6つのコードのいずれかを持つエラーをスローします。リクエスト間の最小間隔もここで適用されます。
リクエスト間隔とクレジット表記
リクエストは1件ずつ送信され、少なくとも1.1秒の間隔が空きます。また、設定にかかわらず、1秒の最小間隔が適用されます。User-Agent の末尾には、常にプロジェクトの識別情報と連絡先が記載されています。
各結果には、百科事典または記事のページアドレスが含まれます。百科事典とニュースはAnime News Networkとその寄稿者によるものであり、クレジット表記はサービスから求められているものです。
このMCPは非公式プロジェクトであり、Anime News Networkとは関係ありません。
プライバシー
このサーバーは、ユーザーに関する情報を収集せず、作成者に何も送信しません。お使いのマシン上で動作し、cdn.animenewsnetwork.com と
www.animenewsnetwork.com にのみ接続します。応答は動作中のみメモリに保持され、ディスクには何も書き込みません。PRIVACY.mdには、リクエストに含まれる情報と、その内容を変更する設定が記載されています。
開発
npm install
npm run build:fixtures
npm test
npm run check
テストは生成されたフィクスチャを使って実行され、リクエストは送信されません。ライブテストスイートの npm run test:live は、各ルートに1件ずつリクエストを送信し、サービス自体に対して毎晩実行されます。
コントリビューション
不具合、質問、アイデアは、インシデントトラッカーにお寄せください。変更の提案も歓迎します。まずチケットを作成すると、変更内容について合意しやすくなります。CONTRIBUTING.mdをご覧ください。
ライセンス
MITです。詳細はLICENSEをご覧ください。百科事典とニュースはAnime News Networkとその寄稿者に帰属します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。