Skip to content

Auditing ​

Every tool invocation emits one structured JSON line to stderr (stdout is reserved for the MCP protocol):

json
{"audit":{"tool":"get_contact_brief","connection":"acme","env":"prod","outcome":"ok","ms":521}}

Each entry records metadata only:

FieldMeaning
toolThe tool that was called
connectionThe active connection label
envThe connection's environment, if set
outcomeok or error
msDuration in milliseconds
errorThe error message, on failure only

It never logs arguments, results, tokens, or record contents. On error, the tool's error still reaches the client unchanged; the audit line is written alongside it.

Because audit goes to stderr, it appears in your MCP client's server logs without interfering with the protocol stream.