关于 mcp-metacritic
mcp-metacritic 将 Metacritic 目录接入聊天客户端,适合查询电影、剧集和游戏的评分与评论。它支持标题搜索、目录浏览,并可按来源和倾向筛选评论,无需 API 密钥或账户。
主要功能
- 01搜索电影、剧集和游戏
- 02读取条目详情与评分
- 03按来源和倾向筛选评论
- 04按评分、时间或热度浏览目录
适用场景
- 01比较专业评分与用户评分
- 02查找近期高分作品
- 03阅读某部作品的正面或负面评论
MCP 相关
作为 MCP 服务,它向客户端提供搜索、详情读取、评论筛选和目录浏览工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
4收录的工具列表 · 更新于 今天
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| kind | enum | 否 | 将结果限制为一个目录。Metacritic 会同时搜索全部三个目录。movie | show | game | any |
| limit | integer | 否 | 要返回的行数。 |
| query | string | 是 | 标题或标题片段,例如 'the matrix'。 |
详细介绍
mcp-metacritic
Metacritic 汇总了影评人和观众对电影、电视剧和电子游戏的评价。每个条目都包含年份、分级、类型,以及两个专属评分:Metascore 是专业评论的加权平均分,用户评分则是注册用户给出的十分制评分。每个条目下方还列有评论,以及刊登评论的媒体和评论中的引述。
此服务可将聊天客户端连接到该目录。你可以搜索作品、查看包含评分和详情的条目、按评分、新近程度或人气浏览目录,还可以阅读某部作品的评论,并按影评人或观众以及好评程度筛选。无需 API 密钥或账户。
安装
一键安装
Claude Code
claude mcp add metacritic -- npx -y mcp-metacritic
Claude Desktop、Cursor 及使用标准配置格式的任何客户端
{
"mcpServers": {
"metacritic": {
"command": "npx",
"args": ["-y", "mcp-metacritic"]
}
}
}
需要 Node 24 或更高版本,无需设置环境变量。
使用 Docker
{
"mcpServers": {
"metacritic": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-metacritic:2.0.1"]
}
}
}
-i 用于保持 stdin 打开,协议通过该流传输;不使用 -t,因为 TTY 会重写数据流。容器只需能够通过 HTTPS 访问 backend.metacritic.com,无需其他配置:不需要卷、端口或凭据。
打包安装,无需 npm
从最新版本下载
mcp-metacritic-2.0.1.mcpb 并打开。支持 MCP bundle 的客户端会自行安装,无需 npm,也无需编辑配置文件。bundle 已包含依赖项,因此安装时不会下载任何内容。
可以询问什么
- “影评人如何评价《黑客帝国》?”
- “给我读几条对那款游戏的差评。”
- “评价最高的恐怖电影有哪些?”
- “用户评分和 Metascore 有什么区别?”
- “最近有哪些新作获得了好评?”
通常的使用流程是从搜索到查看条目:搜索结果行包含 slug 和 kind,而 get_title 和 get_reviews 都需要同时传入这两个参数。
工具
| 工具 | 功能 |
|---|---|
search_titles | 按标题查找电影、剧集和游戏。 |
get_title | 读取一个条目及其评分和详细信息。 |
get_reviews | 按来源和情感倾向读取一个条目的评论。 |
browse_titles | 按评分、近期程度或人气列出目录。 |
标题由其 slug 和 kind 共同标识,因为同一个 slug
可能对应一部电影和一款游戏。
search_titles
按标题查找电影、剧集和游戏。
| 参数 | 类型 | 必填 | 功能 |
|---|---|---|---|
query | 字符串,至少 1 个字符 | 是 | 标题或标题的一部分。 |
kind | movie、show、game 或 any,默认值为 any | 否 | 要搜索的目录。 |
limit | 整数,1 至 50,默认值为 10 | 否 | 返回的行数。 |
**返回内容:**包含 slug 和 kind 的行;get_title 和
get_reviews 会同时使用这两个值;还包括 title、year、release_date、
rating(已发布的年龄分级)、metascore、user_score(搜索路由不会为任何行提供此值,因此每行的值均为 null)和 source_url。**网站未计算出的评分为
null,而不是 0:**在从零开始的量表中,二者无法区分;评论数量不足的标题则没有评分。
get_title
读取一个条目。较繁重的部分需要按需请求,不会默认返回;每额外请求一部分都需要一次请求。
| 参数 | 类型 | 必填 | 功能 |
|---|---|---|---|
slug | 字符串,至少 1 个字符 | 是 | 行中包含的标识符。 |
kind | movie、show 或 game | 是 | 条目所属的目录。 |
sections | basic、scores、awards、production、networks、where_to_watch 组成的数组,默认值为 ["basic", "scores"] | 否 | 要返回的部分。 |
max_chars | 整数,200 至 20000,默认值为 4000 | 否 | 返回描述的字符数上限。 |
offset | 大于等于 0 的整数,默认值为 0 | 否 | 描述的续读位置。 |
**返回内容:**搜索结果行中包含的条目信息,以及 description、tagline、
genres、duration_minutes 和 imdb_id;页面未提供信息时,这些字段的值为
null。total_chars、returned_chars 和 offset 用于描述所返回的描述文本片段。
get_reviews
读取某个条目的评论。
| 参数 | 类型 | 必填 | 作用 |
|---|---|---|---|
slug | string,至少 1 个字符 | 是 | 行所带的标识符。 |
kind | movie、show 或 game | 是 | 所属的目录。 |
source | critic 或 user,默认值为 critic | 否 | 要读取谁的评论。 |
sentiment | all、positive、neutral 或 negative,默认值为 all | 否 | 评论需要有多正面。 |
limit | 整数,1 到 50,默认值为 10 | 否 | 返回的评论数。 |
offset | 整数,0 或更大,默认值为 0 | 否 | 分页时要跳过的评论数。 |
返回内容: reviews,每条评论包含其发布时的 quote、score、该评分的满分 max(评论家评分满分为 100,用户评分满分为 10),以及刊载该评论的 publication。引用评论时,请注明刊物名称。
total_available 统计 Metacritic 对该条目从此来源收录的所有评论,无论请求的 sentiment 是什么,因为情感分类会对该服务收到的样本进行排序,而非对获取样本的请求进行排序。next_offset 可用于继续翻页。
browse_titles
列出目录内容。
| 参数 | 类型 | 必填 | 作用 |
|---|---|---|---|
kind | movie、show 或 game,默认值为 movie | 否 | 要列出的目录。 |
sort | score、recent 或 popular,默认值为 score | 否 | 行的排序方式。 |
genre | string | 否 | 单个类型名称,例如 Horror。 |
limit | 整数,1 到 50,默认值为 20 | 否 | 返回的行数。 |
offset | 整数,0 或更大,默认值为 0 | 否 | 分页时要跳过的行数。 |
返回内容: search_titles 返回的行,以及 total_available、offset、next_offset,还有读取列表时使用的 kind、sort 和 genre。
两种评分,衡量两种不同的对象
Metascore 是专业评论的加权平均分,满分为 100。用户评分是注册会员评分的平均值,满分为 10。它们针对不同群体,采用不同量表进行衡量;一部作品可能只有其中一种评分。请根据评论所标明的 max 解读每种评分,并将缺失的评分标记为缺失。
配置
所有变量都是可选的。在客户端配置的 env 块中设置它们。
| 变量 | 默认值 | 作用 |
|---|---|---|
MC_USER_AGENT | 项目标识 | 向网站标识你的应用,并提供可联系到相关人员的地址。 |
MC_MIN_INTERVAL_MS | 1000 | 两次请求之间的间隔,范围为 500 到 60000。 |
MC_TIMEOUT_MS | 15000 | 单次请求的时限,范围为 1000 到 120000。 |
MC_MAX_RETRIES | 3 | 暂时性故障后的重试次数,范围为 0 到 10。 |
MC_CACHE_TTL_MS | 86400000 | 目录条目在内存中的保留时长,范围为 0 到 604800000。 |
MC_SCORES_CACHE_TTL_MS | 3600000 | 评分和评论在内存中的保留时长,范围为 0 到 86400000。 |
MC_CACHE_MAX_ENTRIES | 200 | 同时保留在内存中的答案数量,范围为 0 到 10000。 |
MC_LOG_LEVEL | error | silent、error、info 或 debug,写入 stderr。 |
评分会随着评论增加而变化,尤其是在发布前后,因此评分会保留一小时,而目录条目会保留一天。超出范围的值会回退到默认值,原因会写入 stderr。
错误
每次失败都会包含六种代码之一、一条消息,以及在有帮助时说明下一步操作的提示。
| 代码 | 发生了什么 | 应采取的操作 |
|---|---|---|
not_found | 网站已响应,但没有此条目。 | 使用 search_titles 检查 slug 和类型。 |
invalid_input | 请求发出前,参数已被拒绝。 | 阅读消息,其中会指出相关参数。 |
rate_limited | 网站要求此客户端降低请求频率。 | 等待提示中指出的秒数,然后使用相同参数再次调用。该条目仍然存在。 |
parse_failure | 收到的响应格式无法被此客户端读取。 | 在问题跟踪页报告。 |
network_error | 请求未能完成。 | 稍后重试。 |
timeout | 请求超出时限。 | 提高 MC_TIMEOUT_MS,或减少请求的行数。 |
作为库使用
读取网站的这一层单独发布,包含自身的请求间隔控制、缓存和错误处理,且不绑定任何协议。
import { McClient } from "mcp-metacritic/client";
const client = new McClient();
const { data, cached } = await client.getDetail("movie", "the-matrix");
console.log(data.title, data.metascore, cached);
每次读取都会返回 { data, cached },并会抛出携带六种代码之一的错误。两次请求之间的最小间隔在此处同样适用。
请求频率与归属
请求会逐个发送,间隔至少一秒;无论服务器如何配置,间隔下限始终为半秒。User-Agent 始终以项目标识和可联系到负责人的地址结尾。
每条结果都包含 Metacritic 页面的地址,每条引用的评论都注明刊载该评论的出版物。评论归其作者及刊载它们的出版物所有。
此 MCP 服务是一个非官方项目,与 Metacritic 没有任何关联。
隐私
此服务不会收集你的任何信息,也不会向作者发送任何内容。它在你的计算机上运行,只连接 backend.metacritic.com,运行期间将答复保存在内存中,不会写入磁盘。
PRIVACY.md 说明请求会携带哪些信息,以及哪些设置会改变这些信息。
开发
npm install
npm run build:fixtures
npm test
npm run check
测试使用生成的固定数据运行,不会发起网络请求。在线测试套件 npm run test:live 会为每个路由发起一次请求,并每晚针对网站本身运行。
贡献
请在问题跟踪器中提交错误、问题和想法。欢迎提交拉取请求;先提出问题有助于商定更改的方向。请参阅 CONTRIBUTING.md。
许可证
MIT,详见 LICENSE。评分和评论归 Metacritic 及其引用的出版物所有。
mcp-metacritic(法语)
Metacritic 汇集了评论界和公众对电影、剧集和电子游戏的评价。每个条目都列出年份、年龄分级、类型,以及两项专属评分:Metascore,即专业评论的加权平均分;还有注册用户给出的十分制用户评分。每个条目下方都有评论原文,以及署名的出版物和引用的句子。
此服务将对话客户端连接到这个目录。你可以搜索作品,查看包含评分和详情的条目,按评分、新鲜度或人气浏览目录,还可以阅读某部作品的评论,并按来源和倾向筛选。无需 API 密钥,也无需账户。
安装
一键安装
Claude Code
claude mcp add metacritic -- npx -y mcp-metacritic
Claude Desktop、Cursor,以及所有使用标准配置格式的客户端
{
"mcpServers": {
"metacritic": {
"command": "npx",
"args": ["-y", "mcp-metacritic"]
}
}
}
需要 Node 24 或更高版本,无需设置任何环境变量。
使用 Docker
{
"mcpServers": {
"metacritic": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-metacritic:2.0.1"]
}
}
}
-i 会保持标准输入打开,它是协议通信通道;省略 -t,因为 TTY 会重写数据流。容器只需要通过 HTTPS 出站访问 backend.metacritic.com,除此之外无需其他权限:不需要卷、端口或凭据。
Bundle,无需 npm
从最新发布版本下载 mcp-metacritic-2.0.1.mcpb 并打开。支持 MCP bundle 的客户端会自动安装,无需 npm,也无需修改配置文件。Bundle 内含其依赖,因此安装时不会下载任何内容。
可以询问的内容
- “影评人如何评价《黑客帝国》?”
- “给我读几条这款游戏的负面评论。”
- “评分最高的恐怖片有哪些?”
- “观众评分与 Metascore 相比如何?”
- “最近有哪些作品上映且广受好评?”
常规流程是先搜索,再查看详情:一行记录包含 slug 和
kind,get_title 和 get_reviews 都会同时使用这两个字段。
工具
| 工具 | 功能 |
|---|---|
search_titles | 按标题查找电影、剧集和游戏。 |
get_title | 查看详情页、评分和详细信息。 |
get_reviews | 按来源和倾向查看某个详情页的评论。 |
browse_titles | 按评分、新鲜度或人气列出目录内容。 |
标题通过 slug 和 kind 标识;同一个 slug 可能对应一部电影和一款游戏。
search_titles
按标题查找电影、剧集和游戏。
| 参数 | 类型 | 必填 | 功能 |
|---|---|---|---|
query | 字符串,至少 1 个字符 | 是 | 标题或标题片段。 |
kind | movie、show、game 或 any,默认 any | 否 | 要搜索的目录。 |
limit | 整数,1 到 50,默认 10 | 否 | 返回的记录数。 |
**返回内容:**包含 slug 和 kind 的记录,get_title 和
get_reviews 会同时使用这两个字段;title;year;release_date;rating,
即页面发布的年龄分级;metascore;user_score,搜索接口不会为任何记录发布此字段,因此其值始终为 null;以及
source_url。**网站未计算的评分值为 null,而非 0:**在从零开始的评分尺度上,两者无法区分;而评论数量不足的标题不会有评分。
get_title
查看详情页。较长的内容需要单独请求,不会默认返回;每多请求一项都需要额外发起一次请求。
| 参数 | 类型 | 必填 | 功能 |
|---|---|---|---|
slug | 字符串,至少 1 个字符 | 是 | 记录的标识符。 |
kind | movie、show 或 game | 是 | 该记录所属的目录。 |
sections | basic、scores、awards、production、networks、where_to_watch 组成的数组,默认 ["basic", "scores"] | 否 | 要返回的部分。 |
max_chars | 整数,200 到 20000,默认 4000 | 否 | 返回的描述长度。 |
offset | 大于或等于 0 的整数,默认 0 | 否 | 描述的续读位置。 |
**返回内容:**搜索记录对应的详情页内容,以及 description、
tagline、genres、duration_minutes 和 imdb_id;页面未提供的字段值为
null。total_chars、returned_chars 和 offset 描述返回的描述片段。
get_reviews
读取某个条目的评论。
| 参数 | 类型 | 必填 | 作用 |
|---|---|---|---|
slug | 字符串,至少 1 个字符 | 是 | 条目标识符。 |
kind | movie、show 或 game | 是 | 条目所属的目录。 |
source | critic 或 user,默认 critic | 否 | 读取哪类评论。 |
sentiment | all、positive、neutral 或 negative,默认 all | 否 | 要求的评论倾向。 |
limit | 整数,1 到 50,默认 10 | 否 | 返回的评论数。 |
offset | 整数,0 或更大,默认 0 | 否 | 要跳过的评论数,用于分页。 |
返回:reviews,其中每条评论都包含原样发布的 quote、score、该评分的满分 max(评论家评分满分为 100,用户评分满分为 10),以及署名的 publication。引用评论时,请注明出版物名称。total_available 统计 Metacritic 为该条目收录的此来源的所有评论数,无论所要求的倾向是什么,因为倾向只会筛选返回的样本,不会筛选搜索范围。使用 next_offset 继续获取。
browse_titles
浏览目录。
| 参数 | 类型 | 必填 | 作用 |
|---|---|---|---|
kind | movie、show 或 game,默认 movie | 否 | 要浏览的目录。 |
sort | score、recent 或 popular,默认 score | 否 | 条目的排序方式。 |
genre | 字符串 | 否 | 单个类型名称,例如 Horror。 |
limit | 整数,1 到 50,默认 20 | 否 | 返回的条目数。 |
offset | 整数,0 或更大,默认 0 | 否 | 要跳过的条目数,用于分页。 |
返回:search_titles 返回的条目,以及读取列表时使用的 total_available、offset、next_offset、kind、sort 和 genre。
两种评分,衡量两件事
Metascore 是专业评论的加权平均分,满分为 100。用户评分是注册会员评分的平均值,满分为 10。它们衡量的是不同群体,使用的评分标准也不同;一个条目可能只有其中一种评分。请根据评论中指明的 max 解读每种评分,并将缺失的评分注明为缺失。
配置
每个变量都是可选的。它们设置在客户端配置的 env 块中。
| 变量 | 默认值 | 作用 |
|---|---|---|
MC_USER_AGENT | 项目标识 | 向网站标识您的应用,并提供可联系到相关人员的地址。 |
MC_MIN_INTERVAL_MS | 1000 | 两次请求之间的间隔,范围为 500 到 60000。 |
MC_TIMEOUT_MS | 15000 | 请求超时时间,范围为 1000 到 120000。 |
MC_MAX_RETRIES | 3 | 临时故障后的重试次数,范围为 0 到 10。 |
MC_CACHE_TTL_MS | 86400000 | 条目在内存中的保留时间,范围为 0 到 604800000。 |
MC_SCORES_CACHE_TTL_MS | 3600000 | 评分和评论在内存中的保留时间,范围为 0 到 86400000。 |
MC_CACHE_MAX_ENTRIES | 200 | 同时保存在内存中的响应数,范围为 0 到 10000。 |
MC_LOG_LEVEL | error | silent、error、info 或 debug,写入错误输出。 |
评分会随着评论变化,尤其是在作品发布前后,因此它们只保留一小时,而条目会保留一天。超出范围的值 会恢复为默认值,相关原因会写入错误输出。
错误
每个错误都带有六种代码之一和一条消息;在有帮助时,还会提供下一步操作的 提示。
| 代码 | 发生的情况 | 处理方法 |
|---|---|---|
not_found | 网站已响应,但没有该条目。 | 使用 search_titles 检查 slug 和类型。 |
invalid_input | 在发起任何请求前,参数就被拒绝了。 | 阅读消息,其中会指出相应参数。 |
rate_limited | 网站要求此客户端降低请求频率。 | 等待指定的秒数,然后使用相同的参数重试。条目仍然存在。 |
parse_failure | 响应已到达,但其格式无法在此处读取。 | 在问题追踪页报告此问题。 |
network_error | 请求未能完成。 | 稍后重试。 |
timeout | 请求超时。 | 增大 MC_TIMEOUT_MS,或减少请求的行数。 |
作为库使用
读取网站的这一层单独发布,包含自己的请求间隔、缓存和错误处理,不绑定任何 协议。
import { McClient } from "mcp-metacritic/client";
const client = new McClient();
const { data, cached } = await client.getDetail("movie", "the-matrix");
console.log(data.title, data.metascore, cached);
每次读取都会返回 { data, cached },并抛出带有六种代码之一的错误。两次请求之间的
最小间隔在此同样适用。
速率与署名
请求逐一发送,间隔至少一秒,无论配置如何,间隔都不会低于半秒。User-Agent 始终以项目身份和联系人员的地址结尾。
每条结果都包含 Metacritic 页面地址,每条引用的评论都注明其所属的出版物。评论归其作者和发布它们的出版物所有。
此 MCP 是一个非官方项目,与 Metacritic 没有隶属关系。
隐私
此服务不会收集您的任何信息,也不会向其作者发送任何信息。它在您的机器上运行,只连接 backend.metacritic.com,在运行期间将响应保存在内存中,且不会向磁盘写入任何内容。
PRIVACY.md 说明了请求会携带哪些信息,以及哪些设置会改变这些信息。
开发
npm install
npm run build:fixtures
npm test
npm run check
测试使用生成的 fixtures 运行,不会发送任何请求。实时测试套件 npm run test:live 会针对每条路由发送一个请求,并且每晚会在网站本身运行。
贡献
问题、疑问和想法都可以提交到问题跟踪区。欢迎提交修改建议;先创建工单有助于就修改方案达成一致。请参阅 CONTRIBUTING.md。
许可证
MIT,详见 LICENSE。说明和评论归 Metacritic 及其引用的出版物所有。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。