Skip to main content
Glama

Corply — Start and run your company

Invite a company member

invite_member
Destructive

Invite someone to the connected company by email, or resend an invitation. Founders saved with save_application are invited automatically, so use this for resends and other roles. No separate confirmation is needed. If an address is wrong, call revoke_invite. This membership invitation is independent of name checks, documents, payment, and signatures. They join from their own connected Corply session by signing in with that email. Supply companyId; existing membership in another company is not consent to share personal data. Invitation acceptance and personal identity approval precede document use; signing is separate. Prerequisite: authenticated active company access plus every prerequisite stated above. Canonicality: invokes the shared backend action; trust the returned actual_tool_output and context_engineering instead of adding a state-recovery call. Idempotency: obey the tool-specific retry key or guarantee; if none is stated, inspect refreshed state before retrying. Confirmation boundary: obtain fresh, explicit user confirmation before calling.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
roleYescofounder
emailYes
companyIdNo
_corply_contextNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / _corply_context / description
      Removed value: -"Echo context_engineering.context_session from the prior Corply result."
  2. Changed1 schema field changed
    • addedInput schema / properties / _corply_context
      Added value: +{
      +  "additionalProperties": false,
      +  "dependentRequired": {
      +    "receipt": [
      +      "id"
      +    ]
      +  },
      +  "description": "Echo context_engineering.context_session from the prior Corply result.",
      +  "properties": {
      +    "id": {
      +      "maxLength": 200,
      +      "minLength": 16,
      +      "type": "string"
      +    },
      +    "receipt": {
      +      "maxLength": 2048,
      +      "minLength": 16,
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed4 schema fields changed
    • changedInput schema / properties / companyId / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "uuid",
      +    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / role / default
      Added value: +"cofounder"
    • addedInput schema / properties / role / enum
      Added value: +[
      +  "founder",
      +  "cofounder",
      +  "counsel",
      +  "advisor",
      +  "observer"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "email"
      -]New value: +[
      +  "email",
      +  "role"
      +]
  4. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, and the description adds substantial non-annotated context: the invitation is independent of name checks, documents, payment and signatures, the invitee joins from their own Corply session, an authenticated active company is prerequisite, and it states an idempotency/retry policy and a confirmation boundary. The internally inconsistent 'No separate confirmation is needed' versus 'obtain fresh, explicit user confirmation before calling' muddies the confirmation requirement.

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

Conciseness3/5

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

The core purpose, resend case and revoke_invite routing are front-loaded, which is good. But the tail is dominated by generic boilerplate (Canonicality, Idempotency, Confirmation boundary) that reads as templated policy rather than tool-specific information, inflating the description without adding signal.

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

Completeness3/5

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

For a destructive mutation with no output schema and 0% parameter coverage, the description covers prerequisites, side-effect independence and the resend path reasonably well. It still leaves the role parameter and _corply_context undocumented, and there is no statement of what the tool returns or what state changes for the invitee.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate and largely does not. It mentions supplying companyId and implies email, but never enumerates or explains the five role values (founder/cofounder/counsel/advisor/observer) beyond a vague 'other roles', and the nested _corply_context object is not addressed at all.

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

Purpose4/5

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

States a specific verb+resource: 'Invite someone to the connected company by email, or resend an invitation.' It also narrows scope by noting that founders saved via save_application are already invited, which carves out part of the sibling space. It stops short of naming the close siblings (invite_cofounders, redeem_invite, approve_invited_identity), so differentiation is partial.

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?

Gives clear usage context ('use this for resends and other roles') and an explicit alternative for the failure path: 'If an address is wrong, call revoke_invite.' That is real when-to-use and when-to-route-elsewhere guidance. It lacks an explicit when-not-to-use-this-tool clause against invite_cofounders, so it falls just short of a 5.

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.