get_orgs_summary

Read-only

Calls GET /api/orgs/summary as the signed-in person · REST reference

Organization counts for the dashboard header, over the orgs the caller may view

For PLATFORM STAFF the counts are platform-wide — two listOrgs reads with limit: 1, only totalCount used. For everyone else they are over the organizations in which the caller holds org.view, and nothing wider. activeCount counts the DAL's OrgStatus.ACTIVE, so an org that POST /api/orgs/{id}/approve moved to the route layer's 'APPROVED' is counted in totalCount but not in activeCount. userAccessibleCount is the number of orgs the caller holds org.view in.

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_orgs_summary",
    "arguments": {}
  }
}

Result

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

Counts plus the time the response was generated.

json
{
  "activeCount": 1,
  "lastUpdated": "2026-01-15T12:00:00Z",
  "totalCount": 1,
  "userAccessibleCount": 1
}

Fields

FieldTypeDescription
activeCountintegerOf those, the orgs whose DAL status is exactly ACTIVE.
lastUpdatedstring (date-time)ISO-8601, generated per request. Not a data timestamp.
totalCountintegerEvery non-soft-deleted org the caller may view (the platform's, for platform staff).
userAccessibleCountintegerHow many orgs the CALLER holds org.view in. Not a platform total.

When it fails

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

403

A donor-realm bearer, refused by authenticate.

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_orgs_summary",
  "description": "GET /api/orgs/summary — For PLATFORM STAFF the counts are platform-wide — two `listOrgs` reads with `limit: 1`, only `totalCount` used. For everyone else they are over the organizations in which the caller holds `org.view`, and nothing wider. `activeCount` counts the DAL's `OrgStatus.ACTIVE`, so an org that `POST /api/orgs/{id}/approve` moved to the route layer's 'APPROVED' is counted in `totalCount` but not in `activeCount`. `userAccessibleCount` is the number of orgs the caller holds `org.view` in.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  },
  "annotations": {
    "readOnlyHint": true,
    "openWorldHint": false
  }
}