Skip to main content
Glama

deutschlandfunk-mcp πŸ“»

mcp-name: io.github.mohammad-abbasi-sh/deutschlandfunk-mcp

Unofficial read-only MCP server for deutschlandfunk.de β€” Deutschlandfunk news & radio from its official RSS feeds: rolling news, latest contributions, topic feeds, keyword search, full article text and the live stream link. No key, no login. No key, no login.

Built by Mohammad Abbasi as part of the "Germany MCP factory". Not affiliated with deutschlandfunk.de.

For AI agents

Add to your MCP client config (stdio):

{
  "mcpServers": {
    "deutschlandfunk": {
      "command": "uvx",
      "args": ["deutschlandfunk-mcp==0.1.0"]
    }
  }
}

Or run locally: python -m deutschlandfunk_mcp.server (needs mcp<2, httpx).

Related MCP server: reddit-mcp

Tools

Tool

Description

dlf_latest_news

Rolling DLF news headlines β€” limit 1..50

dlf_latest_contributions

Latest DLF contributions (articles & audio features) β€” limit 1..50

dlf_news_by_topic

DLF news by topic β€” topic (europa/gesellschaft/wirtschaft/wissen/kultur/sport/politik), limit 1..50

dlf_search_news

Keyword search over recent DLF items β€” query, limit 1..50

dlf_get_article

Full text of one DLF article β€” url (a deutschlandfunk.de article link)

dlf_listen_live

Deutschlandfunk live stream link (verified reachable) β€” no arguments

dlf_health

Reachability probe (ok / blocked / error) β€” one polite request

Notes

  • All data comes from Deutschlandfunk's official RSS feeds (free, no key, no login).

  • DLF pages are JS-app shells: article text is extracted from embedded js-client-queries JSON blobs (Article with ParagraphText blocks) β€” there is no JSON-LD and the visible <p> tags are navigation/topic descriptions, not the article body.

  • The live stream URL 302-redirects to a signed CDN URL; dlf_listen_live reports the canonical URL plus its HEAD reachability.

  • Podcast show listing is not a tool: the podcasts page's pathPodcast fields are section navigation links, not per-show feeds (show feeds exist per show as <slug>-100.rss but are not reliably enumerable from the page).

Tests: 23/23 green (16 offline + 7 live, 2026-11-10).

Development

python3 -m venv .venv && .venv/bin/pip install "mcp<2" httpx pytest
.venv/bin/pip install -e .
.venv/bin/python -m pytest tests/ -q

License

MIT


Built by Mohammad Abbasi β€” Almanibama Β· mabbasi.ir

Available Tools

7 tools
dlf_get_articleA

Full text of one Deutschlandfunk article. url: a deutschlandfunk.de article link, e.g. https://www.deutschlandfunk.de/klimawandel-...-100.html (news-flash pages may return only the leader text).

Inputs: url (required). Returns: result

dlf_healthA

Check whether deutschlandfunk.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.

Inputs: no named parameters. Returns: result

dlf_latest_contributionsB

Latest Deutschlandfunk contributions (articles & audio features). limit: 1..50 (default 10).

Inputs: limit. Returns: result

dlf_latest_newsA

Rolling Deutschlandfunk news headlines. limit: 1..50 (default 10).

Inputs: limit. Returns: result

dlf_listen_liveA

Deutschlandfunk live stream link. Checks the canonical stream URL (from DLF's own pages) with a HEAD request and reports whether it answers; the URL itself 302-redirects to a signed CDN stream β€” open it in any audio player.

Inputs: no named parameters. Returns: result

dlf_news_by_topicB

Deutschlandfunk news by topic. topic: europa, gesellschaft, wirtschaft, wissen, kultur, sport or politik. limit: 1..50 (default 10).

Inputs: topic (required), limit. Returns: result

dlf_search_newsA

Keyword search over recent Deutschlandfunk items (the Agenda feed, several hundred latest items β€” not a full-archive search). query: keyword or phrase. limit: 1..50 (default 10).

Inputs: query (required), limit. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 7 tools

    Disambiguation4/5

    Each tool has a reasonably distinct role: latest headlines, latest contributions, topic-filtered news, keyword search, full-article fetch, live stream, and health probe. The main potential confusion is among the three list-style news tools (latest_news, latest_contributions, news_by_topic), but the descriptions make the different axes (recency, content type, topic) clear enough.

    Naming Consistency4/5

    All names use a consistent dlf_ prefix and snake_case. Most follow a recognizable noun/verb pattern (search_news, get_article, listen_live), though some are noun-only (latest_news, news_by_topic, health), which is a minor deviation but still readable and predictable.

    Tool Count5/5

    Seven tools are well-scoped for a news-reading server: four discovery/listing tools, one content-fetch tool, one stream tool, and one diagnostic. Nothing feels redundant or missing at the count level.

    Completeness4/5

    Coverage is strong for the read-only news domain: headlines, topic browsing, keyword search, full article text, live audio, and connectivity check. Minor gaps existβ€”no dedicated audio/contribution retrieval by ID or topic-listing endpoint, and search is explicitly limited to recent items rather than the full archive.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Enables reading Reddit content (posts, comments, search) via RSS feeds without an API key or account, supporting subreddit browsing and post retrieval with minimal setup.
      4
      114 PyPI
      4
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables read-only access to German news headlines, section and regional feeds, latest videos, keyword search, and full article text via official RSS feeds. No API key or login is required.
      7
      MIT