mediathek-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Unofficial read-only MCP server for the German Mediathek via the free MediathekViewWeb API (mediathekviewweb.de) — no key, no login. It searches the programmes of the German public broadcasters (ARD, ZDF, 3sat, ARTE, Phoenix, tagesschau24, KiKA and the regional channels) in the MediathekView film list (~700,000 entries, updated several times a day). Searches match title, topic and description; results are newest first. "Latest broadcasts" searches the most common letter across title/topic/description because the API returns nothing for an empty query and has no wildcard — the result is effectively the newest programmes. Video URLs are direct MP4 links (low / standard / HD); subtitle_url is empty when no subtitles exist. Built by Mohammad Abbasi (mohammad-abbasi-sh) — https://almanibama.ir · https://mabbasi.ir — Germany MCP factory.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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 |
|---|---|
| mediathek_search_programmesA | Search Mediathek programmes by title, topic or description. query: free text, e.g. "Tagesschau" or "Tatort". channel: optional, e.g. "ZDF" (see mediathek_list_channels). limit: 1..50 (default 10). |
| mediathek_latest_broadcastsA | Newest programmes across all channels, newest first. limit: 1..50 (default 10). |
| mediathek_by_channelA | Newest programmes of one channel, newest first. channel: e.g. "ZDF", "ARD", "3sat", "ARTE.DE", "PHOENIX" (see mediathek_list_channels). limit: 1..50 (default 10). |
| mediathek_by_topicA | All episodes of one show/series (topic), newest first. topic: e.g. "heute journal" or "Tagesschau". limit: 1..50 (default 10). |
| mediathek_programme_detailA | Full detail of one programme: all video URLs (low/standard/HD), subtitle URL and website link. title: exact programme title, e.g. "heute journal vom 8. November 2026 (S2026/E333)". channel: optional, e.g. "ZDF", to disambiguate same-named titles. |
| mediathek_list_channelsB | Channels in the MediathekView film list (curated list — the API has no channel-list endpoint). |
| mediathek_healthA | Check whether mediathekviewweb.de is reachable right now. Returns status ok (HTTP 200), blocked (HTTP 403/429 — bot wall or rate limit) or error, plus the HTTP status and the probed URL. One polite request; it does not fetch any listings. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a clear primary purpose: free-text search, latest listings, channel filtering, topic/series listing, programme detail, channel enumeration, and health check. There is some overlap between search_programmes and by_topic since both can retrieve items by show/topic, and between latest_broadcasts and by_channel, but the descriptions make the intended distinctions reasonably clear.
All tools use a consistent mediathek_ prefix and snake_case naming, making the set easy to scan. The suffixes mix grammatical patterns (search_programmes, latest_broadcasts, by_channel, programme_detail), but they remain readable and internally predictable.
Seven tools is well-scoped for a read-only media browsing server, with each tool covering a distinct browsing mode plus a health probe. No tool feels redundant or superfluous.
The surface covers the core read-only lifecycle: discovery via search/latest/channel/topic, detail retrieval with media URLs, channel listing, and availability checking. Minor gaps include no pagination beyond the 50-item limit and no date-range filtering, but agents can work around these.