Kateri dve smeri MCP Kolio podpira?
MCP (Model Context Protocol) je odprt protokol (specifikacija modelcontextprotocol.io), po katerem AI odjemalec od strežnika dobi seznam orodij s shemami vhoda in jih kliče prek JSON-RPC 2.0; Kolio ga uporablja kot strežnik (vaši podatki za zunanje agente) in kot odjemalec (podatki vaših sistemov za Koliov agent).
Obe smeri upravljate na eni strani, Nastavitve → MCP viri in integracije. Zgornji razdelek Kolio kot vir za zunanje sisteme vsebuje naslov MCP strežnika, API ključe in webhooke; spodnji razdelek Zunanji viri v Koliu vsebuje obrazec Dodaj strežnik in seznam povezanih virov.
| Kolio kot MCP strežnik | Kolio kot MCP odjemalec | |
|---|---|---|
| Kdo kliče koga | zunanji AI odjemalec (Claude, lastni agent) kliče Kolio | Koliov agent med klicem ali klepetom kliče vaš sistem |
| Kaj se bere/piše | termini, storitve, kontakti, naloge vašega računa | karkoli vaš MCP strežnik ponuja (zaloga, naročila, cene) |
| Avtentikacija | API ključ kolio_sk_… v glavi Authorization: Bearer ali X-API-Key | brez, Bearer žeton ali glava po meri — poverilnica šifrirana v Koliu |
| Kaj omejuje dostop | obsegi (scopes) ključa | politika Samo branje / Dovoli tudi spreminjanje + seznam dovoljenih orodij |
| Naslov | https://kolio.si/api/mcp | URL vašega strežnika, samo https:// |
| Paket | na voljo z API ključem | Na voljo od paketa Rast (tudi v poskusnem obdobju in paketu Po meri) |
Kako povežem Claude ali drug odjemalec na Kolio MCP strežnik?
Kolio MCP strežnik je na naslovu https://kolio.si/api/mcp; odjemalec potrebuje ta URL in glavo Authorization: Bearer kolio_sk_… z API ključem, ki ga ustvarite v Koliu — vsak odjemalec, ki podpira oddaljene MCP strežnike prek Streamable HTTP, se poveže brez dodatne programske opreme.
Ustvarite API ključ z obsegi
Na strani Nastavitve → MCP viri in integracije v razdelku API ključi vpišite Ime ključa (npr.
Nastavitve → MCP viri in integracije → API ključiClaude) in Obsegi (scopes). Za samo branje koledarja:bookings:read, services:read; za rezervacije šebookings:write; za CRMcontacts:read, contacts:write, tasks:read, tasks:write. Prazno polje pomeni vse obsege. Kliknite Ustvari ključ in ključ takoj shranite — prikaže se samo enkrat. Podrobnosti so v poglavju REST API.Prepišite naslov strežnika
V kartici MCP strežnik in REST API je pod Naslov MCP strežnika izpisan URL
https://kolio.si/api/mcp. Pod Kako povežem odjemalca je pripravljen ukaz za Claude Code.Dodajte strežnik v odjemalca
V odjemalcu po njegovih navodilih dodajte oddaljeni (HTTP) MCP strežnik: vnesite URL in glavo
Authorizationz vrednostjoBearer kolio_sk_…. Namesto tega je sprejeta tudi glavaX-API-Key: kolio_sk_…. Primer za Claude Code in za odjemalce s konfiguracijsko datoteko je spodaj.Preverite seznam orodij
Odjemalec ob povezavi pokliče
tools/list. Videti mora samo orodja, ki jih dovoljujejo obsegi ključa — s ključembookings:read, services:readso tolist_events,get_event,list_services,list_locationsinfind_free_slots. Če manjka orodje, ključu manjka obseg: ustvarite nov ključ.
claude mcp add --transport http kolio \
https://kolio.si/api/mcp \
--header "Authorization: Bearer kolio_sk_…"{
"mcpServers": {
"kolio": {
"type": "http",
"url": "https://kolio.si/api/mcp",
"headers": {
"Authorization": "Bearer kolio_sk_…"
}
}
}
}Katera orodja ponuja Kolio MCP strežnik?
Kolio MCP strežnik ponuja 21 orodij — 9 za koledar in 12 za CRM — in vsako zahteva natanko en obseg ključa; tools/list vrne samo orodja, za katera ima ključ obseg, tako da odjemalec nikoli ne vidi orodja, ki bi mu bilo zavrnjeno.
| Orodje | Kaj naredi | Obvezni vhod | Obseg |
|---|---|---|---|
list_events | termini v obdobju (največ 62 dni), preklicani le na zahtevo | date_from, date_to (YYYY-MM-DD) | bookings:read |
get_event | podrobnosti enega termina | event_id | bookings:read |
list_services | storitve, ki jih je mogoče rezervirati (id, ime, trajanje); storitve niso vezane na lokacijo | — | services:read |
list_locations | aktivne lokacije (id, ime, naslov, delovni čas); pri več lokacijah podajte location_id pri terminih | — | services:read |
find_free_slots | prosti termini za storitev glede na delovni čas lokacij, urnike članov, zaprtja in zasedenost; vsak termin nosi lokacijo (neobvezno location_id za eno lokacijo) | service_id, date_from, date_to | bookings:read |
create_event | nov termin; poleg začetka service_id ali duration_min, pri več lokacijah location_id; termin izven delovnega časa lokacije ali brez prostega izvajalca strežnik zavrne | start | bookings:write |
update_event | premik ali sprememba termina (začetek, konec, naslov, opomba, storitev, stranka, nosilec, lokacija); premik ohrani lokacijo in preverja delovni čas | event_id | bookings:write |
cancel_event | preklic — termin dobi status cancelled in ostane kot sled | event_id | bookings:write |
delete_event | trajni izbris, le za pomotoma ustvarjene vnose | event_id | bookings:write |
| Orodje | Kaj naredi | Obvezni vhod | Obseg |
|---|---|---|---|
list_contacts | kontakti; query išče po imenu, priimku, e-pošti, telefonu, podjetju; točno ujemanje po email, phone, external_id | — | contacts:read |
get_contact | kontakt z opombami in stanjem privolitev (GDPR) | contact_id | contacts:read |
create_contact | nov kontakt (vsaj ime, priimek, telefon ali e-pošta) | — | contacts:write |
update_contact | sprememba navedenih polj kontakta | contact_id | contacts:write |
add_contact_note | opomba (zapis o pogovoru) h kontaktu | contact_id, besedilo | contacts:write |
delete_contact | trajni izbris kontakta z vsem, kar je nanj vezano (GDPR izbris) | contact_id | contacts:write |
list_tasks | naloge po statusu, nosilcu, stranki ali iskalnem nizu | — | tasks:read |
get_task | naloga s časovnico in komentarji | task_id | tasks:read |
create_task | nova naloga; assignee_email mora biti član računa | title | tasks:write |
update_task | sprememba statusa, nosilca, prioritete, roka, naslova, opisa, stranke — vse v časovnico | task_id | tasks:write |
add_task_comment | komentar v časovnico brez spremembe stanja | task_id, besedilo | tasks:write |
delete_task | trajni izbris naloge s časovnico; za sled raje status arhivirana | task_id | tasks:write |
Isti seznam z opisi in obsegi je izpisan v Koliu pod Razpoložljiva orodja na kartici MCP strežnik in REST API. Časi brez odmika se razumejo kot lokalni čas v časovnem pasu računa (Nastavitve → Splošno).
Strežnik ob initialize odjemalcu pošlje kratko navodilo: podatke najprej poišči (list_events, find_free_slots, list_contacts, list_tasks) in šele nato ustvarjaj ali spreminjaj, da ne nastanejo podvojeni kontakti ali prekrivajoči se termini. Id-ji iz bralnih orodij so vhod za pisalna. Pisalna orodja sprožijo iste webhooke kot REST (booking.created, booking.cancelled, contact.created, task.created, task.updated).
Primer klica: JSON-RPC prek curl
Kolio MCP strežnik uporablja transport Streamable HTTP brez stanja: vsak klic je en POST na https://kolio.si/api/mcp z JSON-RPC 2.0 telesom in enim JSON odgovorom; različica protokola je 2025-06-18, ime strežnika kolio, podprte metode so initialize, ping, tools/list in tools/call.
curl -s https://kolio.si/api/mcp \
-H "Authorization: Bearer kolio_sk_…" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# odgovor (skrajšano)
{ "jsonrpc": "2.0", "id": 1,
"result": { "tools": [
{ "name": "list_events", "description": "Vrne termine …", "inputSchema": { "type": "object", "…": "…" } },
{ "name": "find_free_slots", "…": "…" }
] } }curl -s https://kolio.si/api/mcp \
-H "Authorization: Bearer kolio_sk_…" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "find_free_slots",
"arguments": { "service_id": "<id storitve>", "date_from": "2026-09-21", "date_to": "2026-09-25" }
}
}'
# odgovor
{ "jsonrpc": "2.0", "id": 2,
"result": { "content": [ { "type": "text", "text": "Prosti termini …" } ] } }
# poslovna napaka (uspešen JSON-RPC odgovor, agent jo lahko popravi)
{ "jsonrpc": "2.0", "id": 2,
"result": { "isError": true, "content": [ { "type": "text", "text": "Termin je že zaseden." } ] } }content) z besedilom; poslovna napaka pride kot isError: true.| Kje | Koda | Pomen |
|---|---|---|
| HTTP | 401 + glava WWW-Authenticate: Bearer | ključ manjka, ni veljaven ali je preklican |
| HTTP | 405 na GET | SSE toka ni — strežnik je brez stanja; odjemalec mora uporabiti POST |
| JSON-RPC | -32700 | telo ni veljaven JSON |
| JSON-RPC | -32600 | neveljavno JSON-RPC sporočilo (manjka method ali ime orodja) |
| JSON-RPC | -32601 | nepodprta metoda ali neznano orodje |
| JSON-RPC | -32603 | ključ nima obsega, ki ga orodje zahteva — napaka konfiguracije, ne agenta |
| MCP rezultat | isError: true | poslovna napaka (zaseden termin, neveljaven vhod) s slovenskim besedilom |
Podprt je paketni klic (telo je polje sporočil → polje odgovorov). Sporočilo brez id (notifikacija, npr. notifications/initialized) vrne HTTP 202 brez telesa.
Kako povežem svoj sistem kot MCP vir v Kolio?
Zunanji MCP vir dodate v razdelku Zunanji viri v Koliu na strani Nastavitve → MCP viri in integracije; vir potrebuje ime, https:// naslov Streamable HTTP končne točke in po potrebi poverilnico, po dodajanju pa ga s klikom Preveri povezavo odkrijete in vsako orodje posebej vklopite.
Preverite paket
Razdelek Zunanji viri v Koliu je odklenjen v poskusnem obdobju ter v paketih Rast in Po meri. V paketu Zagon je obrazec onemogočen z opozorilom Na voljo od paketa Rast in povezavo Nadgradi paket. Glej Poraba in naročnina.
Izpolnite obrazec Dodaj strežnik
Ime (npr.
Nastavitve → MCP viri in integracije → Zunanji viri v Koliu → Dodaj strežnikShopify) — iz njega nastane kratka oznaka do 16 znakov, ki jo agent vidi v imenu orodja. URL strežnika — Naslov Streamable HTTP endpointa. Samo https://. Avtentikacija: Brez, Bearer žeton ali Glava po meri (takrat še Ime glave, npr.X-API-Key). Poverilnica — Shranjena šifrirano.Izberite politiko orodij
Politika orodij: Samo branje (priporočeno) ali Dovoli tudi spreminjanje podatkov. Pri drugi možnosti Kolio opozori: Med klicem ni nikogar, ki bi potrdil dejanje. Vklopite le, če zaupate sistemu. Kliknite Dodaj.
Preverite povezavo
Na kartici novega vira kliknite Preveri povezavo. Kolio pokliče
tools/listvašega strežnika in izpiše Odkrita orodja; pri vsakem je oznaka samo branje, spreminja podatke ali brez anotacij ter Bot ga vidi kot z imenom oblikemcp_oznaka_orodje. Dokler tega ne storite, piše Orodij še ni — kliknite »Preveri povezavo«.Vklopite orodja
Seznam dovoljenih orodij je ob dodajanju prazen — agent nima nobenega orodja, dokler ga ne Vklopite. Vklopite le tista, ki jih pogovor res potrebuje; vsako šteje v skupno kvoto 15 orodij. Kartica kaže N aktivnih orodij in Zadnji uspešen klic.
Preizkusite v simulatorju
V AI pomočniki → Klicni simulator ali Spletni simulator postavite vprašanje, ki zahteva podatek iz vašega sistema (npr. stanje naročila). Orodja se prebirajo iz predpomnilnika, zato vklop velja od naslednjega pogovora.
Politika orodij in seznam dovoljenih orodij
Pisanje v vaš sistem zahteva dve zavestni odločitvi: politiko Dovoli tudi spreminjanje podatkov na viru in vklop posameznega pisalnega orodja v seznamu dovoljenih; privzeta politika je Samo branje, seznam dovoljenih orodij je ob dodajanju prazen in ga osvežitev ne širi sama.
| Stanje | Bralno orodje (readOnlyHint: true) | Pisalno orodje ali brez anotacije |
|---|---|---|
| Samo branje, orodje vklopljeno | agent ga kliče | vklop ni mogoč (napaka writeNotAllowed) |
| Dovoli tudi spreminjanje, orodje vklopljeno | agent ga kliče | agent ga kliče z daljšim časovnim rokom |
| orodje izklopljeno (katerakoli politika) | agent ga ne vidi | agent ga ne vidi |
| preklop nazaj na Samo branje | ostane vklopljeno | samodejno odstranjeno iz seznama dovoljenih |
| orodje ob osvežitvi izgine s strežnika | odstranjeno iz seznama dovoljenih | odstranjeno iz seznama dovoljenih |
| novo orodje ob osvežitvi | ostane izklopljeno | ostane izklopljeno |
Vir lahko kadar koli Izklopite (agent nima nobenega njegovega orodja, mesto v kvoti virov se sprosti) ali Izbrišete. Ročni vklop vira hkrati ponastavi prekinjevalnik (glej odpravljanje težav). Vsaka sprememba politike, vklop orodja in dodajanje vira se zapišejo v revizijsko sled računa.
Omejitve zunanjih MCP virov
Koliov agent uporablja največ 5 aktivnih virov in skupno največ 15 zunanjih orodij; kvoto polnijo starejši viri prvi (po datumu nastanka), kar presega, do modela ne pride, kartica Kvota zunanjih orodij pa pokaže, katera orodja so aktivno in katera zunaj kvote.
| Kaj | Vrednost | Kaj se zgodi ob prekoračitvi |
|---|---|---|
| Aktivni viri | 5 | obrazec pokaže Dosegli ste omejitev 5 strežnikov; izklopljeni viri ne štejejo |
| Orodja, ki pridejo do agenta | 15 skupaj, čez vse vire | orodja mlajših virov so zunaj kvote; zožite seznam dovoljenih ali izklopite vir |
| Orodja, sprejeta od enega strežnika ob odkrivanju | 40 | preostala se ne shranijo v predpomnilnik |
| Časovni rok bralnega klica | 4 s med telefonskim klicem, 10 s v spletnem klepetu | agent dobi sporočilo, da se sistem ni odzval; klica ne ponovi |
| Časovni rok pisalnega klica | 8 s med klicem, 12 s v spletnem klepetu | isto; agent sogovorniku pove, da stanje ni potrjeno |
| Odkrivanje orodij (Preveri povezavo) | 15 s | napaka se šteje v prekinjevalnik |
| Prekinjevalnik | 3 zaporedne transportne napake → vir izločen 5 min | kartica kaže začasno onemogočen; ročni Vklopi ponastavi števec |
| Starost seznama orodij | 24 h; Kolio ga samodejno osvežuje vsakih 6 h | starejši seznam se ne uporabi: Seznam orodij je zastarel — osvežite povezavo. |
| Dolžina rezultata orodja | 600 znakov | daljši rezultat se odreže z znakom … |
| Opis orodja / ime orodja | 300 / 64 znakov | odrezano; ime dobi predpono mcp_ in oznako vira |
Transportna napaka (časovni rok, HTTP 5xx, nedosegljiv strežnik) šteje v prekinjevalnik; poslovna napaka (»artikla ni na zalogi«) ne šteje — vaš strežnik lahko zavrne poljubno število zahtev, ne da bi Kolio vir izločil.
Kako Kolio varuje povezavo z zunanjim virom?
Kolio zunanji MCP strežnik obravnava kot nezaupen vir: URL preveri proti zasebnim omrežjem, poverilnico šifrira, opise in rezultate orodij očisti, model pa dobi trajno navodilo, da so rezultati zunanjih orodij podatki in ne navodila.
| Varovalka | Kaj naredi |
|---|---|
| Preverjanje naslova (SSRF) | dovoljen je samo https:// na privzetih vratih 443; naslovi, ki se razrešijo v zasebne, loopback, link-local ali oblačne metapodatkovne razpone (npr. 10.0.0.0/8, 192.168.0.0/16, 169.254.0.0/16), ter imena s končnicami .internal, .local, .localhost so zavrnjeni |
| Šifrirana poverilnica | Bearer žeton ali vrednost glave po meri je v bazi šifrirana (AES-GCM); ob urejanju ostane nespremenjena, če polje pustite prazno |
| Čiščenje opisov in rezultatov | odstranjeni so nevidni znaki in kontrolni markerji oblike [VELIKE_CRKE]; opis je omejen na 300, rezultat na 600 znakov; sumljiv opis orodje označi kot blokirano in ga ni mogoče vklopiti |
| Navodilo modelu | opisi zunanjih orodij nikoli ne gredo v sistemsko navodilo; agent ima stalno pravilo, da rezultatov zunanjih orodij ne upošteva kot navodil, iz njih ne pošilja e-pošte in ne razkriva podatkov drugih strank |
| Ločen imenski prostor | orodja imajo predpono mcp_ in oznako vira, zato se ne morejo izdajati za vgrajena orodja Kolia |
| Revizijska sled | dodajanje vira, sprememba politike in vklop/izklop orodja se zapišejo z e-pošto člana, ki je to storil |
Kaj se zgodi, ko vir ne deluje?
Ko zunanji vir odpove, Koliov agent pogovora ne prekine: orodje vrne sporočilo, da se sistem ni odzval pravočasno, agent klica ne ponovi, sogovorniku pove, da stanje ni potrjeno, in nadaljuje — po treh zaporednih transportnih napakah pa Kolio vir za 5 minut izloči iz seznama orodij.
| Oznaka | Vzrok | Kaj storite |
|---|---|---|
| aktiven | vir deluje, orodja so v kvoti | — |
| neaktiven | vir ste izklopili | Vklopi, če ga potrebujete |
| napaka | zadnji klic ali preverjanje je spodletelo | preverite URL, poverilnico in dnevnik strežnika; Preveri povezavo |
| začasno onemogočen | 3 zaporedne transportne napake, prekinjevalnik odprt (5 min) | odpravite vzrok; ročni Vklopi ponastavi števec takoj |
| Seznam orodij je zastarel | predpomnilnik starejši od 24 h (samodejna osvežitev vsakih 6 h ni uspela) | Preveri povezavo |
| zunaj kvote | skupna kvota 15 orodij je porabljena pri starejših virih | zožite dovoljena orodja ali izklopite vir, ki ga ne potrebujete |
| blokirano | opis orodja vsebuje sumljive vzorce (poskus vrivanja navodil) | orodja ni mogoče vklopiti; popravite opis na strežniku in osvežite |
- »Sistem se ni odzval pravočasno« med klicem: vaš strežnik potrebuje več kot 4 s (branje) oz. 8 s (pisanje). Skrajšajte odziv ali podatke predpripravite; v spletnem klepetu sta roka 10 s in 12 s.
- Agent orodja ne uporabi, čeprav je vklopljeno: preverite kvoto (Kvota zunanjih orodij), starost seznama in ali je vir med prvimi 5 aktivnimi. Orodja se berejo iz predpomnilnika ob začetku pogovora, zato spremembe veljajo od naslednjega pogovora.
- Pisalnega orodja ni mogoče vklopiti: politika vira je Samo branje ali orodje nima anotacije
readOnlyHint. Preklopite politiko ali dopolnite anotacije na strežniku. - Dodajanje vira zavrne URL: naslov ni
https://, uporablja nestandardna vrata ali se razreši v zasebno omrežje. Strežnik izpostavite na javnem imenu z veljavnim certifikatom. - Zunanji odjemalec ne vidi orodja Kolia (obratna smer): ključu manjka obseg — ustvarite nov ključ s potrebnimi obsegi; obsegov obstoječega ključa ni mogoče urejati.
