trthaber-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@trthaber-mcp what's the latest breaking news from Turkey?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
trthaber-mcp 🇹🇷
mcp-name: io.github.mohammad-abbasi-sh/trthaber-mcp
Unofficial read-only MCP server for trthaber.com (TRT Haber), the Turkish public broadcaster's news site — headlines by category, breaking news (son dakika), full article text, keyword search over the current listings, and the category list.
Built by Mohammad Abbasi as part of the "Turkey MCP factory" (Sepehr-style pipeline). Not affiliated with trthaber.com or TRT.
For AI agents
Add to your MCP client config (stdio):
{
"mcpServers": {
"trthaber": {
"command": "uvx",
"args": ["trthaber-mcp==0.1.1"]
}
}
}Or run locally: python -m trthaber_mcp.server (needs mcp<2, curl-cffi).
Related MCP server: donanimhaber-mcp
Tools
Tool | Description |
| Top headlines in one category — |
| Breaking news (son dakika), newest first — |
| Full text of one article — |
| Keyword search over current news — scans the homepage, the breaking-news page and all 18 category listings, matching titles and summaries; |
| The 18 TRT Haber news categories (slug + Turkish display name), for use with |
Example output (trthaber_get_article / Güney Torid meteor-shower story, 5 Nov 2026):
{"title": "Güney Torid göktaşı yağmuru bu gece nadir görülen ateş topları oluşturacak",
"spot": "Güney Torid göktaşı yağmurunun en yoğun döneme ulaşmasıyla birlikte …",
"date_published": "2026-11-05 07:06:00+03:00", "paragraph_count": 9,
"image": "https://trthaberstatic.cdn.wp.trt.com.tr/resimler/2480000/necef-colu-meteor-yagmuru-aa-2481428.jpg"}How it works
trthaber.com serves its homepage, category pages (/haber/<category>/), article pages (/haber/<category>/<slug>-<id>.html) and the breaking-news page (/son-dakika-haberleri, ~120 articles, newest first) fully server-rendered — no login, no API key, no session cookies. Category pages carry 15 headline links each in the fixtures. Article pages carry the title in <h1>, the spot in <h2 class="news-spot">, publish/modify dates in an inline JSON blob, description and image in meta tags, and the full body as consecutive <p> elements inside news-detail-container (the run ends at the news-tags block). There is no author byline anywhere on the site, and no NewsArticle JSON-LD (only an Organization block). One site feature does NOT work server-side and is documented, not faked: the site's own search (/arama.html) is JS + CSRF-token POST gated (POST /ajax/getCsrfToken/search/), and a tokenless GET returns a 200 page with an empty results container — so trthaber_search_news scans the current listings instead. Transport uses Chrome TLS impersonation (curl-cffi, chrome120); requests are spaced ~0.8s apart; everything is read-only.
Install
uvx trthaber-mcp==0.1.1 # run directly (needs uv)
# or
pip install trthaber-mcp==0.1.1
trthaber-mcp # starts the MCP server on stdioTests
python -m venv .venv && .venv/bin/pip install -e .
.venv/bin/python -m unittest discover -s tests -vOffline tests run on recorded fixtures (real pages fetched 2026-11-08); live tests hit trthaber.com. 26/26 green at build time (14 offline + 12 live) plus an MCP stdio smoke test.
Roadmap
"Çok okunanlar" (most read) if the site ever exposes it server-side
Video/social-video listings (
/sosyal-videolar/)Live TV schedule (
/canli-yayin-izle.htmlis a stream page, not data)
License
MIT — see LICENSE.
Built by Mohammad Abbasi — Almanibama · mabbasi.ir
Available Tools
6 toolstrthaber_get_articleA
Full text of one TRT Haber article. article_url: the article's trthaber.com URL (as returned by the headlines/latest/search tools, e.g. "https://www.trthaber.com/haber/bilim-teknoloji/ guney-torid-goktasi-yagmuru-bu-gece-nadir-gorulen-ates-toplari- olusturacak-962288.html"). Returns title, spot, publish date, description, image and the full body text.
Inputs: article_url (required). Returns: result
trthaber_headlinesA
Top headlines in one TRT Haber category. category: "gundem" (default), "turkiye", "dunya", "turk-dunyasi", "ekonomi", "spor", "savunma", "cocuk", "dunya-disi", "kultur-sanat", "yasam", "saglik", "bilim-teknoloji", "egitim", "cevre", "guncel", "trt-arsiv", "interaktif". limit 1..30 (category pages list 15). Returns headlines (title, article URL, summary when the listing carries one, publish time when shown).
Inputs: limit, category. Returns: result
trthaber_healthA
Check whether trthaber.com 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
trthaber_latestA
Breaking news (son dakika) from TRT Haber, newest first. limit 1..30 (the page lists ~120 articles). Returns articles (title, article URL, summary when present, publish time when shown).
Inputs: limit. Returns: result
trthaber_list_categoriesA
The 18 TRT Haber news categories (slug + Turkish display name), for use with trthaber_headlines. No arguments.
Inputs: no named parameters. Returns: result
trthaber_search_newsA
Keyword search over current TRT Haber news: scans the homepage, the breaking-news page and all 18 category listings, matching the keyword in titles and summaries. query: e.g. "ekonomi", "deprem", "COP31". limit 1..30. Note: the site's own /arama search is CSRF-token POST gated, so this searches the current listings instead of a search backend.
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
Scored across 6 tools
Each tool targets a distinct retrieval mode: category listing (headlines), breaking-news feed (latest), keyword scan (search_news), full article fetch (get_article), category metadata (list_categories), and reachability (health). The boundaries between headlines, latest, and search_news are explained but still close enough that an agent may hesitate over which to use for a broad keyword-style query.
All six tools share the same `trthaber_` prefix and snake_case verb_noun convention (headlines, latest, list_categories, get_article, search_news, health). The pattern is predictable throughout the set.
Six tools is a tight, well-scoped surface for a single-site news reader, with no redundant or filler tools. Each tool maps to a distinct retrieval need (list, browse, search, fetch, discover categories, health check).
The read lifecycle is complete: discover categories, browse listings, get breaking news, search, and fetch full article text. Minor gaps remain — no date-range or pagination-beyond-limit filtering, and search is limited to current listings rather than the site's full archive.
Maintenance
Related MCP Connectors
Get access to real-time and historical news data including top headlines from global sources
Worldwide news search by keyword and date, Hacker News, and any RSS or Atom feed as JSON
Today's headlines and news search from 17 public sources in 7 languages. Free, no key.
News search, article lookup, story coverage and save links for hamir's RSS catalogue
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables read-only product search, product-detail lookup, review retrieval, category browsing, and price statistics for a Turkish e-commerce marketplace.6MIT
- AlicenseAqualityBmaintenanceEnables read-only access to Turkish technology news and forum content, including latest articles, keyword search, full article text, section listings, and current hot forum topics.6MIT
- AlicenseAqualityBmaintenanceEnables read-only access to sozcu.com.tr news through five tools: category headlines, the latest news from the dated archive, full article text, keyword search across today's coverage, and a market ticker with currency, gold, Bitcoin and interest-rate values. Delivered as a stdio MCP server that scrapes fully server-rendered pages without logins, API keys, or cookies.5MIT
- AlicenseAqualityBmaintenanceEnables read-only access to Deutsche Welle news in 31 languages, including latest headlines, keyword search over recent headlines, full article text, and topic pages.6MIT