Podržani alati
Trenutno Domovina MCP poslužitelj nudi sljedeće alate za pretraživanje i pregled korpusa. Dodatni alati u izradi navedeni su pod „Planirano".
Aktivni alati
| Alat | Opis | Parametri |
|---|---|---|
search_podcasts |
Semantičko pretraživanje korpusa hrvatskih katoličkih i političkih podcasta. Vraća do 50 chunkova transkripta s ocjenom relevantnosti, imenom govornika, vremenom u epizodi i dubokim linkom na YouTube na točnu sekundu. Podržava hibridno pretraživanje (semantika + leksički filter) za vlastita imena gdje sami vektori imaju slabosti. |
query (string, obavezan): prirodno jezični upit, 2–500 znakova
limit (broj, neobavezan): 1–25, zadano 10 channel (string, neobavezan): slug kanala (npr. podcast_cuspajz)speaker (string, neobavezan): filter na govornika — case-insensitive partial match (npr. Miletić)min_upload_date, max_upload_date (YYYY-MM-DD, neobavezno): filter po datumu objave include_summaries (bool, zadano true): ako false, isključuje AI sažetke (samo direktni citati)lexical_terms (popis stringova, neobavezan): hibridni filter — chunk mora sadržavati SVE navedene tokene; do 10 tokena |
get_episode |
Dohvati metapodatke, popis poglavlja i (po želji) cijeli transkript
jedne epizode prema YouTube ID-u. Vraća naslov, govornike, trajanje,
popis poglavlja (outline chunkovi) i transkript po segmentima s
timestamp-ima. Za duge epizode (preko ~80 000 znakova) bez parametra
view_range, transkript je izostavljen uz uputu da se
dohvati po dijelovima. Koristi za doktrinarnu i temeljnu analizu
cijele epizode kada search_podcasts daje preslab obuhvat.
|
youtube_id (string, obavezan): 11-znakovni YouTube video ID (npr.
5J9GQ0sFe3M)include_transcript (bool, neobavezan): zadano true; false vraća samo meta + poglavljaview_range (popis dvaju brojeva, neobavezan): [start_sec, end_sec] — filtriraj chunkove na vremenski raspon (npr. [0, 600] = prvih 10 min). Bypassira soft limit.chapter_index (broj, neobavezan): 1-based indeks u chapters[] — convenience nad view_range-om. Mutually exclusive s njim.
|
list_channels |
Vraća popis svih kanala u korpusu sa statistikama (broj epizoda i
chunkova, datum prvog i zadnjeg uploada). Koristi za pregled korpusa
i za biranje validnog slug-a kanala u channel filterima
drugih alata.
|
sort_by (neobavezno):
episodes (default), chunks, channel (abecedno)
|
list_episodes |
Vraća listu epizoda korpusa (distinct po YouTube ID-u) s metapodacima:
naslov, kanal, datum objave, trajanje, govornici, broj chunkova.
Komplementarno search_podcasts — koristi za browsing
korpusa bez specifičnog upita, npr. „tko sve gostuje u kanalu X",
„najnovije epizode iz svibnja", „epizode govornika Y".
|
channel (string, neobavezan): slug kanala
speaker (string, neobavezan): partial match na govornika min_upload_date, max_upload_date (YYYY-MM-DD, neobavezno) sort_by: upload_date_desc (default), upload_date_asc, chunks_desc, duration_desclimit (broj, neobavezno): 1–100, zadano 20 |
count_mentions |
Agregator: vraća top N grupa (kanal, govornik ili mjesec) po broju
chunkova koji semantički matchaju upit. Vraća samo brojeve, ne sadržaj
— drastično manji odgovor od search_podcasts. Idealan za
statistička pitanja: „u kojem kanalu najviše govore o X", „tko najčešće
spominje Y", „u kojem mjesecu najviše rasprava o Z".
|
query (string, obavezan): semantic upit za relevantne chunkove
group_by (obavezan): channel | speaker | monthrelevance_threshold (0–1, zadano 0.4): cosine similarity prag limit (broj, neobavezno): 1–50, zadano 20 min_upload_date, max_upload_date, channel (filteri) |
server_info |
Vraća metapodatke o MCP servisu i stanju korpusa: verziju, build info, statistiku dataset-a (broj kanala, epizoda, chunkova, datum najnovije i najstarije epizode), popis dostupnih alata. Koristi za debug, provjeru svježine podataka i otkrivanje koje su verzije/funkcionalnosti trenutno dostupne. |
Nema parametara.
|
Planirano (TBD)
Sljedeći alati su u planu ali nisu još implementirani na produkciji. Prati napredak na GitHub Issues.
| Alat | Opis | Status |
|---|---|---|
get_speaker |
Dohvati profil govornika prema imenu — popis pojavljivanja po epizodama, glavne teme, link na entity resolution. Zahtijeva završetak ensemble speaker pipeline-a (TitaNet + pyannote-wespeaker34). | planirano (Faza 3) |
chat (Q&A) |
Cjelokupni Q&A cjevovod: tvoje pitanje → retrieval → reranker → Gemini 2.5 Flash generacija s citatima iz transkripta. Resursno zahtjevnija operacija — vlastiti rate-limit bazen (vidi Ograničenja). | planirano (Faza 2) |
Stil odgovora
Svi alati vraćaju strukturirani JSON unutar MCP content bloka tipa
text (JSON-stringified). Vremenski timestamp-i su u sekundama od
početka videa; datumi u YYYY-MM-DD formatu (ISO 8601). Hrvatska
slova zadržana su u UTF-8 bez transliteracije.