> ## Documentation Index
> Fetch the complete documentation index at: https://platform.atlan.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> To act on Atlan objects, use the Atlan MCP server at https://api.atlan.com/mcp or the SDK. To install or publish skills from a terminal, use the `aireg` CLI; `aireg --map json` prints its command map. The `atlanai` CLI is deprecated. Run a read-only identity check before any write.
> The docs MCP server at /mcp searches these docs only. It cannot read or change Atlan objects.
> SDK packages: Python `atlanai` (PyPI) and TypeScript `@atlanai/sdk` (npm). Show Python first, then TypeScript.
> These docs cover Atlan Trident, Atlan's hosted product. AI Registry and Agent Registry are its earlier names. Registry OSS is Atlan's open-source agent registry: the registry specification and its aireg CLI, with their own public repository, docs and release notes; /open-source on this site links them. Registry OSS is open source; Atlan Trident is not. Answer generic aireg or specification questions from the project's docs, and use these docs for Atlan-specific setup such as the Atlan adapter, sign-in and workspaces.
> Atlan offers a second product, the Agentic Data Catalog: Atlan's enterprise context layer, covering the data catalog, connectors, lineage, data governance and glossary. It is documented at https://docs.atlan.com; answer questions about it from those docs, not these.

# Count scorer answers

> Use extension__eval__aggregate_insights through Atlan MCP Gateway.

Call `extension__eval__aggregate_insights` with the inputs below. In [search mode](https://platform.atlan.com/gateway/mcp/concepts/search-mode.md#how-sessions-group-calls-for-audit), the default, run this tool through `mcp__call_read_tool`, the runner its `run_with` names: send the inputs below as its `arguments`, and put `session_id` and `rationale` beside them, not inside. In full mode, open a session with `mcp__initialise` first and pass its `session_id`. The authenticated `mcp__describe_tools` result in search mode, or `tools/list` response in full mode, is the final check for the name and schema available to your account.

Count stored scorer answers instead of paging them: one card per scorer over whole UTC days, with the totals and the splits by agent version and by scorer version. A pass/fail scorer's card has `passed_count`, `failed_count`, and `pass_rate`; a choice scorer's has `choice_counts`; a score scorer's has `score_statistics`. Text answers are not counted. The read counts what is stored and runs no scorer.

**One scorer's card.** Name `workspace_id` and `scorer_id`. Add `agent_id` to count one agent's answers, or `scorer_version` to count one saved version's. The window is `start_date` and `end_date` (`YYYY-MM-DD`, UTC, at most 90 days apart), by default the 30 days ending today. `group_by`, one or two of `repo`, `harness`, and `user`, adds a flat `groups` table to each card; `user` needs permission to manage the workspace.

**A card per scorer for an agent.** Name `workspace_id` and `agent_id` without `scorer_id`: the read returns a card for each scorer that answered about that agent in the window. `project_id` keeps the scorers of one project.

**Compact by default.** A card leaves out the daily series, keeps the newest 5 versions of the agent (plus answers with no version) and of the scorer, and counts the rest in `agent_versions_omitted` and `scorer_versions_omitted`. A card not narrowed to one agent has no `agent_versions`: name `agent_id` to compare versions. Flags other than `is_truncated` appear only when true. `full: true` returns each card whole, with every day and every version; off by default, a compact card is about a sixth of the size.

**Did a fix work?** Name the agent and compare each card's `agent_versions`: the fixed version's `pass_rate` (or `score_statistics`) against the version before, with `scorer_version` pinned so a scorer edit does not mix in. A version with few answers is noise: weigh `answer_count` before reading its rate. `include_counted` adds a `counted` block: the live version's own answers, conversation counts, and confidence.

**What it counts.** Each trace's latest answer per scorer and question (`runs: latest`, the default); `latest_per_version` keeps one per scorer version, and `all` counts every run. `execution_id` counts one score run and defaults `runs` to `all`. `grain: session` counts each agent session's answer from session-grain scoring instead of each trace's (the default, `grain: trace`). `pass_rate` counts the stored verdicts and does not apply the scorer's failure rule. Counts can lag new answers by about a minute. An incomplete card says so (`is_truncated`) and has a null `pass_rate`, never a partial ratio.

**The answers behind a card.** Call `extension__eval__list_insights` with the same `workspace_id`, `scorer_id`, and `agent_id`.

The read needs read access to the workspace (viewers included) and spends the per-minute insights budget it shares with `extension__eval__list_insights`; after a `429 rate_limited`, wait up to a minute and retry. The whole aggregation is bounded at 30 seconds and returns `503` when it cannot finish in time.

## Inputs

| Input | Type | Required | Meaning |
| - | - | - | - |
| `workspace_id` | string | Yes | The workspace whose answers to count. Every card counts one workspace's answers. |
| `scorer_id` | string | No | The `scorer_…` whose answers to count: its card, with totals and splits. Add `agent_id` or `scorer_version` to narrow it. |
| `agent_id` | string | No | With `scorer_id`: count only this agent's answers. With `workspace_id` and no `scorer_id`: a card per scorer that answered about this agent in the window. |
| `project_id` | string | No | With `agent_id` and no `scorer_id`: keep the scorers of one project. |
| `scorer_version` | integer | No | With `scorer_id`: count one saved version's answers. Positive integers only. |
| `start_date` | string | No | The first UTC day of the window, `YYYY-MM-DD`. Defaults to 29 days before `end_date`, for the 30 days ending today. |
| `end_date` | string | No | The last UTC day of the window, `YYYY-MM-DD`. At most 90 days after `start_date`. |
| `runs` | string | No | Which runs the counts read: `latest` counts each trace's newest answer per scorer and question (default), `latest_per_version` keeps one per scorer version, and `all` counts every run. Default: `latest`. |
| `grain` | string | No | What one count covers: `trace` (default) counts each trace's answer, `session` counts each agent session's answer from session-grain scoring. Default: `trace`. |
| `group_by` | array | No | One or two of `repo`, `harness`, `user`: add a flat `groups` table to each card, split on them. `user` needs permission to manage the workspace. Default: `[]`. |
| `execution_id` | string | No | Count one score run's answers. It defaults `runs` to `all`. |
| `include_counted` | boolean | No | Add a `counted` block: the live version's own answers, conversation counts, and confidence. Default: `false`. |
| `full` | boolean | No | Return each card whole: every day of the window, every agent and scorer version, and every flag. Off by default: a compact card is about a sixth of the size. Default: `false`. |
| `rationale` | string | Yes | A concise, first-person explanation of why you are calling this tool right now: what you are trying to accomplish for the user and how this specific call advances that goal. Written for a human auditor reviewing tool usage after the fact. Do not restate the arguments - explain the intent behind them. In search mode, send it beside `arguments` instead. |
| `session_id` | string | Yes | The id `mcp__initialise` returned for this conversation, so this call is recorded against it. Required: call `mcp__initialise` first and pass the id it returns. Do not invent a value - an id that names no session of yours is refused. In search mode, send the `session_id` from `mcp__search_tools` beside `arguments` instead. |

## Permissions and result

The call uses your authenticated Atlan identity and the target workspace's permissions. This tool reads existing data. A missing or inaccessible target can be refused even when the tool is listed.

See [MCP tool catalog](https://platform.atlan.com/tools/mcp/references/tool-catalog.md) for related tools and [MCP Gateway errors](https://platform.atlan.com/gateway/mcp/troubleshooting.md) for refusal and connection diagnostics.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.