---
title: "Čo logovať pri každom volaní nástroja MCP"
description: "Klient vidí vzdialený MCP server ako jeden nepriehľadný span a dashboard katalógu vidí súčty. Volanie videl len server. Riadok, ktorý MCP servery Tajo zapisujú pri každom volaní, pole po poli, čo sa z neho odstraňuje a čo postavené nie je."
url: https://tajo.io/sk/blog/what-to-log-for-every-mcp-tool-call/
markdown: https://tajo.io/sk/blog/what-to-log-for-every-mcp-tool-call.md
lang: sk-SK
author: "Set Noa"
author_url: https://tajo.io/sk/set-noa/
published: 2026-11-06
updated: 2026-11-06
alternates: {en-US: /blog/what-to-log-for-every-mcp-tool-call.md, bg-BG: /bg/blog/what-to-log-for-every-mcp-tool-call.md, cs-CZ: /cz/blog/what-to-log-for-every-mcp-tool-call.md, de-DE: /de/blog/what-to-log-for-every-mcp-tool-call.md, da-DK: /dk/blog/what-to-log-for-every-mcp-tool-call.md, es-ES: /es/blog/what-to-log-for-every-mcp-tool-call.md, fr-FR: /fr/blog/what-to-log-for-every-mcp-tool-call.md, el-GR: /gr/blog/what-to-log-for-every-mcp-tool-call.md, hi-IN: /hi/blog/what-to-log-for-every-mcp-tool-call.md, id-ID: /in/blog/what-to-log-for-every-mcp-tool-call.md, hr-HR: /hr/blog/what-to-log-for-every-mcp-tool-call.md, hu-HU: /hu/blog/what-to-log-for-every-mcp-tool-call.md, it-IT: /it/blog/what-to-log-for-every-mcp-tool-call.md, ja-JP: /jp/blog/what-to-log-for-every-mcp-tool-call.md, ko-KR: /kr/blog/what-to-log-for-every-mcp-tool-call.md, ar-SA: /ar/blog/what-to-log-for-every-mcp-tool-call.md, nl-NL: /nl/blog/what-to-log-for-every-mcp-tool-call.md, no-NO: /no/blog/what-to-log-for-every-mcp-tool-call.md, pl-PL: /pl/blog/what-to-log-for-every-mcp-tool-call.md, pt-BR: /pt/blog/what-to-log-for-every-mcp-tool-call.md, ro-RO: /ro/blog/what-to-log-for-every-mcp-tool-call.md, ru-RU: /ru/blog/what-to-log-for-every-mcp-tool-call.md, sv-SE: /se/blog/what-to-log-for-every-mcp-tool-call.md, zh-CN: /zh-cn/blog/what-to-log-for-every-mcp-tool-call.md, sl-SI: /sl/blog/what-to-log-for-every-mcp-tool-call.md, sr-Latn-RS: /sr/blog/what-to-log-for-every-mcp-tool-call.md, th-TH: /th/blog/what-to-log-for-every-mcp-tool-call.md, tr-TR: /tr/blog/what-to-log-for-every-mcp-tool-call.md, ur-PK: /ur/blog/what-to-log-for-every-mcp-tool-call.md, vi-VN: /vi/blog/what-to-log-for-every-mcp-tool-call.md}
---

[AI agenti](https://tajo.io/sk/blog/?category=ai-agents)

# Čo logovať pri každom volaní nástroja MCP

Klient vidí vzdialený MCP server ako jeden nepriehľadný span a dashboard katalógu vidí súčty. Volanie videl len server. Riadok, ktorý MCP servery Tajo zapisujú pri každom volaní, pole po poli, čo sa z neho odstraňuje a čo postavené nie je.

logovanie mcp servera

Čo by mal MCP server zapísať pri každom volaní nástroja?

Logujte jeden riadok na volanie nástroja, na serveri, pretože server je jediné miesto, ktoré volanie videlo. MCP servery Tajo zaznamenávajú, kto volal (id kľúča, nikdy jeho tajnú hodnotu), ktorý server a konektor, nástroj, ak existuje, jeho triedu účinku, ok alebo krátky kód chyby, dobu trvania, veľkosť výsledku, trace id, záznamy, ktorých sa volanie týkalo, a argumenty a odpoveď očistené od tajných a osobných údajov. Riadky sa čítajú cez logs.list a logs.get a po 30 dňoch sa mažú. Ležia oddelene od auditného logu s hashovým reťazcom, kde sa uchovávajú schválenia a odtlačky ich vstupov. Čo postavené nie je: skóre stavu, upozornenie na chybovosť, vyhľadávanie podľa nástroja alebo trace id a export do Vášho vlastného trasovania.

[Zistiť viac](https://tajo.io/sk/blog/what-to-log-for-every-mcp-tool-call/#jeden-riadok-na-volanie)

Dňa 8. júna 2026 dal Anthropic vlastníkom konektorov v katalógu Claude dashboard. Ukazuje aktívnych používateľov, celkový počet volaní nástrojov a poradie v katalógu. Ukazuje „[skóre stavu, chybovosť a latenciu na prvý pohľad, s rozpadom chýb podľa nástrojov, aby ste presne určili, čo zlyháva](https://claude.com/resources/articles/observability-for-developers-building-connectors)“.

O rok skôr opísal Alex Volkov z Weights & Biases ten istý problém z druhej strany. Keď jeho agent začal volať nástroje cez MCP, „[všetka tá observabilita, na ktorú som zvyknutý, keď môj vlastný kód beží od začiatku do konca, trochu stmavla](https://www.youtube.com/watch?v=Lcqat4iP_lE&t=61s)“. Jeho spoluprednášajúci Benjamin Eckel z Dylibso ukázal prečo. Vzdialený MCP server sa „[nám v trasovaní zobrazuje ako jediný span služby](https://www.youtube.com/watch?v=Lcqat4iP_lE&t=447s)“, pretože beží mimo kontroly volajúceho.

Oba pohľady stoja mimo servera. Klient vidí jeden nepriehľadný span. Katalóg vidí súčty. Ani jeden nevidel, o čo bol server požiadaný, čo odmietol a čoho sa dotkol. To videl len server, a tak len server to môže zapísať.

Toto zapisujú MCP servery Tajo, vyčítané z kódu, ktorý ich prevádzkuje, a [opísané v dokumentácii](https://tajo.io/sk/docs/mcp/#mcp-request-log). [Čo je MCP server](https://tajo.io/sk/blog/what-is-an-mcp-server/) opisuje protokol. Tento text opisuje riadok.

## Jeden riadok na volanie

Dashboard je pohľad prístavného kapitanátu: lode dnu, lode von, ktoré meškali. Log požiadaviek je vlastný lodný denník, písaný na palube v tej chvíli.

Každé `tools/call` na serveri pracovného priestoru Tajo a na každom serveri konektora [končí jedným riadkom](https://tajo.io/sk/docs/mcp/#mcp-request-log). Riadok sa zapisuje po zostavení odpovede, nech bola odpoveď akákoľvek. Volanie odmietnuté preto, že kľúč nesmie zapisovať, alebo preto, že endpoint je len na čítanie, dostane riadok ako každé iné. Rovnako aj volanie nástroja, ktorý neexistuje.

Tu je, čo riadok obsahuje a čo obsahovať odmieta.

| Pole | Uchováva sa | Neuchováva sa |
| --- | --- | --- |
| Kto | Id kľúča API, ktorý volal. Token z prihlásenia cez OAuth je tiež kľúč. | Tajná hodnota kľúča ani jeho prefix. |
| Kde | Server pracovného priestoru alebo server konektora, s jeho konektorom a profilom. |  |
| Nástroj | Názov, ak server má nástroj s týmto názvom. | Akýkoľvek iný názov, ktorý klient pošle: uloží sa ako `(unknown)`. |
| Účinok | `read`, `write`, `send` alebo `destructive`: najťažší účinok, ktorý volanie mohlo mať. |  |
| Výsledok | `ok`, alebo krátky kód chyby v snake\_case, napríklad `unknown_tool`. | Text chyby: čokoľvek, čo nie je kód, sa uloží ako `tool_error`. |
| Doba trvania a veľkosť | Milisekundy od príchodu po odpoveď a bajty, ktoré volajúci dostal. |  |
| Trace id | Id požiadavky z hlavičky `x-request-id`, `x-trace-id` alebo W3C `traceparent`, inak nové. | Hodnota hlavičky, ktorá nie je hex ani UUID. |
| Záznamy | Až 20 id záznamov, ktoré volanie uviedlo alebo vytvorilo: kontakt, správa, schválenie. | Samotné záznamy. |
| Telá | Argumenty a odpoveď, [vyčistené](https://tajo.io/sk/docs/mcp/#mcp-request-log), každé najviac 4 KB. | Tajné údaje, voľný text a osobné údaje uvedené nižšie. |

Tri z týchto odmietnutí sa týkajú klienta, nie dát. Názov nástroja, kód chyby aj trace id prichádzajú zvonka. Každé sa uchováva len v podobe, za ktorú sa server môže zaručiť. Log, ktorý ukladá čokoľvek, čo volajúci poslal, sa dá naplniť čímkoľvek, aj e-mailovou adresou zákazníka v stĺpci s názvom nástroja.

Otvorená otázka Benjamina Eckela na konci prednášky znela, ako kolektor zistí, „[že je to volanie nástroja MCP, ktoré má chybu](https://www.youtube.com/watch?v=Lcqat4iP_lE&t=906s)“. Na jednom serveri je odpoveďou stĺpec. `ok` je nepravda a kód hovorí, aká chyba.

## Argumenty: pravidlo, ktoré sme obrátili

Námietka je oprávnená a je naša vlastná. Keď logujete argumenty, staviate druhú kópiu dát svojich zákazníkov, mimo dosahu každej žiadosti o vymazanie. Do 18. októbra 2026 to bolo [naše vlastné pravidlo](https://tajo.io/sk/docs/mcp/#mcp-request-log). Log neuchovával argumenty ani telo odpovede, pretože oboje môže niesť osobné údaje.

Bol to zlý kompromis. Log požiadaviek, ktorý nevie ukázať, čo sa odoslalo a čo sa vrátilo, nedokáže odpovedať na jedinú otázku, kvôli ktorej existuje: prečo volanie môjho agenta zlyhalo?

Telá sa teda uchovávajú a dôvod, prečo sa predtým neuchovávali, sa rieši inak. Každé telo prejde [jedným deterministickým prechodom](https://tajo.io/sk/docs/mcp/#mcp-request-log), kým sa zaradí do frontu.

- **Žiadny tajný údaj neprežije.** Pole, ktorého názov hovorí token, password, secret, signature, cookie, session alebo približne dvadsať podobných slov, si ponechá len `[secret]`. Rovnako hodnota v známom tvare prihlasovacích údajov, nech sa objaví kdekoľvek. To zahŕňa bearer tokeny, JWT, súkromné kľúče, URL s heslom a akýkoľvek nepriehľadný reťazec 40 a viac znakov kľúča.
- **Próza sa neuchováva vôbec.** Pole s názvom `html`, `text`, `body`, `markdown` alebo `content` si ponechá len `[redacted]`. Próza obsahuje mená a adresy, ktoré žiadny vzor nenájde.
- **Osobné údaje sa maskujú natrvalo.** Pole, ktorého názov označuje osobné údaje, napríklad e-mail, telefón, meno, adresu alebo poznámku, si ponechá len `[redacted]`. E-mailová adresa, telefónne číslo, karta alebo IBAN vnútri akéhokoľvek iného reťazca sa maskujú.
- **Telá zostávajú malé.** [Reťazce sa skracujú na 512 znakov](https://tajo.io/sk/docs/mcp/#mcp-request-log), zoznamy na 20 položiek, objekty na 50 kľúčov a vnorenie na 6 úrovní. Celé telo sa [skracuje na 4 KB](https://tajo.io/sk/docs/mcp/#mcp-request-log) a označí sa ako skrátené.

Dva druhy volaní uchovávajú menej. Kontakty, ktoré chat danej osoby priniesol z inej aplikácie, sa logujú ako značka a počet, nikdy ako telo. Volanie, ktoré číta log, neuchováva žiadnu odpoveď, pretože odpoveďou by boli len iné riadky logu.

A teraz cena. Maskovanie je trvalé, nie je to šifrovanie kľúčom, ktorý niekto drží. Log Vám neukáže e-mailovú adresu, ktorá sa vrátila ako nedoručiteľná. Ukáže Vám id kontaktu a kontakt je, podľa svojich vlastných pravidiel, jedno volanie ďaleko. Log leží mimo výmazu dát pracovného priestoru, a preto maskovanie nemôže na žiadny výmaz čakať.

## Prečo log nie je auditná stopa

Tajo už má [auditný log, do ktorého sa dá len pripisovať](https://tajo.io/sk/docs/mcp/#mcp-request-log). Každý riadok nesie hash predchádzajúceho riadku, takže úprava kdekoľvek reťazec preruší. Prečo tam nezapisovať volania nástrojov?

Pretože reťazec má svoju cenu. Každé pripísanie berie zámok pre celý pracovný priestor a číta predchádzajúci riadok, aby reťazec predĺžilo. Zapisovať cezeň každé čítanie by postavilo volania pracovného priestoru do frontu za jediný zámok. Tiež by to zahrabalo zmeny stavu, ktoré má auditný log ukazovať, pod tisíce čítaní.

Oba záznamy sa teda delia podľa otázky. Log požiadaviek hovorí, o čo agent požiadal a čo sa stalo, [počas 30 dní](https://tajo.io/sk/docs/mcp/#mcp-request-log). Auditný log hovorí, čo sa zmenilo, kto to povolil a či odvtedy niekto záznam upravil.

Schválenia patria na stranu auditu. V profiloch konektorov Tajo [nástroj propose pripraví deklarovanú akciu a nástroj apply ju po schválení vykoná](https://tajo.io/sk/docs/mcp/). K poskytovateľovi sa nič nedostane, kým návrh neschváli človek alebo pravidlo, ktoré pracovný priestor zapol. Riadok volania propose uvádza medzi svojimi záznamami schválenie, ktoré vytvorilo. Samotné schválenie je viazané na odtlačok SHA-256 presného vstupu. [Schválenie sa vzťahuje presne na vstup, ktorý ste videli](https://tajo.io/sk/docs/mcp/agent-specification/): zmeňte jedno pole a už nesedí. Keď zápis prebehne, jeho auditný riadok uchová odtlačok vstupu a odtlačok odpovede poskytovateľa, nikdy hodnoty z odpovede.

## Koľko riadok stojí

Riadok je zápis do databázy a zápis má commit. [Do 8. októbra 2026](https://tajo.io/sk/docs/mcp/#mcp-request-log) každé volanie čakalo pred odpoveďou na vlastný commit, asi 2,6 ms na našom hostiteľovi. Pre jedného klienta to bola štvrtina malého volania nástroja.

Teraz sa riadok zostaví, keď volanie skončí, a zaradí sa do frontu. Flush zapíše front [najviac o 100 ms neskôr](https://tajo.io/sk/docs/mcp/#mcp-request-log), jednou transakciou na pracovný priestor, takže mnoho volaní zdieľa jeden commit. Na riadku sa nič nemení, ani jeho časová pečiatka. Ak [čaká 5 000 riadkov](https://tajo.io/sk/docs/mcp/#mcp-request-log), ďalšie volanie počká na flush, namiesto toho, aby sa riadok zahodil.

Zaznamenávanie nikdy nespôsobí zlyhanie volania. Zápis, ktorý zlyhá, sa skúša znova riadok po riadku, potom sa zaloguje a zahodí. Tvrdé ukončenie procesu stratí to, čo bolo vo fronte: [najviac posledných 100 ms volaní](https://tajo.io/sk/docs/mcp/#mcp-request-log).

## Spätné čítanie

[`logs.list`](https://tajo.io/sk/docs/mcp/#mcp-request-log) vracia volania pracovného priestoru, od najnovších, bez tiel. Filtruje podľa času, podľa výsledku alebo stavu HTTP, podľa zdroja (MCP alebo REST API, ktoré tabuľku zdieľa) a podľa kľúča API. Predvolene stránkuje po 50, najviac po 100. `logs.get` vracia jedno volanie s aktuálnym názvom kľúča, jeho stavom, dobou trvania, vyčistenou požiadavkou a odpoveďou a záznamami, ktorých sa týkalo.

Obe čítajú len pracovný priestor volajúceho. Id riadku z iného pracovného priestoru sa nenájde.

Chyba nástroja nesie id požiadavky. Keď toto id vytvoril server, alebo prišlo ako hex alebo UUID, je to trace id riadku. Agent, ktorý dostal chybu, môže človeku odovzdať jedinú hodnotu, ktorá volanie pomenuje.

## Čo je postavené a čo nie

Postavené v čase písania:

- Jeden riadok na každé `tools/call` na serveri pracovného priestoru a každom serveri konektora, vrátane odmietnutých a neznámych volaní.
- [Id kľúča, server, konektor, profil, nástroj, účinok, výsledok, doba trvania, veľkosť výsledku, trace id a až 20 dotknutých záznamov](https://tajo.io/sk/docs/mcp/#mcp-request-log).
- [Vyčistené argumenty a odpovede](https://tajo.io/sk/docs/mcp/#mcp-request-log), každé najviac 4 KB.
- [`logs.list` a `logs.get`](https://tajo.io/sk/docs/mcp/#mcp-request-log), obmedzené na pracovný priestor, s uchovaním 30 dní.
- Schválenia viazané na odtlačok vstupu a vykonané zápisy zaznamenané s odtlačkami vstupu a výstupu v auditnom logu s hashovým reťazcom.

Nepostavené, a oplatí sa to vedieť, kým sa na to spoľahnete:

- Žiadne skóre stavu, žiadny graf podľa nástrojov a žiadne upozornenie na rastúcu chybovosť. Súhrn podľa nástrojov s počtami volaní, chýb a najpomalšími dobami [existuje pre prevádzkový tím Tajo](https://tajo.io/sk/docs/mcp/#mcp-request-log), nie na žiadnom mieste, ktoré môžete otvoriť.
- `logs.list` nevie filtrovať podľa názvu nástroja ani podľa trace id. Ak chcete nájsť riadok za id požiadavky, zúžte výber podľa času a kľúča.
- Riadky sa neexportujú do systému trasovania, ktorý prevádzkujete. Trace id sa číta len z hlavičiek HTTP, nie z poľa MCP `_meta`, ktoré prednáška použila na [prenos kontextu trasovania](https://www.youtube.com/watch?v=Lcqat4iP_lE&t=535s).
- [Po 30 dňoch sa riadok vymaže](https://tajo.io/sk/docs/mcp/#mcp-request-log). Neexistuje archív ani export.
- Čo bolo zamaskované, sa z logu nedá obnoviť.
- [Tvrdé ukončenie môže stratiť riadky z posledných 100 ms](https://tajo.io/sk/docs/mcp/#mcp-request-log).

Prednáška sa skončila konštatovaním, že observabilita v MCP „[nie je rovnomerne rozložená](https://www.youtube.com/watch?v=Lcqat4iP_lE&t=841s)“. Dashboard ďalej po prúde to nenapraví a rovnako ani trasovanie, ktoré končí pri dverách servera. [Synchronizácia, ktorá zlyhá, potrebuje vlastný záznam](https://tajo.io/sk/blog/worker-died-sync-didnt/); rovnako aj každé volanie, ktoré oň požiadalo.

Server volanie videl. Nikto iný nie. Zapíšte to tam.

## Často Kladené Otázky

**Čo by mal MCP server logovať pri každom volaní nástroja?**

Jeden riadok na volanie, zapísaný serverom: ktorý kľúč API volal, ktorý server a konektor, názov nástroja, ak nástroj existuje, jeho triedu účinku, ok alebo krátky kód chyby, dobu trvania, veľkosť výsledku, trace id požiadavky, id záznamov, ktoré volanie uviedlo alebo vytvorilo, a argumenty a odpoveď s odstránenými tajnými údajmi a osobnými údajmi. MCP servery Tajo zapisujú tento riadok pri každom tools/call, vrátane odmietnutých volaní, a uchovávajú ho 30 dní.

**Má log požiadaviek MCP uchovávať argumenty nástroja?**

Áno, vyčistené. Log bez argumentov nepovie, prečo volanie zlyhalo. Tajo do 18. októbra 2026 neuchovávalo žiadne telá a teraz uchováva obe, po jednom deterministickom prechode: tajné údaje sa menia na \[secret\], voľný text a osobné polia na \[redacted\], e-mailové adresy, telefónne čísla, karty a čísla IBAN sa maskujú a každé telo sa skracuje na 4 KB. Maskovanie je trvalé, takže log odkazuje na záznam pomocou id, namiesto toho, aby ho kopíroval.

**Prečo držať log volaní nástrojov MCP oddelene od auditného logu?**

Pretože odpovedajú na iné otázky za inú cenu. Auditný log Tajo je hashový reťazec zmien stavu a každé pripísanie berie zámok pre celý pracovný priestor, aby reťazec predĺžilo. Zapisovať cezeň každé čítanie by postavilo volania pracovného priestoru do frontu za tento zámok a zmeny by sa stratili medzi čítaniami. Volania nástrojov idú do samostatnej tabuľky bez reťazca, uchovávanej 30 dní; zápisy, ktoré volanie pripraví, stále zanechávajú vlastné auditné riadky.

## Súvisiace články

### [Čo je MCP server? Ako fungujú MCP a MCP UI v roku 2026](https://tajo.io/sk/blog/what-is-an-mcp-server/)

3\. 10. 2026 · 13 min čítania

Krok 1 → Krok 6

### [Grok Bot a Brevo: uzavrite cyklus produktovej spätnej väzby](https://tajo.io/sk/blog/grok-bot-brevo-product-feedback/)

7\. 10. 2026 · 4 min čítania

3 sekcie

### [MCP, alebo CLI? Nesprávna otázka. Pýtajte sa, kde žije stav.](https://tajo.io/sk/blog/mcp-or-cli-is-the-wrong-question/)

4\. 11. 2026 · 6 min čítania

5 sekcií
