Skip to main content
Glama

AI Design Blueprint Doctrine

Summarize Team Usage

team.summarize
Read-onlyIdempotent

Pro/Teams — summarises the caller's tool-usage patterns and value signals over a configurable window (default 30 days). Returns tool_call_counts, top principles cited in validate runs, value_event_counts by event_type, and an aggregate readiness trend. WHEN TO CALL: the user asks 'how is the Blueprint helping me/my team', 'what should I explore next', or 'show me my Blueprint usage'. WHEN NOT TO CALL: proactively or on every conversation turn (the summary is an explicit retrospective, not telemetry); to compare users (returns only the caller's own data). BEHAVIOR: read-only, idempotent over the same window. Aggregates from AIToolCallLog + ValueEvent + AIValidationRunLog. Pass private_session=true to bypass server-side logging for this summary call (the underlying historical data still exists; only this read is untracked). Auth: Bearer , Teams plan only; Pro and beta plans are refused. UK/EU residency.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
days_backNoNumber of days of usage history to include in the summary.
private_sessionNoSet to true to skip logging this summary call.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "title": "summarize_team_usageDictOutput",
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "$defs": {
      -    "ErrorBody": {
      -      "description": "The body of `error_payload(code, message, details)` returns.",
      -      "properties": {
      -        "code": {
      -          "title": "Code",
      -          "type": "string"
      -        },
      -        "details": {
      -          "additionalProperties": true,
      -          "title": "Details",
      -          "type": "object"
      -        },
      -        "message": {
      -          "title": "Message",
      -          "type": "string"
      -        }
      -      },
      -      "title": "ErrorBody",
      -      "type": "object"
      -    }
      -  },
      -  "properties": {
      -    "error": {
      -      "$ref": "#/$defs/ErrorBody",
      -      "default": null
      -    },
      -    "guidance": {
      -      "default": null,
      -      "title": "Guidance",
      -      "type": "string"
      -    },
      -    "member_count": {
      -      "default": null,
      -      "title": "Member Count",
      -      "type": "integer"
      -    },
      -    "members": {
      -      "default": null,
      -      "items": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "title": "Members",
      -      "type": "array"
      -    },
      -    "period": {
      -      "additionalProperties": true,
      -      "default": null,
      -      "title": "Period",
      -      "type": "object"
      -    },
      -    "plan": {
      -      "default": null,
      -      "title": "Plan",
      -      "type": "string"
      -    },
      -    "summary": {
      -      "additionalProperties": true,
      -      "default": null,
      -      "title": "Summary",
      -      "type": "object"
      -    },
      -    "workspace_id": {
      -      "default": null,
      -      "title": "Workspace Id",
      -      "type": "string"
      -    }
      -  },
      -  "title": "TeamSummarizeResponse",
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "ErrorBody": {
      +      "description": "The body of `error_payload(code, message, details)` returns.",
      +      "properties": {
      +        "code": {
      +          "title": "Code",
      +          "type": "string"
      +        },
      +        "details": {
      +          "additionalProperties": true,
      +          "title": "Details",
      +          "type": "object"
      +        },
      +        "message": {
      +          "title": "Message",
      +          "type": "string"
      +        }
      +      },
      +      "title": "ErrorBody",
      +      "type": "object"
      +    }
      +  },
      +  "properties": {
      +    "error": {
      +      "$ref": "#/$defs/ErrorBody",
      +      "default": null
      +    },
      +    "guidance": {
      +      "default": null,
      +      "title": "Guidance",
      +      "type": "string"
      +    },
      +    "member_count": {
      +      "default": null,
      +      "title": "Member Count",
      +      "type": "integer"
      +    },
      +    "members": {
      +      "default": null,
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "title": "Members",
      +      "type": "array"
      +    },
      +    "period": {
      +      "additionalProperties": true,
      +      "default": null,
      +      "title": "Period",
      +      "type": "object"
      +    },
      +    "plan": {
      +      "default": null,
      +      "title": "Plan",
      +      "type": "string"
      +    },
      +    "summary": {
      +      "additionalProperties": true,
      +      "default": null,
      +      "title": "Summary",
      +      "type": "object"
      +    },
      +    "workspace_id": {
      +      "default": null,
      +      "title": "Workspace Id",
      +      "type": "string"
      +    }
      +  },
      +  "title": "TeamSummarizeResponse",
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "summarize_team_usageDictOutput",
      -  "type": "object"
      -}New value: +null
  5. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description goes beyond these by revealing data sources (AIToolCallLog, ValueEvent, AIValidationRunLog), the private_session logging bypass behavior, authentication requirements, plan restrictions (Teams only, Pro/beta refused), and residency constraints (UK/EU). No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but well-structured with clear section headers (WHEN TO CALL, WHEN NOT TO CALL, BEHAVIOR). It is front-loaded with the core purpose and each sentence provides distinct value. Slightly verbose, but every part serves a purpose; the structure earns a 4.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with this complexity — aggregation from multiple logs, auth, plan gating, residency, and a private_session flag — the description covers every aspect an agent needs to call it correctly. An output schema exists for return values, so those are covered. Nothing is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are fully documented in the schema itself. The description adds marginal context (e.g., that private_session doesn't delete underlying data), but it largely repeats what the schema already provides. Per calibration, a 3 is appropriate when the schema carries the burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('summarises') and a clear resource ('the caller's tool-usage patterns and value signals over a configurable window'). It enumerates the exact return fields and explicitly differentiates itself from any sibling by noting it returns only the caller's own data, which rules out comparison use cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit 'WHEN TO CALL' and 'WHEN NOT TO CALL' sections, providing concrete example user queries ('how is the Blueprint helping me/my team') and clear exclusions (proactive calls, every turn, comparing users). This is textbook usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources