> For the complete documentation index, see [llms.txt](https://docs.flowcp.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowcp.ai/reference/usage-stats.md).

# Usage stats

The **App MCP Stats** page gives you an at-a-glance view of how your published MCP server is being used: how many end users it reaches, which MCP agents drive the most traffic, and which published tools are called most often. Open it from the **Stats** tab on your app's page.

## Time-range filter

By default the page shows **all-time** activity. Use the filter buttons in the top-right to narrow the whole page — the metric cards, the top agents, and the per-tool table all update together:

| Filter           | Window                              |
| ---------------- | ----------------------------------- |
| **All time**     | Every recorded invocation (default) |
| **Last 24h**     | Calls in the past 24 hours          |
| **Last 7 days**  | Calls in the past 7 days            |
| **Last 30 days** | Calls in the past 30 days           |

## Summary metrics

| Metric                   | Description                                                                                           |
| ------------------------ | ----------------------------------------------------------------------------------------------------- |
| **Users using App MCP**  | Distinct connected end users with at least one invocation in the selected window                      |
| **Total tool calls**     | All calls across this app's published MCP tools                                                       |
| **Published tools used** | How many published tools have been called, out of the total published, with the single most-used tool |

## Success & error rate

The **Success & error rate** card shows how reliable your app's tools are for the selected period:

* A **success rate** percentage — the share of calls that returned a `2xx` or `3xx` status.
* A stacked bar splitting all calls into **Success** (2xx/3xx), **Client errors** (4xx), and **Server errors** (5xx), with a count for each.

The **Top error codes** card next to it lists the most frequent error codes across the app's published tools, with each code's count and its share of all errors. When there are no errors in the window it shows an empty state.

Both cards update together with the time-range filter. They are aggregate-only — no individual end user is ever identified.

## Top MCP agents

The **Top MCP agents** section ranks the MCP clients calling your tools — for example Claude, ChatGPT, or Cursor — by call volume for the selected time range. Each card shows the agent name, its call count, and its share of total traffic. If no calls have been made in the window, the section shows an empty state.

MCP agents are identified from the client name each MCP client reports when it connects. Calls from clients that don't report a name are grouped under *Unknown MCP Client*.

## Usage by published tool

The per-tool table breaks usage down for each enabled tool on your published servers:

| Column          | Description                              |
| --------------- | ---------------------------------------- |
| **Tool**        | Method, tool name, and API path          |
| **Calls**       | Number of invocations in the window      |
| **Users**       | Distinct end users who called the tool   |
| **Success**     | Calls that returned a `2xx`/`3xx` status |
| **Errors**      | Calls that returned an error status      |
| **Avg latency** | Mean end-to-end latency in milliseconds  |
| **Last used**   | Timestamp of the most recent invocation  |

For a full audit trail of individual invocations, see [Execution logs](/reference/execution-logs.md). Stats are always scoped to your workspace — you only ever see usage for your own apps and servers.

## Reading stats from an AI agent

These same stats are available as an MCP tool — `get_app_stats` — on the [FlowCP platform MCP server](/guides/connect-to-flowcp-mcp.md). An AI agent can read them with the same time-range filter (`range` = `24h`, `7d`, `30d`, or all-time) without opening the dashboard. The tool is scoped to the workspace bound to the agent's access token.
