Skip to main content
Glama

list_user_invites

Read-onlyIdempotent

List pending and sent user invitations with email, role, status, and expiry to check invite state; Enterprise Portkey plans only, returning 403 otherwise.

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.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

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

Input 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

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. Changed2 schema fields changedv1.0.9
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Changed1 schema field changedv0.12.2
    • changedInput schema / properties / email / pattern
      Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  3. 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"
      +}
  4. 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"
  5. 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"
      +}
  6. Addedv1.0.1
  7. Removed
  8. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds context annotations cannot express: Enterprise plan gating and a 403 failure mode on non-Enterprise plans. That is exactly the auth/prerequisite disclosure an agent needs before calling.

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 short sentences: capability first, disambiguation second, gating constraint third. No filler and no repetition of schema or annotation data.

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

Completeness4/5

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

With an output schema present and 100% schema coverage, the description supplies what's missing: scope, sibling disambiguation, and plan restrictions. Minor gaps remain around default ordering/page size and whether filters combine, but nothing blocking.

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%, including enum values for role and status and pagination bounds, so the schema carries the parameter burden. The description only loosely echoes the filterable concepts (role, status, email) as return fields without adding syntax or default behavior — baseline 3 is correct.

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?

States a specific verb and resource (list invitations) and enumerates the returned fields (id, email, role, status, expiry), so the agent knows exactly what comes back. It also explicitly distinguishes the tool from list_all_users, which covers accepted users rather than invites.

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

Usage Guidelines4/5

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

"Use this to check invite state; use list_all_users for users who already accepted" gives an explicit alternative plus the condition that selects it. It does not mention the single-invite sibling get_user_invite or the resend/delete invite tools, so routing is clear but not exhaustive.

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