mcp-animenewsnetwork
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.
Install
One-click install
Claude Code
claude mcp add animenewsnetwork -- npx -y mcp-animenewsnetwork
Claude Desktop, Cursor, and any client using the standard config format
{
"mcpServers": {
"animenewsnetwork": {
"command": "npx",
"args": ["-y", "mcp-animenewsnetwork"]
}
}
}
Node 24 or later is required, and no environment variable has to be set.
With Docker
{
"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
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.
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.
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.
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.
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.
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.
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.
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
npm install
npm run build:fixtures
npm test
npm 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)
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
Claude Code
claude mcp add animenewsnetwork -- npx -y mcp-animenewsnetwork
Claude Desktop, Cursor, et tout client au format de configuration standard
{
"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
{
"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
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.
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.
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.
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é.
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.
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.
Comme bibliothèque
La couche qui lit le service est publiée seule, avec son rythme, son cache et ses erreurs, sans protocole attaché.
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
npm install
npm run build:fixtures
npm test
npm 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.