Anime News Network

Busca en la enciclopedia de Anime News Network y lee su servicio de noticias. Sin clave de API.

Documentación

mcp-animenewsnetwork

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

Anime News Network cubre el anime y el manga desde 1998. Mantiene una enciclopedia de las obras en sí, con el reparto y el personal acreditado en cada una, los episodios, los lanzamientos, los temas de apertura y cierre y las calificaciones de los lectores, y junto a ella publica un servicio de noticias, con ediciones separadas para Estados Unidos, el Reino Unido y Australia.

Este servidor conecta un cliente de chat con ambas cosas. Puedes buscar en la enciclopedia un anime o un manga, leer una entrada con sus créditos y sus detalles, listar lo que se añadió recientemente u hojear la enciclopedia alfabéticamente, y leer el servicio de noticias. No necesita clave de API ni cuenta.

Versión francesa


Instalación

Instalación en un clic

Install in Cursor Install in VS Code

Claude Code

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

Claude Desktop, Cursor y cualquier cliente que use el formato de configuración estándar

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

Se requiere Node 24 o posterior, y no hay que establecer ninguna variable de entorno.

Con Docker

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

-i mantiene stdin abierto, que es por donde viaja el protocolo, y -t se omite porque una TTY reescribe el flujo. El contenedor necesita HTTPS saliente hacia cdn.animenewsnetwork.com y www.animenewsnetwork.com, y nada más: sin volumen, sin puerto, sin credencial.

Paquete, sin npm

Descarga mcp-animenewsnetwork-2.0.1.mcpb desde la última versión y ábrelo. Un cliente que admita paquetes MCP lo instala por su cuenta, sin npm y sin archivo de configuración que editar. El paquete lleva sus dependencias, así que no se descarga nada en el momento de la instalación.

Lo que puedes preguntar

  • "¿Qué tiene la enciclopedia sobre Cowboy Bebop?"
  • "¿Quién puso voz a Spike, y en qué idiomas?"
  • "¿Qué animes se añadieron a la enciclopedia recientemente?"
  • "¿Cuál es la noticia de anime de hoy?"
  • "¿Cómo calificaron los lectores esa serie?"

El camino habitual va de una búsqueda a una entrada: una fila lleva un id y un kind, y get_title toma ambos juntos.

Herramientas

HerramientaQué hace
search_titlesEncuentra anime y manga por título en la enciclopedia.
get_titleLee una entrada, sus créditos y sus detalles.
list_recentLista lo añadido recientemente, u hojea la enciclopedia por letra.
get_newsLee el servicio de noticias.

Una entrada se identifica por su id junto con su kind, ya que la enciclopedia numera anime y manga por separado.

search_titles

Encuentra anime y manga por título.

ArgumentoTipoObligatorioQué hace
querycadena, al menos 1 carácterUn título, o parte de uno.
kindanime, manga o both, por defecto bothnoQué parte de la enciclopedia.
limitentero, de 1 a 50, por defecto 10noFilas a servir.

A cambio: filas que llevan id y kind, que get_title toma juntos; name; type, que lee TV, película, OAV, ONA, especial, manga o novela; precision; vintage, la fecha o el rango de estreno original tal como se publicó; y source_url. Un campo que la entrada deja vacío es null.

get_title

Lee una entrada. Las partes más pesadas se piden en lugar de servirse por defecto.

ArgumentoTipoObligatorioQué hace
identero, 1 o másEl id de la enciclopedia.
kindanime o mangaA qué búsqueda pertenece el id.
sectionsmatriz de basic, cast, staff, episodes, releases, related, news, reviews, por defecto ["basic"]noQué partes devolver.
max_charsentero, de 200 a 20000, por defecto 4000noCuánto del resumen de la trama servir.
offsetentero, 0 o más, por defecto 0noDónde reanudar el resumen de la trama.

A cambio: title, la entrada que lleva una fila de búsqueda, que vuelve sin importar lo que se pidió para que cualquier respuesta pueda citarse. Pedir basic añade alt_titles, genres, themes, episode_count, running_time, objectionable_content, official_websites, picture_url, opening_themes y ending_themes. ratings lleva las votes de los lectores, weighted_score y bayesian_score, cada null donde la enciclopedia no calculó ninguna. plot_summary se sirve en trozos, descritos por total_chars, returned_chars, offset, next_offset y truncated. Una entrada de reparto nombra al role, al person y al lang en el que actuaron.

list_recent

Lista lo añadido recientemente a la enciclopedia, u hojea por primera letra.

ArgumentoTipoObligatorioQué hace
kindanime, manga, person o company, por defecto animenoQué listar.
starts_withun solo carácternoHojea las entradas que empiezan por él.
limitentero, de 1 a 50, por defecto 20noFilas a servir.
offsetentero, 0 o más, por defecto 0noFilas a omitir, para paginar.

A cambio: rows, cada una con id, kind, name, type, precision, vintage, date_added y source_url, cualquiera de las cuales el informe puede dejar vacías. mode indica si la respuesta se leyó como recent o como browse, ya que pasar starts_with cambia la pregunta que se hace, y next_offset continúa.

get_news

Lee el servicio de noticias.

ArgumentoTipoObligatorioQué hace
feedall, news o reviews, por defecto allnoQué fuente leer.
editionus, uk o au, por defecto usnoQué edición.
categorycadenanoConserva las historias que llevan esta etiqueta.
limitentero, de 1 a 100, por defecto 20noHistorias a servir.

A cambio: items, cada una con su title, link, summary, categories que contiene cada etiqueta que la fuente lleva sobre la historia, y published_at como una marca de tiempo ISO cuando la fecha de la fuente pudo leerse. total_available cuenta las historias que tenía la fuente, que es una longitud fija de la fuente en lugar del tamaño del archivo.

Configuración

Toda variable es opcional. Establécelas en el bloque env de la configuración de tu cliente.

VariablePor defectoQué hace
ANN_USER_AGENTla identidad del proyectoNombra tu aplicación al servicio, con una dirección donde se pueda contactar a una persona.
ANN_MIN_INTERVAL_MS1100Intervalo entre dos solicitudes, de 1000 a 60000.
ANN_TIMEOUT_MS15000Plazo para una solicitud, de 1000 a 120000.
ANN_MAX_RETRIES3Intentos tras un fallo transitorio, de 0 a 10.
ANN_CACHE_TTL_MS3600000Cuánto tiempo permanece en memoria una entrada de la enciclopedia, de 0 a 86400000.
ANN_NEWS_CACHE_TTL_MS300000Cuánto tiempo permanece en memoria una fuente de noticias, de 0 a 86400000.
ANN_CACHE_MAX_ENTRIES200Respuestas retenidas en memoria a la vez, de 0 a 10000.
ANN_LOG_LEVELerrorsilent, error, info o debug, escritos en stderr.

El servicio de noticias publica varias veces por hora, mientras que la enciclopedia cambia rara vez, así que ambas se retienen durante períodos diferentes. Un valor fuera de su rango vuelve al valor por defecto, y el motivo se escribe en stderr.

Errores

Cada fallo lleva uno de seis códigos, un mensaje y, cuando ayuda, una pista que indica el siguiente paso.

CódigoQué ocurrióQué hacer
not_foundEl servicio respondió y no tiene esa entrada.Comprueba el id y el tipo con search_titles.
invalid_inputLos argumentos fueron rechazados antes de enviar ninguna solicitud.Lee el mensaje, que nombra el argumento.
rate_limitedEl servicio pidió a este cliente que fuera más lento.Espera el número de segundos que indica la pista y vuelve a llamar con los mismos argumentos. La entrada sigue ahí.
parse_failureLa respuesta llegó en un formato que este cliente no puede leer.Repórtalo en el rastreador de problemas.
network_errorLa solicitud no se completó.Inténtalo de nuevo en breve.
timeoutLa solicitud superó su plazo.Aumenta ANN_TIMEOUT_MS, o pide menos filas.

Como biblioteca

La capa que lee el servicio se publica por separado, con su ritmo, su caché y sus errores, y sin protocolo adjunto.

import { AnnClient } from "mcp-animenewsnetwork/client";

const client = new AnnClient();
const { data, cached } = await client.getTitle("anime", 1);
console.log(data.name, cached);

Cada lectura responde con { data, cached }, y lanza un error con uno de los seis códigos. El intervalo entre dos solicitudes también se mantiene aquí.

Ritmo y atribución

Las solicitudes salen de una en una con al menos 1,1 segundos entre ellas, y el mínimo de un segundo se mantiene sin importar cómo esté configurado el servidor. El User-Agent siempre termina con la identidad del proyecto y una dirección donde se puede contactar a una persona.

Cada resultado lleva la dirección de la página de la enciclopedia o del artículo. La enciclopedia y las noticias son obra de Anime News Network y sus colaboradores, y la atribución es lo que el servicio pide a cambio.

Este servidor MCP es un proyecto no oficial, sin afiliación con Anime News Network.

Privacidad

Este servidor no recopila nada sobre ti y no envía nada a su autor. Se ejecuta en tu máquina, contacta a cdn.animenewsnetwork.com y www.animenewsnetwork.com y nada más, guarda sus respuestas en memoria mientras se ejecuta y no escribe nada en el disco. PRIVACY.md indica qué lleva una solicitud y qué ajustes cambian algo de eso.

Desarrollo

npm install
npm run build:fixtures
npm test
npm run check

Las pruebas se ejecutan contra datos generados y no hacen ninguna solicitud de red. La suite en vivo, npm run test:live, hace una solicitud por ruta y se ejecuta cada noche contra el propio servicio.

Contribuciones

Los errores, preguntas e ideas van en el rastreador de problemas. Las solicitudes de extracción son bienvenidas; abrir un problema primero ayuda a acordar la forma del cambio. Consulta CONTRIBUTING.md.

Licencia

MIT, ver LICENSE. La enciclopedia y las noticias pertenecen a Anime News Network y sus colaboradores.


mcp-animenewsnetwork (francés)

Versión en inglés

Anime News Network cubre el anime y el manga desde 1998. El sitio mantiene una enciclopedia de las obras en sí, con los intérpretes y el equipo acreditado en cada una, los episodios, las publicaciones, los créditos de apertura y cierre y las calificaciones de sus lectores, y además tiene un feed de noticias, con ediciones separadas para Estados Unidos, el Reino Unido y Australia.

Este servidor conecta un cliente de conversación con ambos. Se puede buscar un anime o un manga en la enciclopedia, leer una ficha con sus créditos y detalles, listar lo que se acaba de agregar o recorrer la enciclopedia por letra, y leer el feed de noticias. Sin clave de API, sin cuenta.

Instalación

Instalación en un clic

Install in Cursor Install in VS Code

Claude Code

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

Claude Desktop, Cursor y cualquier cliente con formato de configuración estándar

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

Se requiere Node 24 o más reciente, y no hay que configurar ninguna variable de entorno.

Con Docker

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

-i mantiene abierta la entrada estándar, que es el canal del protocolo, y -t se omite porque un TTY reescribe el flujo. El contenedor necesita acceso HTTPS saliente a cdn.animenewsnetwork.com y www.animenewsnetwork.com, y nada más: sin volúmenes, sin puertos, sin identificadores.

Paquete, sin npm

Descarga mcp-animenewsnetwork-2.0.1.mcpb desde la última publicación y ábrelo. Un cliente que gestione paquetes MCP lo instala solo, sin npm y sin modificar ningún archivo de configuración. El paquete incluye sus dependencias, así que no se descarga nada durante la instalación.

Lo que se puede pedir

  • «¿Qué tiene la enciclopedia sobre Cowboy Bebop?»
  • «¿Quién dobló a Spike, y en qué idiomas?»
  • «¿Qué animes se han agregado recientemente a la enciclopedia?»
  • «¿Cuál es la noticia de anime del día?»
  • «¿Cómo calificaron los lectores esta serie?»

El camino habitual va de una búsqueda a una ficha: una línea lleva un id y un kind, y get_title retoma ambos juntos.

Las herramientas

HerramientaLo que hace
search_titlesEncuentra animes y mangas por su título en la enciclopedia.
get_titleLee una ficha, sus créditos y detalles.
list_recentLista los agregados recientes, o recorre la enciclopedia por letra.
get_newsLee el feed de noticias.

Una ficha se identifica por su id junto con su kind, ya que la enciclopedia numera los animes y los mangas por separado.

search_titles

Encuentra animes y mangas por su título.

ArgumentoTipoRequeridoLo que hace
querycadena, al menos 1 carácterUn título, o una parte.
kindanime, manga o both, por defecto bothnoLa parte de la enciclopedia.
limitentero, 1 a 50, por defecto 10noLíneas a servir.

En respuesta: líneas que llevan id y kind, que get_title retoma juntas ; name ; type, con valor TV, movie, OAV, ONA, special, manga o novel ; precision ; vintage, la fecha o el período de publicación tal como se publicó ; y source_url. Un campo que la ficha deja vacío vale null.

get_title

Lee una ficha. Las partes pesadas se piden en lugar de servirse por defecto.

ArgumentoTipoRequeridoLo que hace
identero, 1 o másEl identificador enciclopédico.
kindanime o mangaEl registro al que pertenece el id.
sectionsmatriz de basic, cast, staff, episodes, releases, related, news, reviews, por defecto ["basic"]noLas partes a devolver.
max_charsentero, 200 a 20000, por defecto 4000noLa longitud del resumen a servir.
offsetentero, 0 o más, por defecto 0noDónde retomar el resumen.

En respuesta: title, la ficha que lleva una línea de búsqueda, que vuelve sin importar la solicitud para que cualquier respuesta pueda citarse. Pedir basic agrega alt_titles, genres, themes, episode_count, running_time, objectionable_content, official_websites, picture_url, opening_themes y ending_themes. ratings lleva los votes de los lectores, el weighted_score y el bayesian_score, cada uno null donde la enciclopedia no ha calculado ninguno. plot_summary se sirve por tramos, descritos por total_chars, returned_chars, offset, next_offset y truncated. Una entrada de distribución nombra al role, la person y el idioma lang en el que actuó.

list_recent

Lista los agregados recientes a la enciclopedia, o la recorre por primera letra.

ArgumentoTipoRequeridoLo que hace
kindanime, manga, person o company, por defecto animenoLo que hay que listar.
starts_withun solo carácternoRecorre las fichas que empiezan con él.
limitentero, 1 a 50, por defecto 20noLíneas a servir.
offsetentero, 0 o más, por defecto 0noLíneas a saltar, para paginar.

En respuesta: rows, cada una con id, kind, name, type, precision, vintage, date_added y source_url, que el informe puede dejar vacías. mode dice si la respuesta se leyó en recent o en browse, pasar starts_with cambia la pregunta planteada, y next_offset continúa.

get_news

Lee el feed de noticias.

ArgumentoTipoRequeridoLo que hace
feedall, news o reviews, por defecto allnoEl feed a leer.
editionus, uk o au, por defecto usnoLa edición.
categorycadenanoConservar solo los temas con esta etiqueta.
limitentero, 1 a 100, por defecto 20noTemas a servir.
En retorno: items, cada uno con su title, link, summary, sus
categories portando cada etiqueta que el hilo aplica al tema, y
published_at en marca de tiempo ISO cuando la fecha del hilo pudo leerse.
total_available cuenta los temas que contenía el hilo, lo cual es una longitud
de hilo fija y no el tamaño de los archivos.

Configuración

Cada variable es opcional. Se colocan en el bloque env de la configuración del cliente.

VariablePredeterminadoQué hace
ANN_USER_AGENTla identidad del proyectoNombra tu aplicación ante el servicio, con una dirección donde contactar a una persona.
ANN_MIN_INTERVAL_MS1100Intervalo entre dos solicitudes, de 1000 a 60000.
ANN_TIMEOUT_MS15000Tiempo de espera de una solicitud, de 1000 a 120000.
ANN_MAX_RETRIES3Intentos después de un fallo temporal, de 0 a 10.
ANN_CACHE_TTL_MS3600000Duración durante la cual una ficha permanece en memoria, de 0 a 86400000.
ANN_NEWS_CACHE_TTL_MS300000Duración durante la cual un hilo permanece en memoria, de 0 a 86400000.
ANN_CACHE_MAX_ENTRIES200Respuestas guardadas en memoria a la vez, de 0 a 10000.
ANN_LOG_LEVELerrorsilent, error, info o debug, escrito en la salida de error.

El hilo de noticias publica varias veces por hora donde la enciclopedia cambia raramente, por lo que ambos se guardan con duraciones diferentes. Un valor fuera de su rango cae al predeterminado, y la razón se escribe en la salida de error.

Errores

Cada fallo lleva uno de los seis códigos, un mensaje, y cuando ayuda una indicación del siguiente paso.

CódigoLo que sucedióQué hacer
not_foundEl servicio respondió y no tiene esta ficha.Verifica el identificador y el tipo con search_titles.
invalid_inputLos argumentos fueron rechazados antes de cualquier solicitud.Lee el mensaje, que nombra el argumento.
rate_limitedEl servicio pide a este cliente que reduzca la velocidad.Espera los segundos indicados y vuelve a llamar con los mismos argumentos. La ficha sigue ahí.
parse_failureLa respuesta llegó en una forma ilegible aquí.Repórtalo en el seguimiento de incidencias.
network_errorLa solicitud no se completó.Reintenta en breve.
timeoutLa solicitud superó su tiempo de espera.Aumenta ANN_TIMEOUT_MS, o pide menos líneas.

Como biblioteca

La capa que lee el servicio se publica sola, con su ritmo, su caché y sus errores, sin protocolo adjunto.

import { AnnClient } from "mcp-animenewsnetwork/client";

const client = new AnnClient();
const { data, cached } = await client.getTitle("anime", 1);
console.log(data.name, cached);

Cada lectura responde { data, cached }, y lanza un error con uno de los seis códigos. El mínimo entre dos solicitudes también se aplica aquí.

Ritmo y atribución

Las solicitudes salen una a una con al menos 1,1 segundos entre ellas, y el mínimo de un segundo se mantiene sin importar la configuración. El User-Agent se termina siempre con la identidad del proyecto y una dirección donde contactar a una persona.

Cada resultado lleva la dirección de la página enciclopédica o del artículo. La enciclopedia y las noticias son obra de Anime News Network y de sus contribuyentes, y la atribución es lo que el servicio pide a cambio.

Este MCP es un proyecto no oficial, sin afiliación con Anime News Network.

Privacidad

Este servidor no recopila nada sobre ti y no envía nada a su autor. Se ejecuta en tu máquina, solo adjunta cdn.animenewsnetwork.com y www.animenewsnetwork.com, guarda sus respuestas en memoria mientras se ejecuta, y no escribe nada en el disco. PRIVACY.md dice qué lleva una solicitud y qué ajustes cambian eso.

Desarrollo

npm install
npm run build:fixtures
npm test
npm run check

Las pruebas se ejecutan sobre fixtures generados y no emiten ninguna solicitud. La suite en vivo, npm run test:live, emite una solicitud por ruta y se ejecuta cada noche contra el propio servicio.

Contribuir

Las anomalías, las preguntas y las ideas tienen su lugar en el seguimiento de incidencias. Las propuestas de modificación son bienvenidas; abrir un ticket primero ayuda a acordar la forma del cambio. Ver CONTRIBUTING.md.

Licencia

MIT, ver LICENSE. La enciclopedia y las noticias pertenecen a Anime News Network y a sus contribuyentes.