sozcu-mcp
You can read Turkish news and market data from sozcu.com.tr through a read-only MCP server.
Fetch top headlines by category (
gundem,ekonomi,dunya,spor,hayat,magazin,teknoloji,finans,otomotiv) with up to 30 items.List latest news from the dated all-news archive, optionally for a specific
DD-MM-YYYYdate.Retrieve a full article by URL, including title, author, publish/modify dates, description, image, and body text.
Search today’s news archive plus homepage headlines by keyword in titles and summaries, up to 30 results.
Get current market ticker rates for USD, EUR, GBP, BTC, gold, and interest with value, change, and change %.
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., "@sozcu-mcp show me today's top economy headlines"
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.
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 |
| Top headlines in one category — |
| Latest news from the dated all-news archive, newest first — |
| Full text of one article — |
| Keyword search over today's news — scans the dated archive (up to 3 pages) + homepage headlines, matching titles and summaries; |
| 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 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-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 toolssozcu_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
Scored across 5 tools
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.
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.
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.
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
Related MCP Connectors
Unified 15-tool SEO, SERP, clean Markdown & GEO (LLM citation Share-of-Voice) MCP server.
SERP + haber + içerik çıkarımı MCP sunucusu — web araması (Brave/SerpApi BYOK), anahtarsız haber…
One MCP server for 180+ live web-data APIs returning clean JSON from sites that block scrapers.
Google News headlines, sources, and links via the Apify Google News API, hosted MCP.
Related MCP Servers
- AlicenseAqualityCmaintenanceMulti-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/.61MIT
- AlicenseAqualityCmaintenanceMCP server for live Turkey data — gold & silver prices, official TCMB exchange rates, fuel pump prices, prayer times and the Kandilli earthquake feed.773 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables searching Turkish Court of Cassation (Yargıtay) precedent decisions via a three-tier caching system and Browserless scraping, providing high-quality results through stdio-based MCP protocol.7MIT
- AlicenseNot gradedqualityCmaintenanceSearch, trending, topics, and local news all in one MCP server. Article previews, deduplication, source filtering, and 40+ languages built in.46 npm2MIT