trdizin-mcp
# TR Dizin MCP Server 🎓
TÜBİTAK **TR Dizin** akademik veritabanına MCP üzerinden erişim sağlayan sunucu.
- Resmî TR Dizin API kullanır
- API key gerektirmez
- Claude Desktop / Cursor / MCP uyumlu istemcilerle çalışır
---
## Özellikler
- Yayın, dergi, yazar, kurum arama
- DOI / ORCID / ISSN ile doğrudan kayıt çekme
- Trend konu analizi
- İki yazarı karşılaştırma
- TR Dizin’in güncel `hits.hits` yanıt formatıyla uyumlu
---
## Kurulum
```bash
npm install
npm run build
```
Geliştirme:
```bash
npm run dev
```
Çalıştırma:
```bash
npm start
# veya
node dist/index.js
```
---
## Claude Desktop Entegrasyonu
`claude_desktop_config.json` içine ekleyin:
```json
{
"mcpServers": {
"trdizin": {
"command": "node",
"args": ["/TAM/YOL/trdizin-mcp/dist/index.js"]
}
}
}
```
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
---
## Tool Listesi
1. `search_publications` — Yayın/makale arama
2. `search_journals` — Dergi arama
3. `search_authors` — Yazar arama
4. `search_institutions` — Kurum arama
5. `get_publication_by_doi` — DOI ile yayın getir
6. `get_author_by_orcid` — ORCID ile yazar getir
7. `get_journal_by_issn` — ISSN/e-ISSN ile dergi getir
8. `get_trending_topics` — Yıla göre trend konu analizi
9. `compare_authors` — İki yazarı karşılaştır
---
## Örnek Promptlar
- “TR Dizin’de yapay zeka konusunda son 5 yılın yayınlarını getir.”
- “ORCID’i `0000-0002-1825-0097` olan yazarı bul.”
- “ISSN `1300-0632` için dergi bilgisini getir.”
- “2024 SCIENCE veritabanında trend konuları çıkar.”
- “Ali Yıldız ve Sunay Çelik’i karşılaştır.”
---
## Test / Smoke Check
```bash
npm run build
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}\n' | node dist/index.js
```
Beklenen: JSON-RPC `initialize` cevabı.
---
## Veri Kaynağı
Bu proje TR Dizin'in herkese açık arama uçlarını kullanır.
Kullanılan ana endpointler:
- `https://search.trdizin.gov.tr/api/defaultSearch/publication/`
- `https://search.trdizin.gov.tr/api/defaultSearch/journal/`
- `https://search.trdizin.gov.tr/api/defaultSearch/author/`
- `https://search.trdizin.gov.tr/api/defaultSearch/institution/`
- `https://search.trdizin.gov.tr/api/public/yayin/doi/`
- `https://search.trdizin.gov.tr/api/public/yazar/orcid/`
- `https://search.trdizin.gov.tr/api/public/dergi/issn/`
Not: Bu README'de doğrulanmamış bir "geliştirici dokümantasyon" linki paylaşılmaz.
---
## Notlar
- Sonuç formatı TR Dizin tarafında değişebilir; parser `hits.hits` yapısını temel alır.
- Boş sonuçlarda önce sorguyu genişletin (örn. `adamw` yerine `adam optimizer` veya `yapay zeka optimizer`).
---
## Lisans
MIT
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose: search by entity type (publications, journals, authors, institutions), retrieval by standard identifiers (DOI, ORCID, ISSN), and analytical tools (trending topics, author comparison). There is no overlap between searching and direct lookup.
All tool names follow a consistent verb_noun pattern in snake_case: search_* for searches, get_* for identifier-based lookups, and compare_authors for analysis. This makes predictions easy.
Nine tools form a well-scoped set for a bibliographic database server. The count is within the ideal range and each tool serves a distinct, necessary function.
The surface covers all major entities (publications, journals, authors, institutions), provides both search and identifier-based retrieval, and includes analytical tools. No obvious dead ends or missing operations for the domain.