Skip to main content
Glama

mcp-medusa

MCP 服务器,暴露 Medusa 动漫自动化工具。

工具

add_anime

使用 POST /api/v2/anime/add 将动漫添加到 Medusa。

常见参数:

{
  "anime_id": 62076,
  "source": "myanimelist",
  "root_dir": "/media/videos/Anime",
  "anime": true,
  "scene": false,
  "status": "wanted",
  "initial_release_group": "SubsPlease",
  "fallback_release_groups": ["SubsPlease", "Erai-raws"],
  "release_group_fallback_days": 7
}

参数:

参数

必需

默认值

允许的值 / 备注

anime_id

特定来源的动漫 ID。对于 myanimelist,这是 MAL 动漫 ID。

root_dir

新剧集的 Medusa 根目录路径。

source

myanimelist

不区分大小写:myanimelistlivechart

anime

true

通常保持 true

scene

false

是否启用场景编号。

status

wanted

Medusa 剧集状态字符串,通常为 wantedskippedignored

initial_release_group

要加入白名单的第一个/当前发布组,例如 SubsPlease

fallback_release_groups

要轮换的发布组有序列表。将初始组放在首位以确保确定性行为。

release_group_fallback_days

7

剧集播出日期后多少天切换到下一个备用组。

directory_name

Medusa 生成

可选的剧集文件夹名称覆盖。

seasonal_anime

使用 GET /api/v2/anime/seasonal 查询 Medusa 季节性动漫。

{
  "year": 2026,
  "season": "SPRING",
  "source": "myanimelist",
  "source_sort": "anime_num_list_users",
  "page": 1,
  "limit": 10,
  "fields": ["animeId", "displayTitle", "year", "animeType", "genres", "score", "imageUrl"]
}

使用当前动漫季默认值的最小调用:

{}

参数:

参数

必需

默认值

允许的值 / 备注

year

当前年份

如果省略,则根据 MCP 服务器的当前日期计算。

season

当前动漫季

不区分大小写:WINTERSPRINGSUMMERFALL 或类似 Summer 的值。如果省略,则根据 MCP 服务器的当前月份计算。

source

myanimelist

不区分大小写:myanimelistlivechart

source_sort

anime_num_list_users

不区分大小写:anime_num_list_usersanime_score

page

1

Medusa 结果页码。必须大于或等于 1

limit

10

每页结果数。Medusa 允许 11000;默认值故意设得较小,以避免 MCP 客户端截断。

fields

null

可选的要保留的响应字段列表。如果省略/为 null,则返回完整的 Medusa 动漫对象。

当前动漫季默认值使用以下月份映射:

月份

季节

一月-三月

WINTER

四月-六月

SPRING

七月-九月

SUMMER

十月-十二月

FALL

有用的 fields 值包括:

["animeId", "source", "displayTitle", "titleRomanji", "titleEnglish", "year", "season", "animeType", "status", "episodes", "episodeInfo", "genres", "studios", "score", "numListUsers", "imageUrl", "anidbId", "tvdbId", "malId", "url", "directoryName"]

resolve_anime_title

使用 GET /api/v2/anime/search(带 sourceincludeDetails=truelimit)将标题解析为丰富的 Medusa/MyAnimeList 候选。

{
  "title": "Frieren",
  "source": "myanimelist",
  "limit": 10,
  "min_score": 88,
  "score_gap": 8
}

返回 decision(值为 matchambiguousno_match)以及带评分的候选。

anime_info

按标题或 MAL ID 返回紧凑的动漫详情和 Medusa 存在状态,不添加任何内容。

{
  "title": "Frieren",
  "source": "myanimelist"
}

或:

{
  "mal_id": 52991,
  "source": "myanimelist"
}

seasonal_candidates

在应用剩余的 OpenClaw 特定启发式规则之前,使用 Medusa 的服务器端季节性过滤器获取季节性候选。

{
  "year": 2026,
  "season": "SUMMER",
  "source": "myanimelist",
  "limit": 25,
  "min_num_list_users": 3000,
  "fields": ["animeId", "displayTitle", "animeType", "genres", "numListUsers", "synopsis"]
}

MCP 工具发送 Medusa 过滤器,如 animeType=TVminNumListUsersexcludeGenres=Kids,Boys Lovematched=falsefirstSeasonOnly=truefields,以减小负载大小。

prepare_seasonal_review

将季节性候选项目压缩为带有保守审查说明的 AI 审查包。

{
  "items": [{"animeId": 62076, "displayTitle": "Example Title"}],
  "max_items": 25
}

resolve_and_add_anime

通过 Medusa 的批量添加端点解析并试运行或执行单个添加。写入需要 execute: true

{
  "title": "Frieren",
  "root_dir": "/media/videos/Anime",
  "execute": false
}

scheduler_status

返回 Medusa 调度器线程健康状况和队列状态。当动漫添加似乎卡住或未验证时使用。

{}

search_tvdb

按剧集名称在 TVDB 中搜索 TVDB ID。当动漫添加因 AniDB 到 TVDB 的映射问题而失败时,用作后备方案。

{ "query": "Dorohedoro", "language": "en" }

add_series

通过 POST /api/v2/series 直接按 TVDB ID 添加剧集。完全绕过动漫解析。当 add_anime 失败时,在 search_tvdb 之后使用。

参数:

参数

必需

默认值

备注

tvdb_id

TVDB 剧集 ID(来自 search_tvdb)。

root_dir

Medusa 根目录路径。

anime

true

status

wanted

接受类似 wantedskippedignored 的字符串——内部转换为数字。

language

索引器语言覆盖。

show_dir

自定义剧集文件夹名称覆盖。

scene

false

paused

false

{ "tvdb_id": 370761, "root_dir": "/media/videos/Anime" }

set_episode_status

通过 POST /api/v2/internal/updateEpisodeStatus 设置剧集的剧集状态。当 TVDB 元数据不同步且 Medusa 未下载本应可用的剧集时使用。

参数:

参数

必需

默认值

备注

series_slug

剧集 slug(例如 tvdb370761)。

episodes

剧集 slug 列表(例如 ["s01e01", "s01e02"])。

status

wanted

目标状态:wantedskippedignored

{ "series_slug": "tvdb370761", "episodes": ["s01e01", "s01e02"], "status": "wanted" }

通过 PUT /api/v2/search/manual 强制手动搜索特定剧集。排队一个提供者搜索,主动查询已启用的提供者并抓取匹配的发布。在将剧集设置为 "wanted" 后使用。

参数:

参数

必需

默认值

备注

series_slug

剧集 slug(例如 tvdb370761)。

episodes

剧集 slug 列表(例如 ["s01e01", "s01e02"])。

{ "series_slug": "tvdb370761", "episodes": ["s01e01"] }

update_series_quality

通过 PATCH /api/v2/series/{slug} 更新现有剧集的允许或首选质量。使用人类可读的质量名称。省略的字段保持不变。

参数:

参数

必需

默认值

备注

series_slug

剧集 slug(例如 tvdb370761)。

allowed_qualities

允许列表的质量名称。

preferred_qualities

首选列表的质量名称。

质量名称:"SDTV""SD DVD""720p HDTV""RawHD""1080p HDTV""720p WEB-DL""1080p WEB-DL""720p BluRay""1080p BluRay""4K UHD TV""8K UHD TV""4K UHD WEB-DL""8K UHD WEB-DL""4K UHD BluRay""8K UHD BluRay"

{ "series_slug": "tvdb370761", "allowed_qualities": ["1080p BluRay", "720p HDTV"] }

organize_season_folders

启用季文件夹并将剧集文件移动到 Season XX/ 子目录中,而不重命名文件。调用 POST /api/v2/series/{slug}/operation,使用 type=ORGANIZE_SEASON_FOLDERS

当多季动漫的所有文件都在一个扁平目录中,且 Plex 因对单文件夹多季支持不佳而缺少剧集时使用。

参数:

参数

必需

默认值

备注

series_slug

剧集 slug(例如 tvdb370761)。

{ "series_slug": "tvdb370761" }

postprocess

在目录上触发 Medusa 手动后处理。扫描下载/暂存文件夹并将匹配的剧集移动到其剧集文件夹中。复用 MEDUSA_URL / MEDUSA_API_KEY 凭据。在自动后处理失败后(例如下载处理程序因发布命名错误而放弃),使用此工具清理滞留在暂存区的文件。调用 POST /api/v2/postprocess

重要: directory 参数由 Medusa 核心 解释,因此它必须是 Medusa 容器内部看到的路径(例如 /data/medusa),而不是从单独的 Hermes 容器中可见的路径。

参数:

参数

必需

默认值

备注

directory

/data/medusa

要扫描的 Medusa 容器路径。必须与 Medusa 核心的视图一致,而不是 Hermes 挂载点。

process_type

auto

automanualfailed

force_replace

false

覆盖现有的剧集文件。

process_method

copy

copymove

{ "proc_dir": "/data/medusa", "proc_type": "auto" }

bulk_add_anime

通过 POST /api/v2/anime/bulk-add 试运行或执行多个动漫添加。写入需要 execute: true

{
  "items": [{"animeId": 62076, "displayTitle": "Example Title", "aiDecision": "add"}],
  "decision_field": "aiDecision",
  "allowed_decisions": ["add"],
  "execute": false
}

Related MCP server: MyAnimeList MCP Server

配置

环境变量:

变量

是否必需

描述

MEDUSA_URL

Medusa 的基础 URL,例如 http://medusa:8081

MEDUSA_API_KEY

建议

X-Api-Key 形式发送的 Medusa API 密钥

MEDUSA_WEB_ROOT

如果 Medusa 托管在某个路径下,则为 Web 根目录

MEDUSA_TIMEOUT

HTTP 超时时间(秒),默认 30

MCP_TRANSPORT

stdiosse,默认 stdio

MCP_HOST

SSE 绑定主机,默认 0.0.0.0

MCP_PORT

SSE 绑定端口,默认 8000

MCP_DNS_REBINDING_PROTECTION

启用 MCP SDK Host/Origin 校验,默认 false

MCP_ALLOWED_HOSTS

启用 DNS 重绑定保护时,允许的 Host 请求头(逗号分隔),例如 daniel-nas.localdomain:3001,localhost:3001

MCP_ALLOWED_ORIGINS

启用 DNS 重绑定保护时,允许的 Origin 请求头(逗号分隔)

对于容器/SSE 部署,请保持 MCP_HOST=0.0.0.0 或显式设置它。DNS 重绑定保护默认处于禁用状态,因为映射端口、反向代理和局域网主机名通常会导致 421 Misdirected Request 错误。如果启用它,请在 MCP_ALLOWED_HOSTS 中包含外部可见的主机和端口。

本地运行

pip install -e .
MEDUSA_URL=http://localhost:8081 MEDUSA_API_KEY=... mcp-medusa

对于 SSE:

MEDUSA_URL=http://localhost:8081 MEDUSA_API_KEY=... mcp-medusa --transport sse --port 8000

Docker

镜像默认在端口 8000 上使用 SSE。

docker build -t mcp-medusa .
docker run --rm -p 8000:8000 \
  -e MEDUSA_URL=http://medusa:8081 \
  -e MEDUSA_API_KEY=... \
  mcp-medusa

如需改用 stdio:

docker run --rm -i \
  -e MEDUSA_URL=http://medusa:8081 \
  -e MEDUSA_API_KEY=... \
  mcp-medusa --transport stdio

CI/CD

该仓库使用全自动流水线(无需手动发布步骤):

  1. 针对 main 分支打开 PRci.yml 工作流会运行 tests/test_boot.py,该测试会实际启动服务器(stdio + SSE),并断言 FastMCP 构造、预期工具注册以及两种传输方式的绑定。这是在上线前捕获启动/导入崩溃的关卡。

  2. 自动合并。 一旦启动测试通过,enable-auto-merge 作业会使用 ACTIONS_PAT 仓库密钥合并 PR(squash 合并)(默认的 GITHUB_TOKEN 无法在此仓库中合并 PR)。

  3. 自动发布 + 构建。 推送到 main 会触发 merge-release.yml,它会重新运行启动测试,从 main 创建补丁版本递增的发布(v0.0.N+1),并在同一工作流中构建 + 推送 Docker 镜像(构建被并入 merge-release.yml,而不是单独的发布触发工作流,因为当发布由工作流通过 GITHUB_TOKEN 创建时,GitHub 会抑制 release: published 事件)。

在本地运行测试

uv venv
uv pip install -e ".[test]"
uv run pytest tests/ -v

启动测试会启动真实服务器,因此不需要 Docker。如果你修改了 server.py 启动路径中的任何内容,请在推送前运行此测试——如果服务器无法启动,CI 将阻止合并。

必需的密钥

  • ACTIONS_PAT — 具有 Contents: read+writePull requests: read+write 权限的细粒度 PAT(或经典 repo 令牌),以仓库密钥形式存储。由 ci.yml 用于合并 PR。(默认的 GITHUB_TOKEN 在此处不具备合并能力。)

  • DOCKER_USERNAME / DOCKER_PASSWORD — 由 docker-release.yml 用于推送镜像。

Available Tools

21 tools
add_animeA

Add an anime series to Medusa via /api/v2/anime/add.

Note: Some anime may fail with "no name on TVDBv2" due to AniDB→TVDB ID mapping issues. As a workaround, use search_tvdb to find the correct TVDB ID, then add_series to add it directly.

ParametersJSON Schema
NameRequiredDescriptionDefault
animeNo
sceneNo
sourceNomyanimelist
statusNowanted
anime_idYes
languageNo
root_dirYes
directory_nameNo
initial_release_groupNo
fallback_release_groupsNo
release_group_fallback_daysNo

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description bears the behavioral disclosure burden. It does exposed a key failure mode (no name on TVDBv2) and a workaround, but it does not describe side effects of the add operation, e.g., whether series are immediately searched, what happens on partial failure, or any permissions or storage effects beyond the root_dir parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action, then followed by a specific, actionable caveat. There is no filler or repetition of schema data.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 11 parameters, no annotations, and no output schema, more context is needed. The caveat is valuable, but the definition omits important context such as the purpose of the various booleans/defaults, how to obtain a valid anime_id, and what a successful add returns or triggers in the Medusa system.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. It indirectly explains that anime_id is connected to the AniDB-to-TVDB mapping and that TVDB ids are found separately, but it says nothing meaningful about root_dir, status, scene, release groups, or other params. This adds a slim hint but does not compensate for 11 undocumented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence clearly states the action ('Add an anime series'), the target system (Medusa), and the API endpoint. The note further differentiates it from the sibling add_series tool by explaining when to use the direct-series path instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit fallback workflow: use search_tvdb, then add_series, when the AniDB-to-TVDB mapping fails. It does not point to other alternatives like bulk_add_anime or resolve_and_add_anime, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_seriesA

Add a series to Medusa directly by TVDB ID via POST /api/v2/series.

Use this as a fallback when add_anime fails due to AniDB-to-TVDB mapping issues. First find the correct TVDB ID with search_tvdb, then add it here. This bypasses anime resolution entirely and adds via the standard series endpoint.

quality values: "N/A", "Unknown", "SDTV", "SD DVD", "720p HDTV", "RawHD", "1080p HDTV", "720p WEB-DL", "1080p WEB-DL", "720p BluRay", "1080p BluRay", "4K UHD TV", "8K UHD TV", "4K UHD WEB-DL", "8K UHD WEB-DL", "4K UHD BluRay", "8K UHD BluRay". When omitted, Medusa's global quality defaults are used.

ParametersJSON Schema
NameRequiredDescriptionDefault
animeNo
sceneNo
pausedNo
statusNowanted
tvdb_idYes
languageNo
root_dirYes
show_dirNo
allowed_qualitiesNo
preferred_qualitiesNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that this type of addition uses the standard series endpoint, bypasses anime resolution, and applies global quality defaults when omitted—providing operational context beyond simply saying 'add' by ID. It could go further by describing side effects or success behavior, but it still gives a better-than-simple behavioral view.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but purposeful: purpose, fallback context, workflow, and the necessary quality-values list. Every sentence earns its place, and the quality enumeration is genuinely needed since the schema lacks enum definitions. It could be marginally streamlined, but nothing is padding or tautology.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, no output schema, and zero annotations, the description is not complete enough by itself. It provides strong high-level type context and workflow, but it omits the meaning of essential parameters such as anime defaults, scene flags, paused/status semantics, language usage, and root/show directory fields. An agent might infer some of this from names, but for a complicated mutation operation it should not be relied on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It does help by enumerating all valid quality values and stating the default handling when qualities are omitted. However, most other parameters—such as root_dir, show_dir, scene, paused, status, language, and the anime boolean—are left unexplained or only inferable from their names. That is a significant gap for a 10-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the exact action, resource, and target: 'Add a series to Medusa directly by TVDB ID via POST /api/v2/series.'. It also distinguishes itself from the sibling add_anime by explicitly presenting this as fallback for TVDB-mapping failures. The verb is specific and the resource is clear, so an agent can confidently select intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool instead of add_anime: 'Use this as a fallback when add_anime fails due to AniDB-to-TVDB mapping issues.' It gives a next-step workflow: 'First find the correct TVDB ID with search_tvdb, then add it here.' It even explains why it applies in that case: 'This bypasses anime resolution entirely.' This leaves no ambiguity about the intended route.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

anime_infoA

Return compact anime details and Medusa presence by title or MAL ID. Does not add anime.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
titleNo
mal_idNo
sourceNomyanimelist
min_scoreNo
score_gapNo
max_synopsis_charsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the entire behavioral burden. It does disclose three behaviors: results are 'compact' (format), it checks 'Medusa presence' (side-effect-free lookup), and 'Does not add anime' (readiness confirmation). But the default score thresholding (min_score=88, score_gap=8) is entirely hidden, so an agent cannot foretell that a no-arg call returns only high-scored results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero scaffolding: the first delivers verb+resource+key parameters and the second is a focused exclusion with no lexical fat. Every token earns context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with 0% schema coverage the description is too thin. Although an output_schema exists and sprites the need to describe return values, the unexpected default scoring (min_score=88, score_gap=8) changes the meaning of a no-arg call and is not disclosed anywhere. The 'does not add' line is good but does not close the gap around how many results come back and under what criteria.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, the intended over-write is required. The description explains title and mal-ud (both named in text), and implies source myanimel; the other five parameters (limit, source, min_score, score_gap and the max fields) remain completely unexplained. With this low coverage and no schema narratives, the description compensation be heavier to compensate, and it doesn't.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Starts with a specific verb and resource – 'Return compact anime details and Medusa presence by title or MAL ID' – so an agent knows at once what it does and how it finds results. The closing ' Does not add anime' explicitly separates it write-related siblings like add_anime, resolve_and_add_anime, and bulk_add_anime. This distinguishes it from siblings without requiring a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Does not add animes' sentence is a useful negative scope marker – it tells the agent this is not for creation tasks. However, it never says when to prefer this over sibling lookups (search_tvdb, seasonal_anime, resolve_anime_title, diagnose_release_groups) and names no alternatives explicitly. Usage context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bulk_add_animeA

Dry-run or add multiple anime items. Skips filterDecision=skip; execute must be true for writes.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
sourceNomyanimelist
executeNo
root_dirNo/media/videos/Anime
max_itemsNo
pause_secondsNo
decision_fieldNo
verify_attemptsNo
allowed_decisionsNo
verify_delay_secondsNo
initial_release_groupNoSubsPlease
fallback_release_groupsNo
release_group_fallback_daysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does usefully state that items with 'filterDecision=skip' are skipped and that 'execute must be true for writes,' implying writes do not happen otherwise. However, it does not disclose behavior for non-skip decisions, partial failures, side effects on disk, or what response the agent should expect. This is minimally transparent but far from complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero filler and front-loads the most critical operational distinction: dry-run vs. actual write, and the execute gate. Every word earns its place in terms of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity -- 13 parameters, hidden 'items' schema, nested release-group logic, no annotations -- the description is too thin to fully support an agent invocation. It handles the most important write-or-not gate, but omits context for options like max_items, delays, fallback release groups, and expected outcom. Without adding detailed parameter explanations, the tool is under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for a large parameter set. It only clarifies 'execute' and the role of 'filterDecision=skip' within items. Most members params -- such as 'root_dir', 'max_items', 'pause_seconds', 'allowed_decisions', and release-group settings -- receive no description. Given 13 params and an opaque 'items' array, this is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'dry-run or add multiple anime items.' This distinguishes the tool from the singular add_anime sibling and clarifies that it is a batch operation. The dry-run/write distinction further sharpens the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states when to use this tool: for adding multiple anime items, optionally in dry-run mode. It also sets the key condition 'execute must be true for writes,' giving explicit operational advice. It does not explicitly name alternatives, but the plural intent and sibling 'add_anime' make the usage context reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_aliasA

Create a local scene exception (alias) for a series.

This enables Medusa to recognize an alternative release title when searching, allowing it to match releases that use a different naming scheme. Only local (user-managed) scene exceptions can be created via this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe alternative title to add as a scene exception.
seasonNoOptional season number. If omitted, applies to all seasons.
series_slugYesSeries slug (e.g. "tvdb1234").

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It clearly discloses that creating the alias changes how Medusa handles future searches, and adds the important scope limitation that only local, user-managed exceptions can be created. This goes beyond a bare 'create' statement and gives the agent a solid mental model of effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: a short lead sentence stating the operation and a two-sentence expansion explaining purpose and scope. It is front-loaded with the most important information and contains no irrelevant enfluff or abstruse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple creation tool with an output schema and 100% parameter coverage, the rest of description addresses what the operation does, why it is needed, and its local scope. The only missing detail is duplication behavior (what happens if the same alias again), but that's not essential for calling the tool successfully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is appropriate. The description does not define the individual parameters but does contextualize 'name' as an 'alternative release title', which is a minor clarification over the schema text (which says 'The alternative title to add as a scene exception'). No additional parameter-level information is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with the specific verb-resource pair 'Create a local scene exception (alias) for a series' and then explains the operational purpose: enabling Medusa to recognize alternative release titles. It is clearly distinct from siblings like delete_alias and get_aliases, and the local-scope caveat sharpens the definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: when a series needs a locally-managed alternative title for search matching. However, it does not explicitly contrast with sibling tools such as get_aliases or delete_alias, and the 'Only local' note hints at alternatives without naming them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_aliasB

Delete a scene exception (alias) by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
alias_idYesThe alias ID to delete.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description must carry the behavioral disclosure burden. It communicates the destructive 'delete' action but does not mention whether deletion is permanent, whether related scene data is affected, or whether any permission/state requirements exist. This is thin for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, no filler, and immediately actionable. It uses the remaining tokens for the only relevant bit of context: that an alias is a scene exception.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, has one parameter, and an output schema exists, so no return-value documentation is needed. However, with no annotations and no behavioral context, the description still leaves a destructive action without side-effect or irreversibility caveats. Acceptable but minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes the only parameter (alias_id) at 100% coverage, so the description does not need to add much. It also does not elaborate on how alias_id should be obtained or what constitutes a valid ID; baseline for high schema coverage is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb ('Delete') and a specific resource ('alias'), and clarifies that an alias is a scene exception. That makes its purpose unambiguous and distinguishes it from siblings like create_alias and get_aliases without needing more detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance about when to prefer this tool over alternatives or when not to use it. The delete semantics imply the intended use, but the description does not offer any comparison or exclusions beyond the operation itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagnose_release_groupsA

Diagnose release group issues for a series by comparing config vs available releases.

Checks provider cache first; if empty, triggers a manual search and retries. Returns a structured diagnosis with recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
seasonNoSeason number to check (default: 1).
episodeNoEpisode number to check (default: 1).
max_retriesNoHow many times to retry when a search is in progress (default: 3).
series_slugYesSeries slug (e.g. "tvdb1234").
retry_delay_secondsNoSeconds to wait between retries (default: 5.0).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since there are no annotations, the description carries the behavioral burden. It discloses useful traits: provider cache is checked first, an empty cache triggers manual search and retries, and the result is a structured diagnosis with a recommendation. But it stops short of explicitly confirming whether this tool is fully read-only or whether triggering a search has user-visible side effects like rate limiting or network costs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with purpose, and includes the algorithmic flow and return type in just three sentences. Every sentence serves a purpose and there is no redundant filler or schema repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter diagnostic tool with 100% schema coverage and an output schema, the description gives enough context onbthe flow and result. It still lacks explicit guidance on side effects and failure behavior when retries expire, which would make the context fuller.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, so the baseline is 3. The description does not add parameter-specific semantics beyond the summaries; e.g., it doesn't mention season, episode, or retry controls. The exisfing schema descriptions are sufficient, so no strong penalty is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'diagnose release group issues for a series' and explains that it compares config vs available releases. This clearly separates it from siblings like update_release_groups and force_search, which imply modification and search behavior respectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied through the verb 'diagnose' and the comparison of config vs releases, but the description never states when to prefer this over alternatives such as force_search or update_release_groups. It provides no when-not-to-use conditions or explicit alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_aliasesA

List scene exceptions (aliases) for a series.

Scene exceptions are alternative episode/release titles that Medusa recognizes when searching. This tool reads them; use create_alias to add new ones.

ParametersJSON Schema
NameRequiredDescriptionDefault
seasonNoOptional season number to filter by.
series_slugYesSeries slug (e.g. "tvdb1234").

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description itself must declare behavioral intent. It clearly states the operation is read-only ('List', 'reads them') and does not claim any mutation or side effect. It doesn't go into error cases or auth, but for a simple list operation with an output schema present, the essential behavior is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short, focused sentences. It front-loads the core purpose, gives the domain definition in the middle, and closes with the relevant sibling pointer. Every sentence adds value and none repeats schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple parameter set (one required slug, one optional filter), a complete output schema, and the explicit read-only and create-alias routing, nothing necessary for an agent to select and invoke this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes both parameters with 100% coverage: series is required and season is an optional filter. The description adds context about what scene exceptions are but does not add new details about the series_slug or season formats' that aren't in the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('List'), a specific resource ('scene exceptions (aliases)'), and a scope ('for a series'), so the agent knows exactly what the tool returns. It also defines the term and separates reading from writing by naming create_alias.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'This tool reads them' and then directs the agent to use create_alias when adding new ones. This provides a clear decision rule over when to use is tool v. a mutation sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

organize_season_foldersA

Move episodes into Season XX/ subdirectories without renaming files.

Enables season folders on the series and moves all downloaded episode files into Season XX/ subdirectories, preserving original filenames. Also moves associated files (subtitles, etc.).

Use this when:

  • A multi-season anime has all files in a flat directory

  • Plex is missing episodes due to poor multi-season-in-one-folder support

  • A second season was added years later to a show originally added flat

Calls POST /api/v2/series/{slug}/operation with type=ORGANIZE_SEASON_FOLDERS.

ParametersJSON Schema
NameRequiredDescriptionDefault
series_slugYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description fills the burden reasonably. It discloses that the action moves all downloaded episode files, preserves original filenames, enables season folders, and also moves associated subtitled/other files. It does not add notes about irreversibility or downstream effects, but the core behavior is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a one-line command, then branches into a short 'Maybe this' bullets list and the exact API call. It is compact and effectively structured, though the second paragraph partly re-explains the first by saying it enables season folders and moves all downloaded files.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parametically tool with an output schema and no annotations, the description gives the operation, the endpointBody, scope, and typical usage conditions. The only meaningful gap is the under-specified series_slug value, but an agent can infer enough to invoke it correctly. This is complete enough to act on autonomously.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one required string, series_slug, with a 0% description coverage, so the description must carry the meaning. The endpoint line 'series/{slug}' and the repeated use of 'series' imply that series_slug is the series identifier, but the description never explicitly states the expected format or how the slug is obtained. Partial but not full compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a precise verb-plus-resource statement: 'Move episodes into Season XX/ subdirectories without renaming files.' It further specifies that original filenames are prserved and associated files like subitles are moved too, so an agent can clearly picture exactly what the operation does and how it differs from a rename/organizer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a explicit 'Use this when' list with three concrete signals: flattened multi-season directories, Plex missing episodes due to multi-season-in-one-folder, and a late second season. It does not state when not to use it or name an alternative sibling, so it stops short of full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

postprocessA

Trigger Medusa manual post-processing on a directory.

Scans directory (a download/staging folder) and moves matched episodes into their show folders. Reuses Medusa credentials from MEDUSA_URL / MEDUSA_API_KEY. Use this to clear files stranded in staging after a failed auto-post-process (e.g. a mis-named release that the download handler bailed on).

IMPORTANT: directory is interpreted by MEDUSA CORE, so it must be the path as seen inside the Medusa container (e.g. /data/medusa), NOT the path visible from the Hermes container.

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryNoMedusa-container path to scan (default /data/medusa)./data/medusa
process_typeNo'auto' (guess), 'manual' (use names), 'failed'.auto
force_replaceNoOverwrite existing episode files.
process_methodNo'copy' or 'move'.copy

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses that files are moved, credentials are reused from MEDUSA_URL/MEDUSA_API_KEY, and directory is interpreted by Medusa core rather than the Hermes container. This is meaningful trading beyond the input schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact yet complete: purpose, action, use case, credential reuse, and the critical path caveat. The important warning is explicitly flagged with 'IMPORTANT', and no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

All four parameters are documented in schema, return shape is covered by output schema, and the free-text description supplies the missing behavioral and practical context: when to use, the container-path requirement, and the file-moving consequence. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds real value for the key parameter by clarifying that directory must be the container-side path, and it connects the use case to the failed/auto-post-process flow, which maps to process_type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb-resource pair and explains the actual operation: scan a directory and move matched episodes into show folders. It clearly distinguishes this from the sibling tools, none of which focus on Medusa post-processing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit scenario: clear files stranded in staging after a failed auto-post-process, with a concrete example. It does not enumerate when-not-to-use or name a sibling alternative, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_seasonal_reviewC

Compact seasonal candidates into an AI review packet.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
max_itemsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the tool is read-only, whether it modifies persisted state, how it handles large candidate sets, or what 'compacting' actually changes. 'Compact into a packet' hints at transformation but leaves side effects ambiguous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler and the core purpose is front-loaded. However, it is only minimal under-specification rather than genuinely rich concise; it still earns credit for not wasting words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no parameter descriptions, and the existence of several sibling tools, this description is too brief for an agent to understand the contract fully. The output schema may clarify return values, but it does not compensate for missing guidance about inputs, limits, usage flow, or side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it does not explain 'items' shape or the meaning of 'max_items'. The phrase 'seasonal candidates' weakly maps to 'items,' but 'max_items' is unmentioned and no parameter semantics are clarified. With two undocumented parameters, this is a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Compact') and a concrete resource ('seasonal candidates') with a clear output destination ('AI review packet'). It distinguishes the tool's job from sibling tools like 'seasonal_candidates' or 'organize_season_folders', though it does not explicitly name any sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives, and it does not state any preconditions or follow-up actions. The only implicit hint is that it operates on 'seasonal candidates,' but that is not enough to route an agent confidently.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_and_add_animeB

Resolve and optionally add one anime. Dry-run unless execute is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
titleNo
mal_idNo
sourceNomyanimelist
executeNo
root_dirNo/media/videos/Anime
min_scoreNo
score_gapNo
directory_nameNo
verify_attemptsNo
verify_delay_secondsNo
initial_release_groupNoSubsPlease
fallback_release_groupsNo
release_group_fallback_daysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It does disclose the critical dry-run behavior and the execute flag that switches to a mutating add. However, it does not explain side effects of adding, how resolution works, or whether filesystem/mal changes occur beyond the parameter names.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only one sentence and is front-loaded with the essential action and the dry-run caveat. No filler is present, but it is too terse for a tool with this many parameters and no schema documentation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for a 14-parameter tool with no schema descriptions. It omits the resolution process, criteria such as min_score and score_gap, release group fallback behavior, and filesystem implications. The presence of an output schema does not compensate for the missing input semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds almost no explanation of the 14 parameters. It only gives meaning to execute ('dry-run unless execute is true'); the rest of the parameters—mal_id, limit, score_gap, root_dir, release groups—remain unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the action: resolve and optionally add one anime, with a dry-run default unless execute is true. This is a specific verb plus resource ('anime') and helps distinguish it from broad tools like bulk_add_anime, though it does not explicitly differentiate from add_anime or resolve_anime_title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a dry-run-first workflow: run without execute to preview, then set execute=true to actually add. It gives the central usage condition, but does not provide guidance on when to choose this tool over the sibling add_anime, resolve_anime_title, or bulk_add_anime.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_anime_titleB

Resolve an anime title to MAL candidates with match/ambiguous/no_match decision.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
titleYes
fieldsNo
sourceNomyanimelist
min_scoreNo
score_gapNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Because no annotations are present, the description must carry the behavioral burden. It at least discloses the core decision behavior and the fact that it resolves to MAL candidates rather than mutating data. However, it does not mention whether it performs an external network call, requires credentials, or is read-only, leaving gaps for a no-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler words and the primary purpose is front-loaded. It is compact and readable, though its brevity leaves room for omission of important contextual detail, which is reflected elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With six parameters and no annotations, the description is insufficient on its own for an agent to confidently adapt calls. The output schema exists, but the meaning of threshold and filtering parameters, how the decision is derived, and how this differs from resolve_and_add_anime are missing. It covers the broad job but not enough of the operational details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameters, but it does not. The word 'title' maps to the title parameter, but limit, fields, source, min_score, and score_gap are all unexplained, leaving most of the six parameters ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Resolve'), a specific resource ('anime title'), a target ('MAL candidates'), and a concrete decision output ('match/ambiguous/no_match'). It clearly differs from siblings like resolve_and_add_anime, which implies adding after resolution, and search_tvdb, which targets a different database.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided. The description does not compare itself to resolve_and_add_anime or any other sibling, so an agent cannot tell from the description alone whether to call this tool or a related one for a given workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scheduler_statusA

Return Medusa scheduler and queue status.

Shows whether each scheduler thread is alive, enabled, and currently active. Useful for diagnosing stuck queues.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations to cover behavior, the description adds real value by explaining exactly what status information is returned: whether each scheduler thread is alive, enabled, and active. This is sufficient for a simple read-only diagnostic tool, even though it does not mention authentication or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences with no waste. It front-loads the core purpose, expands on the exact information returned, and then states the practical use case.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter read-only status tool with an output schema present, the description is complete. It gives the agent enough to select the tool, understand what to expect, and judge when the result has diagnostic value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema already fully documents that fact, so there is no parameter meaning for the description to clarify. Baseline 4 is appropriate for a zero-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Return') and resource ('Medusa scheduler and queue status'), and elaborates on what is shown: thread liveness, enabled state, and active state. It is clear and distinct from sibling tools like postprocess or force_search, though it doesn't explicitly name a sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear practical use case: 'Useful for diagnosing stuck queues.' This implies when to reach for this tool, though it does not explicitly state when not to use it or name an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_tvdbA

Search TVDB for a show by name and return matching TVDB IDs.

Use this when an anime add fails due to AniDB-to-TVDB mapping issues. Find the correct TVDB ID here, then add the show with add_series.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
languageNoen

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations to lean on, the description carries the burden. It clearly states the operation is a search/read and describes the return value as TVDB IDs. Does not mention rate limits or endpoints, but such details are not necessary for an agent to correctly invoke this tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the operation, then the exact trigger scenario, and the follow-up action. No filler and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description copes for the basic search flow and the follow-along with add_series, and an output schema is present. Gaps from a partially undocumented language parameter and no explicit failure/empty-result behavior, so it is not fully complete without schema inspection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning for 'query' by saying 'by name', but the optional 'language' parameter is entirely undocumented and schema description coverage is 0%. The description must compensate at this coverage level but it only does so for one of two parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Search) + resource (TVDB) + input (show name) + output (matching TVDB IDs). Clearly differentiates from the sibling add_series and add_anime tools by focusing on lookup only, not adding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it: when an anime add fails due to AniDB-to-TVDB mapping issues. It also gives the next step: use add_series with the found ID. No explicit when-not or alternative search tools are mentioned, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seasonal_animeB

Query a paginated seasonal anime page from Medusa, optionally returning only selected fields.

Season, source, and source_sort are case-insensitive.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
yearNo
limitNo
fieldsNo
seasonNo
sourceNomyanimelist
source_sortNoanime_num_list_users

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It does disclose that the tool is paginated, can return only selected fields, and treats season, source, and source_sort case-insensitively. It does not disclose output shape, default behavior, or what affects the sort order.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no filler. The core operation is front-loaded, and the second sentence provides a focused behavioral detail. Every sentence earns its place despite the limited scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with no output schema and no annotations, the description is too thin. It lacks guidance on parameter meaning/value formats and default behavior. An agent would likely need additional inspection before it can call this tool correctly in a nontrivial case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate for seven parameters. It only partially covers 'fields' and mentions case-insensitivity for three parameters, but it leaves semantics of 'year', 'season', 'source', 'source_sort', 'page', and 'limit' mostly to invention. This is not enough for a tool with zero schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb ('Query') and a specific resource ('paginated seasonal anime page from Medusa'), and mentions pagination and optional field selection. It does not explicitly contrast itself with sibling tools such as seasonal_candidates, so an agent still has to infer some distinction from the resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives like seasonal_candidates, anime_info, or force_search. There are no exclusions or conditions, and the reader must implicitly infer the correct context from the word 'seasonal anime'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seasonal_candidatesC

Fetch server-filtered seasonal anime candidates and apply residual preference heuristics.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
limitNo
fieldsNo
seasonNo
sourceNomyanimelist
max_pagesNo
source_sortNoanime_num_list_users
include_skippedNo
min_num_list_usersNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full safety and behavioral burden. 'Fetch' suggests a read operation, but 'apply residual preference heuristics' is opaque and could imply state changes, yet no side effects, modifications, or side-effect-free claims are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that leads with the primary verb and resource. It is not bloated, though the word 'residual' is vague jargon that slightly undermines the clarity of the concise structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 9 unannotated parameters and no guidance, a one-sentence description is incomplete. The meaning of server-filtering, the heuristics, and how they map to the listed parameters is unknown; an agent cannot confidently invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% while there are 9 parameters, so the description must compensate but does not. Terms like 'seasonal' and 'preference heuristics' loosely imply year/season and source_sort/min_num_list_users, but no parameter is explicitly mapped or explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Uses the specific verb 'Fetch' with a clear resource and scope, indicating that this tool returns a 'candidates' list for a season. However, the phrase 'residual preference heuristics' is vague, and it doesn't explicitly distinguish itself from the sibling 'seasonal_anime'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like seasonal_anime or prepare_seasonal_review. The description implies a filtered candidate pipeline, but does not state which scenario should call this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_episode_statusA

Set episode statuses for a series via PATCH /api/v2/episodes/{series_slug}.

Use when TVDB metadata is out of sync with actual episode status and Medusa is not downloading episodes that should be available. Set affected episodes to "wanted" to force Medusa to search for them.

Uses the same PATCH endpoint as the Medusa Web UI, so it can change UNAIRED episodes to WANTED unlike the internal bulk-update endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoTarget status string ("wanted", "skipped", "ignored").wanted
episodesYesEpisode slugs (e.g. ["s01e01", "s01e02"]).
series_slugYesSeries slug (e.g. "tvdb370761").

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of explaining side effects. It discloses that the tool mutates episode statuses, triggers Medusa to search episodes, and can converts UNAIRED episodes to WANTED. It does not discuss permissions or reversibility, but the core behavioral side effects are clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The principle operation is stated first, followed by problem scenario and the comparison to the alternative endpoint. Each sentence serves a purpose, and the description is compact enough for quickly consuming.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-param mutation tool with an output schema, the description provides the operation, the exact endpoint, when to use it, and the behavioral mechanism. The schema covers the remaining param details, so agents have enough information to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents `status`, `episodes`, and `series_slug`. The description adds use-case context around setting episodes to `wanted`, but does not add parameter-level detail beyond what the schema and default `wanted value already provide. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb, resource, and endpoint: 'Set episode statuses for a series via PATCH /api/v2/episodes/{series_slug}. It is not a tautology and conveys the operation clearly. It does not explicitly distinguish itself from the sibling force_search, though the use case and endpoint make the role reasonably unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a concrete trigger ('Use when TVDB metadata is out of sync... and Medusa is not downloading episodes that should be available'), giving the agent a strong signal for when to select this tool. It also references an alternative ('internal bulk-update endpoint') and explains why this tool is preferable for changing UNAIRED to WANTED.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_release_groupsA

Update release group configuration for a series.

Sends PATCH /api/v2/series/{slug} with the specified config.release.* fields. Only the provided fields are changed; omitted fields are left as-is.

ParametersJSON Schema
NameRequiredDescriptionDefault
blacklistNoBlacklisted release groups.
whitelistNoWhitelisted release groups.
series_slugYesSeries slug (e.g. "tvdb1234").
fallback_daysNoDays before falling back to the next group.
fallback_groupsNoAnime release group fallback list (in priority order).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the behavioral disclosure burden. It usefully reveals that the operation is a PATCH, meaning only provided fields change and omitted fields remain untouched. This is important safety-relevant behavior for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-ordered: purpose first, then the HTTP operation, then the behavioral contract. Every sentence serves a distinct purpose with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a flat 5-parameter update tool with an output schema, this is nearly complete. The main missing nuance is whether sending a nullable field explicitly as null clears it or is ignored, since 'only provided fields are changed' suggests null might be significant.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters already have useful descriptions. The description does not add further parameter-level nuance, such as how null values are interpreted, so the schema is doing the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Update release group configuration for a series'. It also names the exact HTTP endpoint, making it easy to distinguish this from siblings like update_series_quality or diagnose_release_groups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The first sentence clearly states when to use the tool: when release group configuration for a series needs to be updated. It gives context but does not explicitly mention alternatives, edge cases, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_series_qualityA

Update allowed and/or preferred qualities for an existing series.

Sends PATCH /api/v2/series/{slug} with config.qualities.* fields. Only the provided fields are changed; omitted fields are left as-is.

quality values: "N/A", "Unknown", "SDTV", "SD DVD", "720p HDTV", "RawHD", "1080p HDTV", "720p WEB-DL", "1080p WEB-DL", "720p BluRay", "1080p BluRay", "4K UHD TV", "8K UHD TV", "4K UHD WEB-DL", "8K UHD WEB-DL", "4K UHD BluRay", "8K UHD BluRay".

ParametersJSON Schema
NameRequiredDescriptionDefault
series_slugYesSeries slug (e.g. "tvdb370761").
allowed_qualitiesNoQuality names for the allowed list.
preferred_qualitiesNoQuality names for the preferred list.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description itself must disclose behavior. It does this well by explaining that only provided fields are changed and omitted fields remain untouched. The HTTP PATCH method and accepted quality values add useful behavioral context beyond a simple update statement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the core purpose, and uses the space efficiently. The quality value list is long but necessary because those values are not otherwise represented as enums in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The definition provides enough context for an agent to call the tool: endpoint, required and optional parameters, valid values, and partial update behavior. It does not detail auth requirements or return values, but the tool has no output schema and this is likely a simple mutation, so these are not critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers all parameter descriptions, but this is a case where the description adds real value by listing the valid quality strings, since there are no enums in the schema. It also clarifies that provided fields are merged with existing values rather than replacing the whole config.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it updates allowed and/or preferred qualities for an existing series, identifies the specific PATCH endpoint, and this distinguishes it from sibling tools like update_release_groups. The verb and resource are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly frames the usage context: updating quality settings for an existing series via PATCH. It also clarifies partial update behavior, which is essential for correct use. It does not explicitly name alternatives, but the scope is clear enough that an agent can select this tool without much inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.3/5.0
Disambiguation3/5

The core Medusa operations (aliases, release groups, searches, postprocessing) are clearly separated, but the anime-related tools have overlapping boundaries: seasonal_anime, seasonal_candidates, prepare_seasonal_review, resolve_anime_title, and resolve_and_add_anime all seem to cover similar discovery/dedup/resolution steps. Add flows are also split across add_series, add_anime, resolve_and_add_anime, and bulk_add_anime, so an agent may struggle to pick the right one without careful reading.

Naming Consistency4/5

Tool naming is overwhelmingly snake_case with a verb_noun pattern (create_alias, set_episode_status, update_series_quality, bulk_add_anime). Only a few tools deviate into noun-first or adjective-first forms such as anime_info and seasonal_anime, but the convention is still predictable overall.

Tool Count3/5

At 21 tools, the surface is on the upper edge of comfort and feels heavy for a cohesive server. The count is justifiable given the two intertwined domains of TV-series management and anime seasonal workflows, but some tools appear to cover niche pipeline stages that a smaller set could absorb.

Completeness3/5

The set covers many operational needs: adding series, adjusting statuses, searching, postprocessing, quality, season folders, aliases, scheduler status, and anime fetching. However, it lacks a general way to list or retrieve an existing series' slug/config, and there is no update path for aliases—only create/delete—so agents cannot fully reconcile or inspect existing state before modifying it.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Provides MCP access to the BangumiTV API, allowing users to retrieve and interact with anime, manga, music, and game information through natural language queries.
    17
    24
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables searching Overseerr media, retrieving TMDB-backed details, and submitting movie or TV requests through MCP tools.
    5
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables interaction with the *arr media management suite (Sonarr, Radarr, Lidarr, Prowlarr, SABnzbd) and TRaSH Guides through MCP tools, allowing media library management, searching, and configuration via natural language.
    70
    8
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cpxazn/mcp-medusa'

If you have feedback or need assistance with the MCP directory API, please join our Discord server