get_approvals_stats

Read-only

Calls GET /api/approvals/stats as the signed-in person · REST reference

Approval queue summary counts

Counts for the Approvals page header. Not a cheap aggregate: it fetches the same pending signup page as GET /api/approvals/signups and returns its LENGTH, so the number is capped at the DAL's page size (50) and is not a true total for a longer queue. pendingRoleRequests is a hardcoded 0 — it mirrors the role-requests stub, which is not implemented, rather than counting anything. Answers { data } with NO count, unlike the two list routes in this file which answer { data, count }.

Arguments

This tool takes no arguments.

Example call

A client sends this over the MCP session; Claude and other agents build it for you. The values are placeholders — the shape is real.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_approvals_stats",
    "arguments": {}
  }
}

Result

On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.

The counts.

json
{
  "data": {
    "pendingRoleRequests": 0,
    "pendingSignups": 1
  }
}

Fields

FieldTypeDescription
dataobject
data.pendingRoleRequests0Always 0 — the role-request queue is not implemented.
data.pendingSignupsintegerLength of the pending-signup page; capped at 50.

When it fails

A failed call returns isError: true with the API's message as text.

403

Authenticated, but the caller holds none of the required permissions.

What the model is shown

This is the tool exactly as the server lists it in tools/list. The description starts with the REST call it makes.

json
{
  "name": "get_approvals_stats",
  "description": "GET /api/approvals/stats — Counts for the Approvals page header. Not a cheap aggregate: it fetches the same pending signup page as `GET /api/approvals/signups` and returns its LENGTH, so the number is capped at the DAL's page size (50) and is not a true total for a longer queue. `pendingRoleRequests` is a hardcoded 0 — it mirrors the role-requests stub, which is not implemented, rather than counting anything. Answers `{ data }` with NO `count`, unlike the two list routes in this file which answer `{ data, count }`.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  },
  "annotations": {
    "readOnlyHint": true,
    "openWorldHint": false
  }
}