Search Metacritic films, shows and games, read scores and critic reviews. No API key.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Metacritic gathers what critics and audiences said about films, television series and video games. Each entry carries the year, the age rating, the genres, and two scores of its own: the Metascore, a weighted average of the professional reviews, and the user score, out of ten, from the people who signed up to rate it. Under each entry sit the reviews themselves, with the publication that ran them and the quoted line.
This server connects a chat client to that catalogue. You can search for a title, read its entry with its scores and its details, browse a catalogue by score, recency or popularity, and read the reviews of one title, filtered by critic or audience and by how favourable they were. It needs no API key and no account.
One-click install
Claude Code
Claude Desktop, Cursor, and any client using the standard config format
Node 24 or later is required, and no environment variable has to be set.
-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
backend.metacritic.com, and nothing else: no volume, no port, no credential.
Download mcp-metacritic-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.
The ordinary path runs from a search to an entry: a row carries a slug and a
kind, and get_title and get_reviews take both together.
| Tool | What it does |
|---|---|
search_titles | Finds films, series and games by title. |
get_title | Reads one entry, its scores and its details. |
get_reviews | Reads the reviews of one entry, by source and by sentiment. |
browse_titles | Lists a catalogue by score, recency or popularity. |
A title is addressed by its slug together with its kind, since the same slug
can name a film and a game.
search_titlesFinds films, series and games by title.
| Argument | Type | Required | What it does |
|---|---|---|---|
query | string, at least 1 character | yes | A title, or part of one. |
kind | movie, show, game or any, default any | no | Which catalogue to search. |
limit | integer, 1 to 50, default 10 | no | Rows to serve. |
In return: rows carrying slug and kind, which get_title and
get_reviews take together; title; year; release_date; rating, the age
rating as published; metascore; user_score; and source_url. A score the
site has not computed is null, never 0: on a scale that starts at zero the
two would be indistinguishable, and a title with too few reviews carries none.
get_titleReads one entry. The heavier parts are asked for rather than served by default, and each one beyond the default costs a request.
| Argument | Type | Required | What it does |
|---|---|---|---|
slug | string, at least 1 character | yes | The identifier a row carries. |
kind | movie, show or game | yes | Which catalogue it belongs to. |
sections | array of basic, scores, awards, production, networks, where_to_watch, default ["basic", "scores"] | no | Which parts to return. |
max_chars | integer, 200 to 20000, default 4000 | no | How much of the description to serve. |
offset | integer, 0 or more, default 0 | no | Where to resume the description. |
In return: the entry a search row carries, plus description, tagline,
genres, duration_minutes and imdb_id, each null where the page states
nothing. total_chars, returned_chars and offset describe the slice of the
description served.
get_reviewsReads the reviews of one entry.
| Argument | Type | Required | What it does |
|---|---|---|---|
slug | string, at least 1 character | yes | The identifier a row carries. |
kind | movie, show or game | yes | Which catalogue it belongs to. |
source | critic or user, default critic | no | Whose reviews to read. |
sentiment | all, positive, neutral or negative, default all | no | How favourable a review has to be. |
limit | integer, 1 to 50, default 10 | no | Reviews to serve. |
offset | integer, 0 or more, default 0 | no | Reviews to skip, for paging. |
In return: reviews, each with its quote as published, its score, the
max that score is out of, which is 100 for a critic and 10 for a user, and the
publication that ran it. Name the publication when quoting a review.
total_available counts the reviews matching the source and the sentiment asked
for, and next_offset continues.
browse_titlesLists a catalogue.
| Argument | Type | Required | What it does |
|---|---|---|---|
kind | movie, show or game, default movie | no | Which catalogue to list. |
sort | score, recent or popular, default score | no | How the rows are ordered. |
genre | string | no | A single genre name, such as Horror. |
limit | integer, 1 to 50, default 20 | no | Rows to serve. |
offset | integer, 0 or more, default 0 | no | Rows to skip, for paging. |
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-metacritic)<a href="https://allmcps.com/mcp/mcp-metacritic"><img src="https://allmcps.com/api/badge/mcp-metacritic?style=directory" alt="MCP Metacritic on AllMCPs" /></a>