Skip to main content
Glama
@proof-holdings/mcp-server

@proof-holdings/mcp-server

Official

invite_circle_member

Mint a single-use enrollment invite for a Circle member, returning Telegram and WhatsApp deep links plus a QR code so they can bind their messenger identity by tapping the matching link.

Instructions

Mint a single-use enrollment invite for a Circle member. Returns Telegram + WhatsApp deep links and a QR code; the member taps the channel-matched link to bind their messenger identity to the Circle.

ACCESS: needs a Proof account. Set PROOF_API_KEY and restart this server, then call this tool again. start_login does NOT open this tool.

Input Schema

NameRequiredDescriptionDefault
idYesCircle ID
member_idYesMember ID to invite

Output Schema

NameRequiredDescriptionDefault
tokenNo
qr_codeNoQR code data URL for the primary deep link
qr_textNoUTF-8 text representation of the QR code
member_idNoMongoDB ObjectId
expires_inNo
telegram_deep_linkNo
whatsapp_deep_linkNo
suggested_share_textNoSuggested message to forward with the invite

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.7.2
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "expires_in": {},
      +    "member_id": {
      +      "description": "MongoDB ObjectId"
      +    },
      +    "qr_code": {
      +      "description": "QR code data URL for the primary deep link"
      +    },
      +    "qr_text": {
      +      "description": "UTF-8 text representation of the QR code"
      +    },
      +    "suggested_share_text": {
      +      "description": "Suggested message to forward with the invite"
      +    },
      +    "telegram_deep_link": {},
      +    "token": {},
      +    "whatsapp_deep_link": {}
      +  },
      +  "type": "object"
      +}
  2. First observedv1.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false and destructiveHint=false; the description adds substantive context beyond that: the invite is single-use (a created, non-idempotent artifact), it returns Telegram and WhatsApp deep links plus a QR code, and binding happens on the member's side. It also discloses the auth prerequisite and the fact that start_login will not satisfy it, which is exactly the kind of operational detail annotations cannot carry.

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?

Two tight paragraphs: capability and return shape first, then the access blocker. Every sentence carries information, and the prerequisite is separated and front-labeled 'ACCESS'. Minor cost is the slightly awkward 'call this tool again' clause, but nothing is padding.

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 two-parameter mutation with an output schema, this covers what an agent still needs: what is produced, that it is single-use, and the account/key prerequisite that would otherwise cause a failed call. Return values are already documented by the output schema, so the description need not go deeper there.

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% for both required parameters (Circle ID, Member ID), so the schema already carries the semantics. The description reinforces that the invite targets a specific Circle membership but adds no format, constraint, or interaction detail beyond the schema. Baseline 3 applies.

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?

The description uses a specific verb and resource: 'Mint a single-use enrollment invite for a Circle member', then explains the mechanism (member taps a channel-matched deep link to bind messenger identity). It is clearly distinct from generic verification tools in the sibling list, but it never names the adjacent siblings (add_circle_member, add_circle_member_channel, create_circle_member_drill) that an agent could easily confuse with this one, so it falls short of a 5.

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 a concrete precondition and a clear routing exclusion: a Proof account is needed, PROOF_API_KEY must be set with a server restart, and 'start_login does NOT open this tool'. That prevents a plausible wrong path. It does not explain when to prefer this over add_circle_member or add_circle_member_channel, which is the remaining usage gap.

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