Skip to main content

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).

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

Metadata

Release files for deutschlandfunk-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deutschlandfunk-mcp 0.1.0
File Size Uploaded Provenance Actions
deutschlandfunk_mcp-0.1.0.tar.gz 73.4 kB With provenance Details for deutschlandfunk_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for deutschlandfunk-mcp 0.1.0
File Interpreter ABI Platform Actions
deutschlandfunk_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for deutschlandfunk_mcp-0.1.0-py3-none-any.whl

Total release size: 83.4 kB

Release files / deutschlandfunk_mcp-0.1.0.tar.gz

Download URL deutschlandfunk_mcp-0.1.0.tar.gz
Size 73.4 kB
Tags Source
SHA-256 checksum
How to use checksums
703cc2ce13fcb1a86f70ab031636c7a8881abf29ae0bf379d62d7d3a4fdaca13
BLAKE2b-256 checksum
How to use checksums
debd6ecca5a538736c6014cc2a955dee352fa3735d47f85c13c5a3c1d6595f41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / deutschlandfunk_mcp-0.1.0-py3-none-any.whl

Download URL deutschlandfunk_mcp-0.1.0-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
45fb1e024b4a609fdb7e8d996408b8e6bada566a2566a44af27c9ff20fa0b086
BLAKE2b-256 checksum
How to use checksums
e438504b750df58a14161d593dd6cca3948f8ad7a8339da6838c3a99527890c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Security for deutschlandfunk-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for deutschlandfunk_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page