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

@proof-holdings/mcp-server

Official

preview_email_removal

Read-only

Preview the impact of removing one email address without changing data, including removal counts or the reason removal would be refused.

Instructions

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

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_email_removal"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesEmail 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.6/5.0
Behavior5/5

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

Consistent with readOnlyHint=true and adds substantial context beyond it: what the response contains (counts shown in the Remove dialog, or the reason removal would be refused) and the full authentication requirement including the login handshake. This is exactly the kind of behavioral detail annotations cannot convey.

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 core purpose and the non-mutation guarantee, then a clearly separated ACCESS block. The access paragraph is slightly verbose but every sentence carries actionable information about the login flow.

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?

Covers purpose, output semantics, auth prerequisites, and the alternative mutating tool; an output schema exists so return values need no further explanation. Nothing an agent needs to invoke it correctly is missing.

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 fully documented in the schema (24 hex characters), so the description adds no parameter-level meaning. Baseline 3 applies when the schema does the heavy lifting.

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 (preview) and resource (removal of one email address) and explicitly contrasts with the mutating sibling remove_email, plus names the concrete output (dashboard Remove dialog counts or refusal reason). An agent can distinguish it from remove_email without opening either schema.

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?

Explicitly frames the tool as the non-mutating alternative to remove_email ('without changing anything') and gives the exact precondition sequence: start_login, show challenge, wait_for_login, then call this tool. It also states that an API key alone is insufficient, which is a real usage constraint.

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