Skip to content

Call log

Updated October 23, 2026

The call log lists the tool calls a server has received: use it to check that your AI is using the server and to understand a failure.

On a phone, the "Logs" tab lists your servers: tap one to open its log directly.

For aggregated figures (per day, per tool, per client), see the dashboard.

What is logged

Open the server's "Log" tab. Each counted tool call (from an AI through MCP or from the sandbox) produces a line:

  • the call "Date";
  • the "Tool" called;
  • the "Status" (see below);
  • the "Source": "AI" for a call received through MCP, "Sandbox" for a test;
  • the "HTTP code" returned by the target API, empty if it did not respond;
  • the "Duration", split into "Upstream time" (spent waiting for your API) and "MCP time" (spent in Voozeo);
  • for a failed call only: the "Origin", the "Step" and a short "Message" (see Reading the steps).

Lines are shown 20 at a time, most recent first. "Refresh" reloads the list and "Load more" shows the next ones. Requests that do not count toward the quota (listing the tools, for example) do not appear.

Click a line (or press Enter on its tool name) to open the call's details: every field, the full message and, if the diagnostic mode was on, its capture. On a phone, lines are cards and the details open in a sheet. Lines recorded before this feature existed show empty cells for the new columns.

What is never logged

By default, neither the call arguments, nor the results, nor your MCP key, nor the target API's secrets are recorded in the log. You only see how the call went, never its content. The only exception is the optional diagnostic mode; even then, headers and secrets are never kept.

Retention

Lines are kept for the duration set by your plan (shown above the list and on the "Plans" screen), then deleted automatically; content captured by the diagnostic mode is kept 30 days. Lines are also deleted with the server. See Quotas and plans.

Reading the statuses

  • "Success": the tool answered without error.
  • "Error": the call failed (target API unreachable, timeout, HTTP error status…). The "HTTP code" helps you understand; see Target API.
  • "Quota reached": the call was refused because the monthly quota is used up; your API was not called (details).

If the log is empty, connect an AI (Connecting your AI) or run a test.

Reading the steps

For a failed call, the "Step" tells where it failed and the "Origin" tells who: "Target API" (your API answered with an error) or "Voozeo".

  • "Unknown tool": the AI called a tool that does not exist or is disabled. The "Message" is "Unknown tool" and the tool it asked for appears in the details. See Unknown tool.
  • "Invalid input": the AI sent invalid arguments, or none for a required parameter. See Missing parameter.
  • "URL refused": the target address was refused by Voozeo's network protection.
  • "Network or timeout": your API did not answer within 10 seconds or could not be reached.
  • "HTTP error": your API answered with an error status (the "HTTP code" column).
  • "Quota": the monthly quota is used up.
  • "Internal error": a problem on the Voozeo side or a misconfiguration (for example a missing authentication setting).

The "Message" is always written in English and is a short fixed sentence, for example "Upstream returned HTTP 404 Not Found". It never contains data from your calls, unless the diagnostic mode is on.

Filtering the log

Above the list, filter by tool (exact name), origin, step, source, or by text in the message. The number of matching calls is shown ("10,000+" beyond that count). Text filters apply after a short pause; "Clear filters" resets everything. On a phone, filters open in a sheet with the "Filters" button.

Top errors

The "Top errors" block, above the list, groups the failed calls of the last 7 or 30 days (or of the whole retention of your plan, when it is longer than 30 days) by tool, origin, step and HTTP code, with their count and last occurrence (10 groups at most). Click a group to filter the log on it. If more than 10,000 calls were found, the result is marked as partial.

Diagnostic mode

When the message is not enough, turn on the "Diagnostic mode" switch at the top of the tab. It is off by default and applies to this server only.

  • What is captured: for each call, the upstream request (method, URL, body), the first 2 KB of the response, the result returned to the AI and, for an internal error, the stack trace. Headers are never captured.
  • Secrets are masked: your API's key, token or password, and fields named like a password or token, are replaced with *** before storage.
  • Captures are kept 30 days, visible to the members of your workspace (and to the Voozeo team when you ask for support), and shown in the "Capture" block of the call's details.
  • Turning the switch off stops new captures. Existing captures expire within 30 days.

Turning the mode on or off appears in your activity log. See also Is the content of my calls stored?.

Example

Your AI says "I could not retrieve the order". In "Log" you see the line: get_order, "Error", HTTP code 404, 120 ms. The target API answered "not found": the identifier the user gave does not exist. No arguments are shown: this is by design.

Get started