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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| 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. |
| 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. |
| 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. |
| 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. |
| delete_aliasB | Delete a scene exception (alias) by ID. |
| scheduler_statusA | Return Medusa scheduler and queue status. Shows whether each scheduler thread is alive, enabled, and currently active. Useful for diagnosing stuck queues. |
| postprocessA | Trigger Medusa manual post-processing on a directory. Scans IMPORTANT: |
| 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. |
| 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. |
| 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". |
| 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:
Calls POST /api/v2/series/{slug}/operation with type=ORGANIZE_SEASON_FOLDERS. |
| 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. |
| seasonal_animeB | Query a paginated seasonal anime page from Medusa, optionally returning only selected fields. Season, source, and source_sort are case-insensitive. |
| resolve_anime_titleB | Resolve an anime title to MAL candidates with match/ambiguous/no_match decision. |
| anime_infoA | 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_animeB | Resolve and optionally add one anime. Dry-run unless execute is true. |
| bulk_add_animeA | 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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