Mcp Animenewsnetwork

io.github.smeet666由 GitHub 帳號 smeet666 發布v3.0.0更新於 Nov 3, 2026

Search the Anime News Network encyclopedia and read its news wire. No API key.

概覽

AI 產生的概覽

唯讀存取 Anime News Network 的百科與新聞:搜尋動畫和漫畫、讀取含配音與製作人員的條目,並取得最新報導。

可以做什麼
  • 在百科中依標題搜尋動畫和漫畫,取得用來讀取完整條目的 id
  • 讀取單一條目,依需求選擇基本資訊、配音、製作人員、集數、發行、相關作品、新聞和評論等部分,劇情簡介分段回傳
  • 列出最近新增的動畫、漫畫、人物或公司,或依首字母瀏覽條目
  • 讀取新聞、評論和專題,可依分類以及美國、英國或澳洲版篩選
適用情境
適合讓助理回答關於動畫和漫畫作品、配音陣容、集數、主題曲和讀者評分的問題,或取得當前動畫新聞,且不需要 API 金鑰或帳號。
執行需求
透過 npx(需 Node 24 或更新版本)或 Docker 以 stdio 在本機執行,也可作為 MCP 套件包安裝。不需要 API 金鑰或帳號。需要連線至 cdn.animenewsnetwork.com 和 www.animenewsnetwork.com 的對外 HTTPS。所有環境變數皆為選用(ANN_USER_AGENT、ANN_MIN_INTERVAL_MS、ANN_TIMEOUT_MS、ANN_MAX_RETRIES、快取時長、ANN_LOG_LEVEL)。
安裝前請注意
僅供讀取:只取得公開資料,不寫入磁碟。請求只送往 Anime News Network,且間隔至少一秒。該服務要求註明其為來源並連結所引用的條目或文章,因此結果都帶有 source_url 或 link。此專案為非官方專案,與 Anime News Network 無隸屬關係。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mcp Animenewsnetwork,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-animenewsnetwork

[npm] [CI] [license] [MCP Registry] [Glama] [M8ven] [LobeHub] [Install in Cursor] [Install in VS Code]

Anime News Network has been covering anime and manga since 1998. It keeps an encyclopedia of the works themselves, with the cast and staff credited on each, the episodes, the releases, the opening and ending themes and the readers' ratings, and it runs a news wire alongside it, with separate editions for the United States, the United Kingdom and Australia.

This server connects a chat client to both. You can search the encyclopedia for an anime or a manga, read one entry with its credits and its details, list what was recently added or browse the encyclopedia alphabetically, and read the news wire. It needs no API key and no account.

Version française


Install

One-click install

[Install in Cursor] [Install in VS Code]

Claude Code

bash
claude mcp add animenewsnetwork -- npx -y mcp-animenewsnetwork

Claude Desktop, Cursor, and any client using the standard config format

json
{  "mcpServers": {    "animenewsnetwork": {      "command": "npx",      "args": ["-y", "mcp-animenewsnetwork"]    }  }}

Node 24 or later is required, and no environment variable has to be set.

With Docker

json
{  "mcpServers": {    "animenewsnetwork": {      "command": "docker",      "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-animenewsnetwork:3.0.0"]    }  }}

-i keeps stdin open, which is where the protocol travels, and -t is left out because a TTY rewrites the stream. The container needs outbound HTTPS to cdn.animenewsnetwork.com and www.animenewsnetwork.com, and nothing else: no volume, no port, no credential.

Bundle, without npm

Download mcp-animenewsnetwork-2.0.1.mcpb from the latest release and open it. A client that supports MCP bundles installs it on its own, with no npm and no configuration file to edit. The bundle carries its dependencies, so nothing is fetched at install time.

What you can ask

  • "What does the encyclopedia have on Cowboy Bebop?"
  • "Who voiced Spike, and in which languages?"
  • "What anime were added to the encyclopedia recently?"
  • "What is the anime news today?"
  • "How did readers rate that series?"

The ordinary path runs from a search to an entry: a row carries an id and a kind, and get_title takes both together.

Tools

ToolWhat it does
search_titlesFinds anime and manga by title in the encyclopedia.
get_titleReads one entry, its credits and its details.
list_recentLists what was recently added, or browses the encyclopedia by letter.
get_newsReads the news wire.

An entry is addressed by its id together with its kind, since the encyclopedia numbers anime and manga separately.

search_titles

Finds anime and manga by title.

ArgumentTypeRequiredWhat it does
querystring, at least 1 characteryesA title, or part of one.
kindanime, manga or both, default bothnoWhich part of the encyclopedia.
limitinteger, 1 to 50, default 10noRows to serve.

In return: rows carrying id and kind, which get_title takes together; name; type, reading TV, movie, OAV, ONA, special, manga or novel; precision; vintage, the original release date or range as published; and source_url. A field the entry leaves empty is null.

get_title

Reads one entry. The heavier parts are asked for rather than served by default.

ArgumentTypeRequiredWhat it does
idinteger, 1 or moreyesThe encyclopedia id.
kindanime or mangayesWhich lookup the id belongs to.
sectionsarray of basic, cast, staff, episodes, releases, related, news, reviews, default ["basic"]noWhich parts to return.
max_charsinteger, 200 to 20000, default 4000noHow much of the plot summary to serve.
offsetinteger, 0 or more, default 0noWhere to resume the plot summary.

In return: title, the entry a search row carries, which comes back whatever was asked for so that any answer can be cited. Asking for basic adds alt_titles, genres, themes, episode_count, running_time, objectionable_content, official_websites, picture_url, opening_themes and ending_themes. ratings carries the readers' votes, weighted_score and bayesian_score, each null where the encyclopedia computed none. plot_summary is served a slice at a time, described by total_chars, returned_chars, offset, next_offset and truncated. A cast entry names the role, the person and the lang they performed in.

list_recent

Lists what was recently added to the encyclopedia, or browses it by first letter.

ArgumentTypeRequiredWhat it does
kindanime, manga, person or company, default animenoWhat to list.
starts_witha single characternoBrowse the entries beginning with it.
limitinteger, 1 to 50, default 20noRows to serve.
offsetinteger, 0 or more, default 0noRows to skip, for paging.

In return: rows, each carrying id, kind, name, type, precision, vintage, date_added and source_url, any of which the report may leave empty. mode says whether the answer was read as recent or as browse, since passing starts_with changes the question being asked, and next_offset continues.

get_news

Reads the news wire.

ArgumentTypeRequiredWhat it does
feedall, news or reviews, default allnoWhich feed to read.
editionus, uk or au, default usnoWhich edition.
categorystringnoKeep the stories carrying this tag.
limitinteger, 1 to 100, default 20noStories to serve.

In return: items, each with its title, link, summary, categories holding every tag the feed carries on the story, and published_at as an ISO timestamp when the feed's date could be read. total_available counts the stories the feed held, which is a fixed feed length rather than the size of the archive.

Configuration

Every variable is optional. Set them in the env block of your client config.

VariableDefaultWhat it does
ANN_USER_AGENTthe project identityNames your application to the service, with an address where a person can be reached.
ANN_MIN_INTERVAL_MS1100Gap between two requests, from 1000 to 60000.
ANN_TIMEOUT_MS15000Deadline for one request, from 1000 to 120000.
ANN_MAX_RETRIES3Attempts after a transient failure, from 0 to 10.
ANN_CACHE_TTL_MS3600000How long an encyclopedia entry stays in memory, from 0 to 86400000.
ANN_NEWS_CACHE_TTL_MS300000How long a news feed stays in memory, from 0 to 86400000.
ANN_CACHE_MAX_ENTRIES200Answers held in memory at once, from 0 to 10000.
ANN_LOG_LEVELerrorsilent, error, info or debug, written to stderr.

The news wire publishes several times an hour where the encyclopedia changes rarely, so the two are held for different lengths of time. A value outside its range falls back to the default, and the reason is written to stderr.

Errors

Every failure carries one of six codes, a message, and where it helps a hint naming the next move.

CodeWhat happenedWhat to do
not_foundThe service answered, and holds no such entry.Check the id and the kind with search_titles.
invalid_inputThe arguments were refused before any request went out.Read the message, which names the argument.
rate_limitedThe service asked this client to slow down.Wait the number of seconds the hint names and call again with the same arguments. The entry is still there.
parse_failureThe answer arrived in a shape this client cannot read.Report it at the issue tracker.
network_errorThe request did not complete.Try again shortly.
timeoutThe request passed its deadline.Raise ANN_TIMEOUT_MS, or ask for fewer rows.

As a library

The layer reading the service is published on its own, with its pacing, its cache and its errors, and with no protocol attached.

ts
import { AnnClient } from "mcp-animenewsnetwork/client";
const client = new AnnClient();const { data, cached } = await client.getTitle("anime", 1);console.log(data.name, cached);

Each read answers { data, cached }, and throws an error carrying one of the six codes. The floor between two requests holds here as well.

Pacing and attribution

Requests go out one at a time with at least 1.1 seconds between them, and the floor of one second holds however the server is configured. The User-Agent always ends with the project identity and an address where a person can be reached.

Every result carries the address of the encyclopedia page or of the article. The encyclopedia and the news are the work of Anime News Network and its contributors, and attribution is what the service asks for in return.

This MCP server is an unofficial project, with no affiliation to Anime News Network.

Privacy

This server collects nothing about you and sends nothing to its author. It runs on your machine, contacts cdn.animenewsnetwork.com and www.animenewsnetwork.com and nothing else, holds its answers in memory while it runs, and writes nothing to disk. PRIVACY.md states what a request carries and which settings change any of it.

Development

bash
npm installnpm run build:fixturesnpm testnpm run check

Tests run against generated fixtures and make no network request. The live suite, npm run test:live, makes one request per route and runs nightly against the service itself.

Contributing

Bugs, questions and ideas belong in the issue tracker. Pull requests are welcome; opening an issue first helps agree on the shape of the change. See CONTRIBUTING.md.

License

MIT, see LICENSE. The encyclopedia and the news belong to Anime News Network and its contributors.


mcp-animenewsnetwork (français)

English version

Anime News Network couvre l'anime et le manga depuis 1998. Le site tient une encyclopédie des œuvres elles-mêmes, avec les interprètes et l'équipe créditée sur chacune, les épisodes, les parutions, les génériques de début et de fin et les notes de ses lecteurs, et il fait tourner à côté un fil d'actualité, avec des éditions distinctes pour les États-Unis, le Royaume-Uni et l'Australie.

Ce serveur relie un client de conversation aux deux. On peut chercher un anime ou un manga dans l'encyclopédie, lire une fiche avec ses crédits et ses détails, lister ce qui vient d'être ajouté ou parcourir l'encyclopédie par lettre, et lire le fil d'actualité. Aucune clé d'API, aucun compte.

Installation

Installation en un clic

[Install in Cursor] [Install in VS Code]

Claude Code

bash
claude mcp add animenewsnetwork -- npx -y mcp-animenewsnetwork

Claude Desktop, Cursor, et tout client au format de configuration standard

json
{  "mcpServers": {    "animenewsnetwork": {      "command": "npx",      "args": ["-y", "mcp-animenewsnetwork"]    }  }}

Node 24 ou plus récent est nécessaire, et aucune variable d'environnement n'est à renseigner.

Avec Docker

json
{  "mcpServers": {    "animenewsnetwork": {      "command": "docker",      "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-animenewsnetwork:3.0.0"]    }  }}

-i garde l'entrée standard ouverte, qui est le canal du protocole, et -t est omis parce qu'un TTY réécrit le flux. Le conteneur a besoin d'un accès HTTPS sortant vers cdn.animenewsnetwork.com et www.animenewsnetwork.com, et de rien d'autre : aucun volume, aucun port, aucun identifiant.

Bundle, sans npm

Téléchargez mcp-animenewsnetwork-2.0.1.mcpb depuis la dernière publication et ouvrez-le. Un client qui gère les bundles MCP l'installe seul, sans npm et sans fichier de configuration à modifier. Le bundle emporte ses dépendances, donc rien n'est téléchargé à l'installation.

Ce qu'on peut demander

  • « Qu'est-ce que l'encyclopédie a sur Cowboy Bebop ? »
  • « Qui a doublé Spike, et dans quelles langues ? »
  • « Quels animes ont été ajoutés récemment à l'encyclopédie ? »
  • « Quelle est l'actualité anime du jour ? »
  • « Comment les lecteurs ont-ils noté cette série ? »

Le chemin ordinaire va d'une recherche à une fiche : une ligne porte un id et un kind, et get_title reprend les deux ensemble.

Les outils

OutilCe qu'il fait
search_titlesTrouve des animes et des mangas par leur titre dans l'encyclopédie.
get_titleLit une fiche, ses crédits et ses détails.
list_recentListe les ajouts récents, ou parcourt l'encyclopédie par lettre.
get_newsLit le fil d'actualité.

Une fiche s'adresse par son id accompagné de son kind, l'encyclopédie numérotant les animes et les mangas séparément.

search_titles

Trouve des animes et des mangas par leur titre.

ArgumentTypeRequisCe qu'il fait
querychaîne, au moins 1 caractèreouiUn titre, ou une partie.
kindanime, manga ou both, défaut bothnonLa partie de l'encyclopédie.
limitentier, 1 à 50, défaut 10nonLignes à servir.

En retour : des lignes portant id et kind, que get_title reprend ensemble ; name ; type, valant TV, movie, OAV, ONA, special, manga ou novel ; precision ; vintage, la date ou la période de parution telle que publiée ; et source_url. Un champ que la fiche laisse vide vaut null.

get_title

Lit une fiche. Les parties lourdes se demandent au lieu d'être servies par défaut.

ArgumentTypeRequisCe qu'il fait
identier, 1 ou plusouiL'identifiant encyclopédique.
kindanime ou mangaouiLe registre dont l'id relève.
sectionstableau de basic, cast, staff, episodes, releases, related, news, reviews, défaut ["basic"]nonLes parties à rendre.
max_charsentier, 200 à 20000, défaut 4000nonLa longueur de résumé à servir.
offsetentier, 0 ou plus, défaut 0nonOù reprendre le résumé.

En retour : title, la fiche que porte une ligne de recherche, qui revient quelle que soit la demande pour que toute réponse puisse être citée. Demander basic y ajoute alt_titles, genres, themes, episode_count, running_time, objectionable_content, official_websites, picture_url, opening_themes et ending_themes. ratings porte les votes des lecteurs, le weighted_score et le bayesian_score, chacun null là où l'encyclopédie n'en a calculé aucun. plot_summary est servi par tranches, décrites par total_chars, returned_chars, offset, next_offset et truncated. Une entrée de distribution nomme le role, la person et la langue lang dans laquelle elle a joué.

list_recent

Liste les ajouts récents à l'encyclopédie, ou la parcourt par première lettre.

ArgumentTypeRequisCe qu'il fait
kindanime, manga, person ou company, défaut animenonCe qu'il faut lister.
starts_withun seul caractèrenonParcourt les fiches commençant par lui.
limitentier, 1 à 50, défaut 20nonLignes à servir.
offsetentier, 0 ou plus, défaut 0nonLignes à sauter, pour paginer.

En retour : rows, chacune portant id, kind, name, type, precision, vintage, date_added et source_url, que le rapport peut laisser vides. mode dit si la réponse a été lue en recent ou en browse, passer starts_with changeant la question posée, et next_offset poursuit.

get_news

Lit le fil d'actualité.

ArgumentTypeRequisCe qu'il fait
feedall, news ou reviews, défaut allnonLe fil à lire.
editionus, uk ou au, défaut usnonL'édition.
categorychaînenonNe garder que les sujets portant cette étiquette.
limitentier, 1 à 100, défaut 20nonSujets à servir.

En retour : items, chacun avec son title, link, summary, ses categories portant chaque étiquette que le fil pose sur le sujet, et published_at en horodatage ISO quand la date du fil a pu être lue. total_available compte les sujets que le fil contenait, ce qui est une longueur de fil fixe et non la taille des archives.

Configuration

Chaque variable est facultative. Elles se posent dans le bloc env de la configuration du client.

VariableDéfautCe qu'elle fait
ANN_USER_AGENTl'identité du projetNomme votre application auprès du service, avec une adresse où joindre une personne.
ANN_MIN_INTERVAL_MS1100Écart entre deux requêtes, de 1000 à 60000.
ANN_TIMEOUT_MS15000Délai d'une requête, de 1000 à 120000.
ANN_MAX_RETRIES3Tentatives après un échec passager, de 0 à 10.
ANN_CACHE_TTL_MS3600000Durée pendant laquelle une fiche reste en mémoire, de 0 à 86400000.
ANN_NEWS_CACHE_TTL_MS300000Durée pendant laquelle un fil reste en mémoire, de 0 à 86400000.
ANN_CACHE_MAX_ENTRIES200Réponses gardées en mémoire à la fois, de 0 à 10000.
ANN_LOG_LEVELerrorsilent, error, info ou debug, écrit sur la sortie d'erreur.

Le fil d'actualité publie plusieurs fois par heure là où l'encyclopédie change rarement, donc les deux sont gardés des durées différentes. Une valeur hors de sa plage retombe sur le défaut, et la raison est écrite sur la sortie d'erreur.

Erreurs

Chaque échec porte un des six codes, un message, et quand cela aide une indication du geste suivant.

CodeCe qui s'est passéQue faire
not_foundLe service a répondu, et n'a pas cette fiche.Vérifiez l'identifiant et le type avec search_titles.
invalid_inputLes arguments ont été refusés avant toute requête.Lisez le message, qui nomme l'argument.
rate_limitedLe service demande à ce client de ralentir.Attendez les secondes indiquées et rappelez avec les mêmes arguments. La fiche est toujours là.
parse_failureLa réponse est arrivée dans une forme illisible ici.Signalez-le sur le suivi d'incidents.
network_errorLa requête n'a pas abouti.Réessayez sous peu.
timeoutLa requête a dépassé son délai.Augmentez ANN_TIMEOUT_MS, ou demandez moins de lignes.

Comme bibliothèque

La couche qui lit le service est publiée seule, avec son rythme, son cache et ses erreurs, sans protocole attaché.

ts
import { AnnClient } from "mcp-animenewsnetwork/client";
const client = new AnnClient();const { data, cached } = await client.getTitle("anime", 1);console.log(data.name, cached);

Chaque lecture répond { data, cached }, et lève une erreur portant un des six codes. Le plancher entre deux requêtes tient également ici.

Rythme et attribution

Les requêtes partent une à une avec au moins 1,1 seconde entre elles, et le plancher d'une seconde tient quelle que soit la configuration. Le User-Agent se termine toujours par l'identité du projet et une adresse où joindre une personne.

Chaque résultat porte l'adresse de la page encyclopédique ou de l'article. L'encyclopédie et l'actualité sont l'œuvre d'Anime News Network et de ses contributeurs, et l'attribution est ce que le service demande en retour.

Ce MCP est un projet non officiel, sans affiliation à Anime News Network.

Confidentialité

Ce serveur ne collecte rien sur vous et n'envoie rien à son auteur. Il tourne sur votre machine, ne joint que cdn.animenewsnetwork.com et www.animenewsnetwork.com, garde ses réponses en mémoire le temps qu'il tourne, et n'écrit rien sur le disque. PRIVACY.md dit ce qu'une requête emporte et quels réglages changent cela.

Développement

bash
npm installnpm run build:fixturesnpm testnpm run check

Les tests s'exécutent sur des fixtures engendrées et n'émettent aucune requête. La suite en direct, npm run test:live, émet une requête par route et tourne chaque nuit contre le service lui-même.

Contribuer

Les anomalies, les questions et les idées ont leur place dans le suivi d'incidents. Les propositions de modification sont bienvenues ; ouvrir un ticket d'abord aide à s'accorder sur la forme du changement. Voir CONTRIBUTING.md.

Licence

MIT, voir LICENSE. L'encyclopédie et l'actualité appartiennent à Anime News Network et à ses contributeurs.

來源:README.md,提交 49847b6

工具

4

search_titles

Search the encyclopedia

Search the Anime News Network encyclopedia for anime and manga by title. Returns one compact row per match: id, kind, type, name, precision and vintage. Use the id and kind with get_title to read the full entry. Matching is on substring, so a short query returns a lot: narrow the query rather than raising 'limit'. This searches titles only. It cannot find an entry from a plot detail, a character or a studio.

輸入參數kindlimitquery必填

get_title

Read an encyclopedia entry

Read one Anime News Network encyclopedia entry by id. Get the id and kind from search_titles first. Sections are opt-in because a full record is very large: ask only for what you need. The entry's name, kind, id and link come back whatever you ask for, so any answer can be cited. 'basic' covers type, vintage, genres, themes, episode count, ratings and the plot summary. Long plot summaries are paginated: when 'truncated' is true, call again with 'offset' set to 'next_offset'.

輸入參數id必填kind必填offsetsectionsmax_chars

list_recent

List recent or browse alphabetically

List what was added to the Anime News Network encyclopedia most recently: anime, manga, people or companies. Pass 'starts_with' to browse titles alphabetically instead, which only applies to anime and manga. Rows carry an id you can pass to get_title when the kind is anime or manga. This walks the catalogue in order: use search_titles when you know the title you are after.

輸入參數kindlimitoffsetstarts_with

get_news

Read the news wire

Read the latest Anime News Network stories from their RSS feeds. 'all' mixes news, reviews and features; 'news' and 'reviews' are the narrower feeds. Filter with 'category' to keep only stories the feed tags a given way, such as Manga or Anime. The feed is the whole window available: there is no way to reach older stories through this tool. When you repeat a story, cite Anime News Network and link the article.

輸入參數feedlimiteditioncategory

版本歷史

2
  1. v3.0.0最新Oct 29, 2026
  2. v2.0.1Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分