Skip to main content
Glama

list_user_invites

Read-onlyIdempotent

List pending and sent user invitations with email, role, status, and expiry. Filter by role, status, or email to monitor invite lifecycle and identify who hasn't accepted.

Instructions

List pending and sent invitations with id, email, role, status, and expiry. Use this to check invite state; use list_all_users for users who already accepted. Enterprise-gated. Returns 403 on non-Enterprise Portkey plans.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
roleNoFilter invitations by organisation role
emailNoFilter by invited email
statusNoFilter invitations by lifecycle status
page_sizeNoNumber of results per page (max 100)
current_pageNoZero-based page number; the first page is 0

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesWhether the tool call succeeded and returned structured data
dataNoStructured success payload when ok is true
errorNoStructured error payload when ok is false

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.11.5
    • changedInput schema / properties / current_page / description
      Previous value: -"Page number for pagination"New value: +"Zero-based page number; the first page is 0"
    • removedInput schema / properties / current_page / exclusiveMinimum
      Removed value: -0
    • addedInput schema / properties / current_page / minimum
      Added value: +0
    • addedInput schema / properties / email
      Added value: +{
      +  "description": "Filter by invited email",
      +  "format": "email",
      +  "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / role
      Added value: +{
      +  "description": "Filter invitations by organisation role",
      +  "enum": [
      +    "admin",
      +    "member"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / status
      Added value: +{
      +  "description": "Filter invitations by lifecycle status",
      +  "enum": [
      +    "pending",
      +    "cancelled",
      +    "accepted",
      +    "expired"
      +  ],
      +  "type": "string"
      +}
  2. Changed3 schema fields changedv0.5.0
    • addedInput schema / properties / current_page / maximum
      Added value: +9007199254740991
    • changedInput schema / properties / current_page / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / page_size / type
      Previous value: -"number"New value: +"integer"
  3. Changed2 schema fields changedv0.3.7
    • addedInput schema / properties / current_page
      Added value: +{
      +  "description": "Page number for pagination",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / page_size
      Added value: +{
      +  "description": "Number of results per page (max 100)",
      +  "exclusiveMinimum": 0,
      +  "maximum": 100,
      +  "type": "number"
      +}
  4. Addedv1.0.1
  5. Removed
  6. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: the tool is enterprise-gated and returns 403 on non-Enterprise plans, and it surfaces the returned fields. Minor omissions like pagination behavior are already covered by the schema, so this is strong but not maximal.

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

Conciseness5/5

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

Three sentences with no filler: purpose and returned fields, usage/alternative, and gating/error behavior. Each sentence earns its place and the most decision-relevant information is front-loaded.

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 read-only list tool with 100% schema coverage, an output schema, and rich annotations, the description is complete. It covers what is returned, when to use it, which sibling to use instead, and the enterprise restriction. Nothing needed for correct invocation 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%, with all five parameters documented, so the schema carries the parameter-semantics burden. The description adds no parameter-specific meaning beyond the schema; it only mentions the resource and returned fields. Baseline 3 is appropriate because the description neither compensates nor detracts.

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 begins with a specific verb and resource: 'List pending and sent invitations', and enumerates the returned fields (id, email, role, status, expiry). It also distinguishes itself from list_all_users, so an agent can immediately tell what this tool does versus its sibling.

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?

It explicitly states when to use this tool ('Use this to check invite state') and directs to the alternative for already-accepted users ('use list_all_users for users who already accepted'). It also warns about the Enterprise-gated restriction and the 403 result on non-Enterprise plans, leaving no ambiguity about eligibility.

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

Deploy Server

Other Tools