API ve MCP
Geliştiriciler için Oesnada
Oesnada’nın yayımladığı haberler, gelişmeler, konu özetleri, analizler ve yapay zekâ modeli verileri bir REST API ve bir MCP sunucusuyla okunabilir. İkisi de ücretsiz, salt okunur ve anahtarsızdır. Her yanıt nereden geldiğini söyler ve Oesnada’ya atıf yapıp öğeye bağlantı vermenizi ister.
Hızlı başlangıç
Anahtar ya da kayıt gerekmez. Türkçe için lang=tr ekleyin. Türkçe bir öğe yalnızca gerçek Türkçe metni olduğunda bulunur.
Son beş haber
curl 'https://oesnada.com/api/v1/stories?limit=5'Arama, Türkçe
curl 'https://oesnada.com/api/v1/search?q=yapay+zek%C3%A2&lang=tr'Bu hafta yapay zekâ modeli fiyat değişiklikleri
curl 'https://oesnada.com/api/v1/ai-models/price-changes?days=7'Bir listenin sonraki sayfası
curl 'https://oesnada.com/api/v1/stories?limit=5&cursor=<next_cursor from the previous response>'REST API
GET ile JSON. Temel adres https://oesnada.com/api/v1. Tam tanım OpenAPI belgesindedir. OpenAPI belgesi.
| Uç nokta | Döndürdüğü |
|---|---|
GET /api/v1 | Dizin: sürüm, uç noktalar ve MCP adresi. |
GET /api/v1/openapi.json | OpenAPI 3.1 tanımı. |
GET /api/v1/stories | Yayımlanan haberler, yeniden eskiye. Konu, kategori, gelişme ve tarihe göre süzülür. |
GET /api/v1/stories/{id} | Tek bir haber. |
GET /api/v1/search | Yayımlanmış metinlerimizde sıralı arama. Eşleşmeleri döndürür, yazılmış bir yanıt değil. |
GET /api/v1/storylines | Güncellemeleriyle sürmekte olan haberler. |
GET /api/v1/storylines/{slug} | Olaylarıyla tek bir gelişme ve, her kaynak doğrulandıysa, şimdiye kadarki özeti. |
GET /api/v1/topics | En az üç haberi olan konular. |
GET /api/v1/topics/{slug} | Doğrulanmış özeti ve son haberleriyle tek bir konu. |
GET /api/v1/analysis | Analiz yazıları ve Notlar. |
GET /api/v1/analysis/{series}/{key} | Tek bir analiz yazısı, örneğin 2026-42. |
GET /api/v1/ai-models | En son günlük görüntüden yapay zekâ modelleri ve fiyatları. CC BY 4.0. |
GET /api/v1/ai-models/price-changes | Son günlerde kaydedilen fiyat değişiklikleri. Boş liste, kayıtlı değişiklik olmadığı anlamına gelir. |
GET /api/v1/ai-models/{slug} | En son görüntüden tek bir model. |
GET /api/v1/ai-models/{slug}/history | Tek bir model, her günlük görüntü için bir kayıt. |
GET /api/v1/data/importance-index | Otomatik önem puanının toplamları. Bir ölçüm değil, model yargısıdır. CC BY 4.0. |
GET /api/v1/data/most-covered | Bir ayın en çok yer alan konuları. CC BY 4.0. |
Parametreler
- lang en ya da tr olabilir; varsayılan en.
- limit bir tamsayıdır; her listenin kendi varsayılanı ve üst sınırı vardır.
- Bilinmeyen ya da yinelenen bir parametre 400 ile reddedilir; böylece bir yazım hatası sessizce yanlış liste döndürmez.
- since dahil, until hariçtir; ikisi de ISO 8601 tarih ya da saat alır.
Sayfalama
Listeler yeniden eskiye sıralıdır ve imleçle sayfalanır: yanıttaki next_cursor değerini cursor olarak gönderin. İmleç opaktır, üretildiği sorguya aittir ve bir gün sonra geçerliliğini yitirir. Sayfa numarası yoktur. Arama en fazla en iyi 25 sonucu döndürür; sayfalamak yerine sorguyu daraltın.
Sınırlar
- Okumalar: istemci başına dakikada 60 istek. Arama: dakikada 20.
- RateLimit ve RateLimit-Policy başlıkları ne kadar hakkınızın kaldığını ve ne zaman yenilendiğini gösterir.
- Sınır aşılırsa yanıt Retry-After başlıklı 429’dur. Hizmet ağır yük altındayken Retry-After başlıklı 503 verir; önbellekteki yanıtlar sunulmaya devam eder.
- Aynı isteği bir dakikada çok kez tekrarlamak döngü sayılır ve sınırlanır.
MCP sunucusu
Asistanlar ve kodlama araçları için Streamable HTTP üzerinden salt okunur bir Model Context Protocol sunucusu. REST API ile aynı hizmeti çağırır; on aracı vardır ve yazma erişimi yoktur.
Adres: https://oesnada.com/mcp
Araçlar
Her araç salt okunurdur. Sonuçlar öğenin adresini ve atıf satırını taşır. Boş sonuç, konuyu haberleştirmediğimiz anlamına gelir.
oesnada_search | Yayımlanmış haberlerde, gelişmelerde, konularda ve analizlerde ara. |
oesnada_latest | Son haberler; isteğe bağlı olarak tek bir konu ya da kategori için. |
oesnada_get_story | Numarasıyla tek bir haber. |
oesnada_list_storylines | Süren ve yakın zamanlı gelişmeler. |
oesnada_get_storyline | Olaylarıyla ve şimdiye kadarki özetiyle tek bir gelişme. |
oesnada_get_topic | Adı ya da kısa adıyla tek bir konu; özeti ve son haberleriyle. |
oesnada_ai_models | En son görüntüden yapay zekâ modelleri ve fiyatları. |
oesnada_ai_price_changes | Yapay zekâ modellerinin kayıtlı fiyat değişiklikleri. |
oesnada_data | Önem endeksi ya da en çok yer alanlar listesi. |
oesnada_latest_analysis | Son analiz yazıları. |
Bir istemciye bağlayın
Uzak MCP sunucularını HTTP üzerinden destekleyen her istemcide bu adresi kullanın. Giriş gerekmez.
Claude Code
Terminalde bir kez çalıştırın.
claude mcp add --transport http oesnada https://oesnada.com/mcpClaude (web ve masaüstü)
Ayarlar, Bağlayıcılar, Özel bağlayıcı ekle. Bu adresi yapıştırın, kimlik doğrulamayı boş bırakın.
https://oesnada.com/mcpCursor
~/.cursor/mcp.json dosyasına ya da bir projedeki .cursor/mcp.json dosyasına ekleyin.
{
"mcpServers": {
"oesnada": {
"url": "https://oesnada.com/mcp"
}
}
}VS Code
Bir projedeki .vscode/mcp.json dosyasına ekleyin.
{
"servers": {
"oesnada": {
"type": "http",
"url": "https://oesnada.com/mcp"
}
}
}Claude Desktop, yapılandırma dosyası
Yalnızca yerel program başlatan istemciler için. mcp-remote paketi onları adrese bağlar. Node.js gerekir.
{
"mcpServers": {
"oesnada": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://oesnada.com/mcp"]
}
}
}Atıf
- Bir yanıttan aldığınız her şeyin yanında “Kaynak: Oesnada” (İngilizce: “Source: Oesnada”) ifadesini gösterin ve öğeye bağlantı verin. Bağlantı için cite_url alanını kullanın: aynı sayfadır, yalnızca bir yönlendirme işareti taşır; sayfanın kendi kanonik adresi değişmez.
- Yapay zekâ modeli verileri, fiyat değişiklikleri, önem endeksi ve en çok yer alanlar listeleri CC BY 4.0 ile lisanslıdır.
- Özetler kamuya açık haberlerden otomatik olarak üretilir. Onları alıntı gibi sunmayın; bir konuyu haberleştirmediysek tahmin yürütmek yerine bunu söyleyin.
Hatalar
Hatalar problem+json biçimindedir (RFC 9457); bir kod, bir ayrıntı ve hatalı parametre varsa parametrenin adını içerir.
| Durum | Kod | Ne zaman |
|---|---|---|
| 400 | invalid_request | Bilinmeyen, yinelenen ya da hatalı bir parametre ya da süresi dolmuş bir imleç. |
| 404 | not_found | Bilinmeyen bir yol, numara ya da kısa ad; ya da istediğiniz dilde metni olmayan bir öğe. |
| 405 | method_not_allowed | Yalnızca GET kabul edilir. |
| 413 | payload_too_large | İstek gövdesi çok büyük. |
| 429 | rate_limited | Çok fazla istek. Retry-After başlığındaki saniye kadar bekleyin. |
| 503 | overloaded | Hizmet yükü azaltıyor. Retry-After başlığındaki süreden sonra yeniden deneyin. |
| 500 | internal | Bizden kaynaklanan bir hata. |
Sürümler
Sürüm yolun içindedir. Sürüm 1 yalnızca uç nokta, parametre ve alan eklenerek değişir. Geriye uyumsuz bir değişiklik /api/v2 olarak gelir; sürüm 1 duyurudan sonra en az altı ay daha, Deprecation ve Sunset başlıklarıyla hizmette kalır.
Soru yanıtlama aracı yok
API ve MCP sunucusu yayımladığımız metin ve verileri döndürür; yanıt yazmaz. Kendi modelinizi getirin ve okuduklarını kaynak göstererek aktarın.