Metacritic

Busca películas, series y juegos en Metacritic, lee puntuaciones y reseñas de críticos. Sin clave de API.

Documentación

mcp-metacritic

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

Metacritic reúne lo que críticos y audiencias dijeron sobre películas, series de televisión y videojuegos. Cada entrada lleva el año, la clasificación por edades, los géneros y dos puntuaciones propias: el Metascore, un promedio ponderado de las reseñas profesionales, y la puntuación de usuarios, sobre diez, de las personas que se registraron para calificarlo. Debajo de cada entrada están las reseñas mismas, con la publicación que las emitió y la línea citada.

Este servidor conecta un cliente de chat con ese catálogo. Puedes buscar un título, leer su entrada con sus puntuaciones y sus detalles, explorar un catálogo por puntuación, actualidad o popularidad, y leer las reseñas de un título, filtradas por crítico o audiencia y por cuán favorables fueron. 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 metacritic -- npx -y mcp-metacritic

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

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

Se requiere Node 24 o posterior, y no es necesario establecer ninguna variable de entorno.

Con Docker

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

-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 backend.metacritic.com, y nada más: sin volumen, sin puerto, sin credencial.

Paquete, sin npm

Descarga mcp-metacritic-2.0.1.mcpb desde la última versión y ábrelo. Un cliente que admita paquetes MCP lo instala por sí solo, 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é opinaron los críticos de The Matrix?"
  • "Léeme algunas reseñas negativas de ese juego."
  • "¿Cuáles son las mejores películas de terror reseñadas?"
  • "¿Cómo se compara la puntuación de usuarios con el Metascore?"
  • "¿Qué salió recientemente que haya tenido buenas reseñas?"

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

Herramientas

HerramientaQué hace
search_titlesEncuentra películas, series y juegos por título.
get_titleLee una entrada, sus puntuaciones y sus detalles.
get_reviewsLee las reseñas de una entrada, por fuente y por sentimiento.
browse_titlesLista un catálogo por puntuación, actualidad o popularidad.

Un título se identifica por su slug junto con su kind, ya que el mismo slug puede nombrar una película y un juego.

search_titles

Encuentra películas, series y juegos por título.

ArgumentoTipoRequeridoQué hace
querycadena, al menos 1 carácterUn título, o parte de uno.
kindmovie, show, game o any, por defecto anynoQué catálogo buscar.
limitentero, 1 a 50, por defecto 10noFilas a servir.

A cambio: filas que llevan slug y kind, que get_title y get_reviews toman juntos; title; year; release_date; rating, la clasificación por edades tal como se publica; metascore; user_score; y source_url. Una puntuación que el sitio no ha calculado es null, nunca 0: en una escala que comienza en cero, los dos serían indistinguibles, y un título con muy pocas reseñas no lleva ninguna.

get_title

Lee una entrada. Las partes más pesadas se piden en lugar de servirse por defecto, y cada una más allá del valor predeterminado cuesta una solicitud.

ArgumentoTipoRequeridoQué hace
slugcadena, al menos 1 carácterEl identificador que lleva una fila.
kindmovie, show o gameA qué catálogo pertenece.
sectionsmatriz de basic, scores, awards, production, networks, where_to_watch, por defecto ["basic", "scores"]noQué partes devolver.
max_charsentero, 200 a 20000, por defecto 4000noCuánto de la descripción servir.
offsetentero, 0 o más, por defecto 0noDónde reanudar la descripción.

A cambio: la entrada que lleva una fila de búsqueda, más description, tagline, genres, duration_minutes y imdb_id, cada uno null donde la página no indica nada. total_chars, returned_chars y offset describen la porción de la descripción servida.

get_reviews

Lee las reseñas de una entrada.

ArgumentoTipoRequeridoQué hace
slugcadena, al menos 1 carácterEl identificador que lleva una fila.
kindmovie, show o gameA qué catálogo pertenece.
sourcecritic o user, por defecto criticnoDe quién leer las reseñas.
sentimentall, positive, neutral o negative, por defecto allnoCuán favorable debe ser una reseña.
limitentero, 1 a 50, por defecto 10noReseñas a servir.
offsetentero, 0 o más, por defecto 0noReseñas a omitir, para paginar.

A cambio: reviews, cada una con su quote tal como se publica, su score, el max sobre el cual se mide esa puntuación, que es 100 para un crítico y 10 para un usuario, y la publication que la emitió. Nombra la publicación al citar una reseña. total_available cuenta las reseñas que coinciden con la fuente y el sentimiento solicitados, y next_offset continúa.

browse_titles

Lista un catálogo.

ArgumentoTipoRequeridoQué hace
kindmovie, show o game, por defecto movienoQué catálogo listar.
sortscore, recent o popular, por defecto scorenoCómo se ordenan las filas.
genrecadenanoUn solo nombre de género, como Horror.
limitentero, 1 a 50, por defecto 20noFilas a servir.
offsetentero, 0 o más, por defecto 0noFilas a omitir, para paginar.

A cambio: las filas que search_titles devuelve, con total_available, offset, next_offset y el kind, sort y genre bajo los cuales se leyó el listado.

Dos puntuaciones, dos cosas medidas

El Metascore es un promedio ponderado de reseñas profesionales, sobre 100. La puntuación de usuarios es el promedio de lo que dieron los miembros registrados, sobre 10. Miden poblaciones diferentes en escalas diferentes, y un título puede llevar una y no la otra. Lee cada una con el max que indican sus reseñas, y reporta una puntuación faltante como faltante.

Configuración

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

VariablePredeterminadoQué hace
MC_USER_AGENTla identidad del proyectoNombra tu aplicación ante el sitio, con una dirección donde se pueda contactar a una persona.
MC_MIN_INTERVAL_MS1000Intervalo entre dos solicitudes, de 500 a 60000.
MC_TIMEOUT_MS15000Plazo para una solicitud, de 1000 a 120000.
MC_MAX_RETRIES3Intentos después de una falla transitoria, de 0 a 10.
MC_CACHE_TTL_MS86400000Cuánto tiempo permanece una entrada de catálogo en memoria, de 0 a 604800000.
MC_SCORES_CACHE_TTL_MS3600000Cuánto tiempo permanecen puntuaciones y reseñas en memoria, de 0 a 86400000.
MC_CACHE_MAX_ENTRIES200Respuestas retenidas en memoria a la vez, de 0 a 10000.
MC_LOG_LEVELerrorsilent, error, info o debug, escritos en stderr.

Las puntuaciones se mueven a medida que llegan reseñas, especialmente alrededor de un lanzamiento, así que se retienen durante una hora mientras que una entrada de catálogo se retiene durante un día. Un valor fuera de su rango vuelve al predeterminado, y la razón se escribe en stderr.

Errores

Cada falla lleva uno de seis códigos, un mensaje y, donde ayuda, una pista que nombra el siguiente paso.

CódigoQué ocurrióQué hacer
not_foundEl sitio respondió y no tiene esa entrada.Comprueba el slug 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 sitio 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 MC_TIMEOUT_MS, o pide menos filas.

Como biblioteca

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

import { McClient } from "mcp-metacritic/client";

const client = new McClient();
const { data, cached } = await client.getTitle({ slug: "the-matrix", kind: "movie" });
console.log(data.title, data.metascore, cached);

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

Ritmo y atribución

Las solicitudes salen de una en una con al menos un segundo entre ellas, y el intervalo de medio 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 Metacritic, y cada reseña citada lleva la publicación que la emitió. Las reseñas pertenecen a sus autores y a las publicaciones que las emitieron.

Este servidor MCP es un proyecto no oficial, sin afiliación con Metacritic.

Privacidad

Este servidor no recopila nada sobre ti y no envía nada a su autor. Se ejecuta en tu máquina, contacta a backend.metacritic.com y nada más, mantiene sus respuestas en memoria mientras se ejecuta y no escribe nada en el disco. PRIVACY.md establece qué lleva una solicitud y qué ajustes cambian cualquier parte de ello.

Desarrollo

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

Las pruebas se ejecutan contra fixtures 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 sitio mismo.

Contribuciones

Los errores, preguntas e ideas pertenecen a 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, consulta LICENSE. Las puntuaciones y las reseñas pertenecen a Metacritic y a las publicaciones que cita.


mcp-metacritic (francés)

Versión en inglés

Metacritic reúne lo que la crítica y el público han dicho sobre películas, series y videojuegos. Cada ficha lleva el año, la clasificación por edad, los géneros y dos puntuaciones que le son propias: el Metascore, promedio ponderado de las críticas profesionales, y la puntuación de los usuarios, sobre diez, dada por los registrados. Debajo de cada ficha se encuentran las críticas mismas, con la publicación que las firmó y la frase citada.

Este servidor conecta un cliente de conversación con este catálogo. Se puede buscar un título, leer su ficha con sus puntuaciones y sus detalles, recorrer un catálogo por puntuación, por novedad o por popularidad, y leer las críticas de un título, filtradas por fuente y por tono. 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 metacritic -- npx -y mcp-metacritic

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

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

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

Con Docker

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

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

Bundle, sin npm

Descarga mcp-metacritic-2.0.1.mcpb desde la última publicación y ábrelo. Un cliente que gestiona bundles MCP lo instala solo, sin npm y sin archivo de configuración que modificar. El bundle lleva sus dependencias, por lo tanto no se descarga nada en la instalación.

Lo que se puede pedir

  • «¿Qué pensó la crítica de Matrix?»
  • «Léeme algunas críticas negativas de este juego.»
  • «¿Cuáles son las películas de terror mejor puntuadas?»
  • «¿Cómo se compara la puntuación del público con el Metascore?»
  • «¿Qué ha salido recientemente que haya sido bien recibido?»

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

Las herramientas

HerramientaQué hace
search_titlesEncuentra películas, series y juegos por su título.
get_titleLee una ficha, sus puntuaciones y sus detalles.
get_reviewsLee las críticas de una ficha, por fuente y por tono.
browse_titlesLista un catálogo por puntuación, por novedad o por popularidad.

Un título se aborda por su slug acompañado de su kind, un mismo slug pudiendo nombrar una película y un juego.

search_titles

Encuentra películas, series y juegos por su título.

ArgumentoTipoRequeridoQué hace
querycadena, al menos 1 carácterUn título, o una parte.
kindmovie, show, game o any, por defecto anynoEl catálogo donde buscar.
limitentero, 1 a 50, por defecto 10noFilas a servir.

En retorno: líneas que llevan slug y kind, que get_title y get_reviews retoman juntas; title; year; release_date; rating, la clasificación por edad tal como se publica; metascore; user_score; y source_url. Una puntuación que el sitio no ha calculado vale null, nunca 0: en una escala que comienza en cero ambos serían indistinguibles, y un título con demasiadas pocas críticas no lleva ninguna.

get_title

Lee una ficha. Las partes pesadas se piden en lugar de servirse por defecto, y cada una más allá del defecto cuesta una solicitud.

ArgumentoTipoRequeridoQué hace
slugcadena, al menos 1 carácterEl identificador de una línea.
kindmovie, show o gameEl catálogo del que forma parte.
sectionsmatriz de basic, scores, awards, production, networks, where_to_watch, por defecto ["basic", "scores"]noLas partes a devolver.
max_charsentero, 200 a 20000, por defecto 4000noLa longitud de descripción a servir.
offsetentero, 0 o más, por defecto 0noDónde retomar la descripción.

En retorno: la ficha que lleva una línea de búsqueda, más description, tagline, genres, duration_minutes y imdb_id, cada uno null donde la página no indica nada. total_chars, returned_chars y offset describen el tramo de descripción servido.

get_reviews

Lee las críticas de una ficha.

ArgumentoTipoRequeridoQué hace
slugcadena, al menos 1 carácterEl identificador de una línea.
kindmovie, show o gameEl catálogo del que forma parte.
sourcecritic o user, por defecto criticnoDe quién leer las críticas.
sentimentall, positive, neutral o negative, por defecto allnoEl tono exigido de una crítica.
limitentero, 1 a 50, por defecto 10noCríticas a servir.
offsetentero, 0 o más, por defecto 0noCríticas a saltar, para paginar.

En retorno: reviews, cada una con su quote tal como se publica, su score, el max sobre el cual se da esa puntuación, que vale 100 para un crítico y 10 para un usuario, y la publication que la firmó. Nombra la publicación cuando cites una crítica. total_available cuenta las críticas que corresponden a la fuente y al tono solicitados, y next_offset continúa.

browse_titles

Lista un catálogo.

ArgumentoTipoRequeridoQué hace
kindmovie, show o game, por defecto movienoEl catálogo a listar.
sortscore, recent o popular, por defecto scorenoEl orden de las filas.
genrecadenanoUn solo nombre de género, como Horror.
limitentero, 1 a 50, por defecto 20noFilas a servir.
offsetentero, 0 o más, por defecto 0noFilas a saltar, para paginar.
En retorno: las líneas que devuelve search_titles, con total_available,
offset, next_offset y los kind, sort y genre bajo los cuales la lista ha
sido leída.

Dos notas, dos cosas medidas

El Metascore es un promedio ponderado de las críticas profesionales, sobre 100. La nota de los usuarios es el promedio de lo que han dado los miembros registrados, sobre 10. Miden poblaciones diferentes en escalas diferentes, y un título puede llevar una sin la otra. Lea cada una con el max que sus críticas indican, y reporte una nota ausente como ausente.

Configuración

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

VariableDefectoLo que hace
MC_USER_AGENTla identidad del proyectoNombra su aplicación ante el sitio, con una dirección donde contactar a una persona.
MC_MIN_INTERVAL_MS1000Intervalo entre dos solicitudes, de 500 a 60000.
MC_TIMEOUT_MS15000Tiempo de espera de una solicitud, de 1000 a 120000.
MC_MAX_RETRIES3Intentos después de un fallo pasajero, de 0 a 10.
MC_CACHE_TTL_MS86400000Duración durante la cual una ficha permanece en memoria, de 0 a 604800000.
MC_SCORES_CACHE_TTL_MS3600000Duración durante la cual las notas y críticas permanecen en memoria, de 0 a 86400000.
MC_CACHE_MAX_ENTRIES200Respuestas guardadas en memoria a la vez, de 0 a 10000.
MC_LOG_LEVELerrorsilent, error, info o debug, escrito en la salida de error.

Las notas se mueven con las críticas, especialmente alrededor de un lanzamiento, por lo que se guardan una hora donde una ficha se guarda un día. Un valor fuera de su rango cae en el defecto, 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 ha pasadoQué hacer
not_foundEl sitio ha respondido, y no tiene esta ficha.Verifique el slug y el tipo con search_titles.
invalid_inputLos argumentos han sido rechazados antes de cualquier solicitud.Lea el mensaje, que nombra el argumento.
rate_limitedEl sitio pide a este cliente que reduzca la velocidad.Espere los segundos indicados y vuelva a llamar con los mismos argumentos. La ficha sigue ahí.
parse_failureLa respuesta ha llegado en una forma ilegible aquí.Repórtelo en el seguimiento de incidentes.
network_errorLa solicitud no ha llegado a buen término.Reintente en breve.
timeoutLa solicitud ha superado su tiempo de espera.Aumente MC_TIMEOUT_MS, o pida menos líneas.

Como biblioteca

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

import { McClient } from "mcp-metacritic/client";

const client = new McClient();
const { data, cached } = await client.getTitle({ slug: "the-matrix", kind: "movie" });
console.log(data.title, data.metascore, cached);

Cada lectura responde { data, cached }, y lanza un error que lleva 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 un segundo entre ellas, y el mínimo de medio segundo se aplica sea cual sea la configuración. El User-Agent siempre termina con la identidad del proyecto y una dirección donde contactar a una persona.

Cada resultado lleva la dirección de la página de Metacritic, y cada crítica citada lleva la publicación que la ha firmado. Las críticas pertenecen a sus autores y a las publicaciones que las han publicado.

Este MCP es un proyecto no oficial, sin afiliación con Metacritic.

Privacidad

Este servidor no recopila nada sobre usted y no envía nada a su autor. Se ejecuta en su máquina, solo se une a backend.metacritic.com, guarda sus respuestas en memoria mientras se ejecuta, y no escribe nada en el disco. PRIVACY.md dice lo que una solicitud lleva 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 sitio mismo.

Contribuir

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

Licencia

MIT, ver LICENSE. Las notas y las críticas pertenecen a Metacritic y a las publicaciones que cita.