Skip to main content
Glama
sozcu-mcp

sozcu-mcp

sozcu-mcp 🇹🇷

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

Unofficial read-only MCP server for sozcu.com.tr, Türkiye's #1 news site (~76M visits/month) — headlines by category, latest news from the dated archive, full article text, keyword search over the current archive, and the market ticker (USD/EUR/GBP/BTC/gold/rates).

Built by Mohammad Abbasi as part of the "Turkey MCP factory" (Sepehr-style pipeline). Not affiliated with sozcu.com.tr.

For AI agents

Add to your MCP client config (stdio):

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

Or run locally: python -m sozcu_mcp.server (needs mcp<2, curl-cffi).

Related MCP server: turkey-data-mcp

Tools

Tool

Description

sozcu_headlines

Top headlines in one category — category: "gundem" (default), "ekonomi", "dunya", "spor", "hayat", "magazin", "teknoloji", "finans", "otomotiv"; limit 1..30

sozcu_latest

Latest news from the dated all-news archive, newest first — limit 1..30 (paginates, 30/page); date DD-MM-YYYY, default today (Europe/Istanbul)

sozcu_get_article

Full text of one article — article_url (as returned by the headlines/latest/search tools); returns title, author, publish/modify dates, description, image, full body

sozcu_search_news

Keyword search over today's news — scans the dated archive (up to 3 pages) + homepage headlines, matching titles and summaries; limit 1..30

sozcu_market_rates

Market ticker from the page header: DOLAR, EURO, STERLIN, BITCOIN, ALTIN, FAİZ with value, change and change %

Example output (sozcu_get_article / green-passport story, 7 Nov 2026):

{"title": "10 meslek grubu için yeşil pasaport Meclis yolunda",
 "author": "Haber Merkezi", "date_published": "2026-11-07T08:46:29+0300",
 "date_text": "07 Kasım 2026 - 08:46", "paragraph_count": 16,
 "description": "Yeşil pasaport kapsamının genişletilmesi için Meclis'e sunulan teklifler dikkat çekti. …"}

Example output (sozcu_market_rates, 7 Nov 2026):

{"rates": [{"name": "DOLAR", "value": 50.15, "change": 0.1, "change_pct": 0.2},
           {"name": "EURO", "value": 55.92, "change": -0.35, "change_pct": -0.62}, …]}

How it works

sozcu.com.tr serves its homepage, category pages (/<category>/), article pages (/<slug>-p<id>) and the dated all-news archive (/tum-haberler?date=DD-MM-YYYY&pageNumber=N, 30 articles/page) fully server-rendered — no login, no API key, no session cookies. Category pages carry 25 headline links each in the fixtures (/gundem/ 25, /ekonomi/ 25 in the fixtures). Article pages carry title, author, publish/modify dates, description and image in meta tags, a <time> stamp, and the full body as consecutive <p> elements in the articleBody div (subheadings are ALL-CAPS paragraphs; the run ends at the reactions widget; the copyright paragraph is dropped). There is no JSON-LD on article pages. Two site features do NOT exist server-side and are documented, not faked: the site's own search (/arama?query=...) 301-redirects to the homepage for every query, so sozcu_search_news scans the dated archive instead; and there is no "most read" section anywhere (/cok-okunanlar/ and /en-cok-okunanlar/ are both 404), so the market ticker is offered as the fifth tool. Transport uses Chrome TLS impersonation (curl-cffi, chrome120); requests are spaced ~0.8s apart; everything is read-only.

Install

uvx sozcu-mcp==0.1.0        # run directly (needs uv)
# or
pip install sozcu-mcp==0.1.0
sozcu-mcp    # starts the MCP server on stdio

Tests

python -m venv .venv && .venv/bin/pip install -e .
.venv/bin/python -m unittest discover -s tests -v

Offline tests run on recorded fixtures (real pages fetched 2026-11-07); live tests hit sozcu.com.tr. 23/23 green at build time (12 offline + 11 live) plus an MCP stdio smoke test.

Roadmap

  • Author pages (columnists under /yazarlar/)

  • "Son dakika" ticker stream (the /son-dakika/ page lists 11 items; a dedicated tool could poll it)

  • Topic pages beyond the 9 supported categories

License

MIT — see LICENSE.


Built by Mohammad Abbasi — Almanibama · mabbasi.ir

Available Tools

5 tools
sozcu_get_articleA

Full text of one Sözcü article. article_url: the article's sozcu.com.tr URL (as returned by the headlines/latest/search tools, e.g. "https://www.sozcu.com.tr/10-meslek-grubu-icin-yesil-pasaport-meclis-yolunda-p376844"). Returns title, author, publish/modify dates, description, image and the full body text.

Inputs: article_url (required). Returns: result

sozcu_headlinesA

Top headlines in one Sözcü category. category: "gundem" (default), "ekonomi", "dunya", "spor", "hayat", "magazin", "teknoloji", "finans", "otomotiv". limit 1..30. Returns headlines (title, article URL, summary when the listing carries one).

Inputs: limit, category. Returns: result

sozcu_latestA

Latest Sözcü news from the dated all-news archive, newest first. limit 1..30 (paginates the archive, 30 articles per page); date: DD-MM-YYYY, default today (Europe/Istanbul). Returns articles (title, article URL, summary when present).

Inputs: date, limit. Returns: result

sozcu_market_ratesA

Market ticker from Sözcü's page header: DOLAR, EURO, STERLIN, BITCOIN, ALTIN, FAİZ with value, change and change % (TRY, except BITCOIN in USD). No arguments. Values are the site's live header quotes at fetch time.

Inputs: no named parameters. Returns: result

sozcu_search_newsA

Keyword search over today's Sözcü news: scans the dated all-news archive (up to 3 pages, 30 articles each) plus the homepage headlines, matching the keyword in titles and summaries. query: e.g. "ekonomi", "deprem", "dolar". limit 1..30. Note: the site's own /arama search redirects to the homepage, so this searches the current archive 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

    A4/5.0

    Scored across 5 tools

    Disambiguation4/5

    sozcu_headlines (category top headlines), sozcu_latest (dated archive, newest first), sozcu_search_news (keyword scan of archive + homepage), sozcu_get_article (full text), and sozcu_market_rates (ticker) each target a distinct need. The only potential confusion is between sozcu_latest and sozcu_search_news since both scan the dated archive, but the descriptions make the filter-vs-keyword distinction reasonably clear.

    Naming Consistency4/5

    All tools share the sozcu_ prefix and snake_case, which is predictable. There is a minor style deviation where get_article and search_news use verb_noun while headlines, latest, and market_rates are pure nouns, but the set remains readable and coherent.

    Tool Count5/5

    Five tools is well-scoped for a single-news-site reader: category browsing, chronological listing, keyword search, full article fetch, and market quotes. Each tool earns its place with no obvious filler.

    Completeness4/5

    The read-only news domain is covered end-to-end: discovery via headlines/latest/search, retrieval via get_article, plus a market ticker. The main gap is that search is limited to today's archive (up to 3 pages) with no historical/date-range or category-filtered archive browsing, though the description is upfront about this limitation.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Multi-language crypto news MCP server with editorial summaries, sentiment labels (BULLISH/NEUTRAL/BEARISH), and importance scores (0–100). 6 tools across 8 languages; every story credits the original publisher. Bridges stdio to the public Streamable HTTP endpoint at https://zippfeed.com/mcp/.
      6
      1
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      MCP server for live Turkey data — gold & silver prices, official TCMB exchange rates, fuel pump prices, prayer times and the Kandilli earthquake feed.
      7
      73 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Search, trending, topics, and local news all in one MCP server. Article previews, deduplication, source filtering, and 40+ languages built in.
      46 npm
      2
      MIT