mcp-medusa
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | SSE bind host, default 0.0.0.0 | 0.0.0.0 |
| MCP_PORT | No | SSE bind port, default 8000 | 8000 |
| MEDUSA_URL | Yes | Base URL for Medusa, for example http://medusa:8081 | |
| MCP_TRANSPORT | No | stdio or sse, default stdio | stdio |
| MEDUSA_API_KEY | No | Medusa API key sent as X-Api-Key | |
| MEDUSA_TIMEOUT | No | HTTP timeout in seconds, default 30 | 30 |
| MEDUSA_WEB_ROOT | No | Web root if Medusa is hosted below a path | |
| MCP_ALLOWED_HOSTS | No | Comma-separated allowed Host headers when DNS rebinding protection is enabled | |
| MCP_ALLOWED_ORIGINS | No | Comma-separated allowed Origin headers when DNS rebinding protection is enabled | |
| MCP_DNS_REBINDING_PROTECTION | No | Enable MCP SDK Host/Origin validation, default false | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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. Args: series_slug: Series slug (e.g. "tvdb1234"). season: Season number to check (default: 1). episode: Episode number to check (default: 1). max_retries: How many times to retry when a search is in progress (default: 3). retry_delay_seconds: Seconds to wait between retries (default: 5.0). |
| 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. Args: series_slug: Series slug (e.g. "tvdb1234"). whitelist: Whitelisted release groups. blacklist: Blacklisted release groups. fallback_groups: Anime release group fallback list (in priority order). fallback_days: Days before falling back to the next group. |
| 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. Args: series_slug: Series slug (e.g. "tvdb1234"). season: Optional season number to filter by. |
| 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. Args: series_slug: Series slug (e.g. "tvdb1234"). name: The alternative title to add as a scene exception. season: Optional season number. If omitted, applies to all seasons. |
| delete_aliasC | Delete a scene exception (alias) by ID. Args: alias_id: The alias ID to delete. |
| scheduler_statusA | Return Medusa scheduler and queue status. Shows whether each scheduler thread is alive, enabled, and currently active. Useful for diagnosing stuck queues. |
| 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. |
| 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. |
| 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. Args: series_slug: Series slug (e.g. "tvdb370761"). episodes: Episode slugs (e.g. ["s01e01", "s01e02"]). status: Target status string ("wanted", "skipped", "ignored"). |
| force_searchA | Force a manual search for specific episodes via PUT /api/v2/search/manual. Queues a manual search that actively queries providers and snatches matching releases. Use after setting episode status to "wanted" when you want to immediately search for and download episodes. Args: series_slug: Series slug (e.g. "tvdb370761"). episodes: Episode slugs (e.g. ["s01e01", "s01e02"]). |
| 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". Args: series_slug: Series slug (e.g. "tvdb370761"). allowed_qualities: Quality names for the allowed list. preferred_qualities: Quality names for the preferred list. |
| add_animeB | 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. |
| seasonal_animeA | Query a paginated seasonal anime page from Medusa, optionally returning only selected fields. Season, source, and source_sort are case-insensitive. |
| resolve_anime_titleC | Resolve an anime title to MAL candidates with match/ambiguous/no_match decision. |
| anime_infoB | Return compact anime details and Medusa presence by title or MAL ID. Does not add anime. |
| seasonal_candidatesC | Fetch server-filtered seasonal anime candidates and apply residual preference heuristics. |
| prepare_seasonal_reviewC | Compact seasonal candidates into an AI review packet. |
| resolve_and_add_animeC | Resolve and optionally add one anime. Dry-run unless execute is true. |
| bulk_add_animeB | Dry-run or add multiple anime items. Skips filterDecision=skip; execute must be true for writes. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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