Skip to main content
Glama

invite_team_member

Invite a colleague to the user's OWN Vendooly organization (the one of this connection — you cannot choose another). Use when the user says "invite this person to my account/team". Only owners/admins can invite. role is admin (sees every seller) or member (sees only the sellers listed in seller_ids and the WooCommerce stores listed in store_ids; get them from list_team_members → sellers / stores). With send_email=true (default) Vendooly emails the invitation; with send_email=false NO email is sent and the tool returns an invite link (valid 7 days) for the user to pass on. Ask the user to confirm the email and role before calling.

Input Schema

NameRequiredDescriptionDefault
roleYesadmin = full access; member = only the sellers in seller_ids.
emailYesEmail of the person to invite.
store_idsNoFor role=member: WooCommerce store ids (from list_team_members → stores) the member may see. Omitted = none.
confirm_idNoToken di conferma ritornato dall'anteprima. Ripassa lo STESSO payload + confirm_id per eseguire davvero la scrittura.
seller_idsNoFor role=member: seller ids (from list_team_members → sellers) the member may see.
send_emailNotrue (default): email the invitation. false: no email, return the invite link.
permissionsNoFor role=member: access level per function, each none | read | write. Keys: sales (max read), catalog, pricing_inventory, ads, account_team (max read). Omitted keys = none. If permissions is omitted entirely the member gets read-only on sales, catalog, pricing_inventory and ads, and none on account_team. Price/stock and Ads writes must be granted explicitly. Ignored for admin (full access).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / store_ids
      Added value: +{
      +  "description": "For role=member: WooCommerce store ids (from list_team_members → stores) the member may see. Omitted = none.",
      +  "items": {
      +    "type": "integer"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / permissions
      Added value: +{
      +  "description": "For role=member: access level per function, each none | read | write. Keys: sales (max read), catalog, pricing_inventory, ads, account_team (max read). Omitted keys = none. If permissions is omitted entirely the member gets read-only on sales, catalog, pricing_inventory and ads, and none on account_team. Price/stock and Ads writes must be granted explicitly. Ignored for admin (full access).",
      +  "properties": {
      +    "account_team": {
      +      "enum": [
      +        "none",
      +        "read"
      +      ],
      +      "type": "string"
      +    },
      +    "ads": {
      +      "enum": [
      +        "none",
      +        "read",
      +        "write"
      +      ],
      +      "type": "string"
      +    },
      +    "catalog": {
      +      "enum": [
      +        "none",
      +        "read",
      +        "write"
      +      ],
      +      "type": "string"
      +    },
      +    "pricing_inventory": {
      +      "enum": [
      +        "none",
      +        "read",
      +        "write"
      +      ],
      +      "type": "string"
      +    },
      +    "sales": {
      +      "enum": [
      +        "none",
      +        "read"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Added

TDQS

A4.5/5.0
Behavior4/5

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

Goes well beyond the annotations: discloses the authorization gate (owners/admins only), the side effect of send_email=true (an email is actually sent), the no-email path returning a link valid 7 days, and the default. The one behavioral gap is the preview/confirm_id two-step write flow, which the description never mentions even though a caller that skips it will not actually create the invitation.

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?

Front-loaded with the scope constraint, then trigger, then permission gate, then parameter behavior — a sensible ordering with no filler sentences. Slight redundancy where the send_email default is restated from the schema, but every sentence carries operational weight.

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?

For a 7-parameter write tool with a nested permissions object and no output schema, the description covers the access gate, role semantics, ID sourcing, email side effect, and the invite-link return. What's missing is the confirm_id preview-then-write protocol and any pointer to the permissions defaults, both of which the agent must discover from the schema.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns above that by explaining the role split in access terms ('admin sees every seller' vs member sees only seller_ids and store_ids) and by naming the sibling tool that yields those IDs. It does not add anything about the nested permissions object, leaving that entirely to the schema.

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 (invite a colleague to the user's OWN Vendooly organization) and immediately bounds scope: 'the one of this connection — you cannot choose another'. That scope clause distinguishes it from any cross-account or generic user-management operation, and the sibling list contains no competing invite tool.

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?

Gives an explicit trigger phrase ('invite this person to my account/team'), a prerequisite ('Only owners/admins can invite'), and routes to the sibling that supplies the required IDs ('get them from list_team_members → sellers / stores'). It also prescribes a pre-call step: ask the user to confirm email and role.

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