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

@proof-holdings/mcp-server

Official

preview_phone_removal

Read-only

Preview what removing a phone would do without changing anything, showing the counts the dashboard Remove dialog displays or the reason a removal would be refused. Requires a signed-in session.

Instructions

Preview what remove_phone would do to one phone, without changing anything: the counts the dashboard Remove dialog shows, or the reason removal would be refused. Needs a signed-in session, like remove_phone.

ACCESS: needs a Proof account, signed in: call start_login, show the user its challenge, then wait_for_login, then call this tool again. An API key alone does NOT open this tool.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

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

Input Schema

NameRequiredDescriptionDefault
idYesPhone record ID (24 hex characters)

Output Schema

NameRequiredDescriptionDefault
typeNo
proofsNoActive proofs of this identifier that would be revoked.
allowedNoFalse when a guard refuses the removal; the dialog shows `blocked.message` in its disabled state.
blockedNo
circlesNoPhones only: active Proof of Me circles, which follow the primary phone.
notice_toNoWhere the notice would go — captured before the row is gone.
identifierNoMasked.
is_primaryNo
new_primaryNoThe row that becomes (or became) primary when the removed one was; null otherwise.
authorizationsNoApproval consents naming it that would be revoked.
lookalike_watchNoEmails only: what happens to the Lookalike Watch notification address.
hitl_configs_without_approverNoApproval setups whose only approver channel this is; their pending requests would be declined.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.10.0

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond readOnlyHint=true by confirming nothing is mutated and by disclosing the two return behaviors an agent must handle: the counts shown in the dashboard Remove dialog, and the case where removal would be refused. It also surfaces a non-obvious constraint -- an API key alone does not open the tool -- which the annotations never mention.

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?

The first sentence is front-loaded with purpose and scope, and the second paragraph is a self-contained access procedure that earns its space. Slightly verbose with a restated 'Needs a signed-in session, like remove_phone' that the ACCESS block then repeats in detail.

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 single-parameter tool with an output schema and annotations, the definition covers the remaining gaps an agent would otherwise hit: the auth ceremony and the fact that API-key-only auth fails. Return shape is summarized without duplicating the output schema.

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 coverage is 100% and the single 'id' parameter is already documented with its 24-hex pattern in the schema. The description adds no format or sourcing detail for the ID beyond calling it 'one phone'. Baseline 3 applies since the schema carries the parameter burden.

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 ('Preview what remove_phone would do to one phone') and pins the scope to a single record. It also enumerates the two possible outcomes (dashboard counts, or refusal reason), which separates it cleanly from the mutating sibling remove_phone and from the other preview_* tools.

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?

Makes the pre-flight role explicit ('without changing anything') and gives a concrete conditional to prefer it over remove_phone. The auth sequence is spelled out step by step: start_login, show the challenge, wait_for_login, retry. It lacks an explicit 'do not use if...' exclusion and doesn't contrast against preview_email_removal or preview_profile_deletion, keeping it 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.

Deploy Server

Other Tools