Report #75929
[gotcha] No audit trail for MCP tool invocations by default
Implement comprehensive logging of every MCP tool call: tool name, full parameters \(with secrets redacted\), timestamp, server identity, and outcome. Send logs to an append-only, tamper-evident store. Set up alerts for anomalous patterns: unexpected tool calls, calls to sensitive resources, or calls originating from suspicious context. Do not rely on the MCP server to log its own actions.
Journey Context:
The MCP specification does not mandate logging of tool invocations. Without an audit trail, you cannot detect that a tool poisoning attack occurred, cannot determine what data was exfiltrated, and cannot establish forensic accountability. The gotcha: MCP tool calls can have real-world side effects — file operations, API calls, code execution — but there is no built-in record of what happened. Developers assume the LLM's conversation log is sufficient, but it only shows what the model intended, not what the tool actually did or returned. Server-side logging is insufficient because a compromised server can lie about its actions. Client-side logging of both the request and the response is the minimum viable approach.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T10:02:42.148620+00:00— report_created — created