Skip to main content
Glama
tillbooks

tillbooks

Official

contacts_anonymise

Anonymises a contact and all merged duplicates on a valid revDSG deletion request, clearing personal fields and redacting activity bodies. Refuses if any receivable or obligation is unpaid.

Instructions

Anonymise a contact on a valid revDSG deletion request, bounded by OR 958f: blanks the personal fields and redacts the activity bodies while keeping the row ids so posted-document FKs stay intact. Erases the whole merge identity (the contact plus every duplicate merged into it), so pass the SURVIVOR: a merge tombstone is refused and names it. Refuses while any unsettled receivable or obligation is still live (draft, issued, sent, accepted, confirmed, partially_paid), because an unpaid claim is an overriding interest and OR 958f Abs. 3 needs the retained record to stay readable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contactIdYes
workspaceIdYes
idempotencyKeyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It discloses side effects, preservation of foreign keys, erasure of merge identities, and refusal conditions with legal justification. This is unusually transparent for a destructive operation.

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

Conciseness5/5

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

All three sentences carry essential behavioral or usage information with no filler. The core action is front-loaded, followed by merge-identity details and refusal conditions packed efficiently.

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 destructive, legally bounded operation with no annotations and no output schema, the description covers preconditions, side effects, side effects, refusal cases, and the reason for refusal. It could additionally describe the success response or idempotency semantics, but the core invocation requirements are substantially addressed.

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 0%, and the description compensates for the critical contactId parameter by requiring the survivor and rejecting merge tombstones. workspaceId and idempotencyKey are left to self-explanatory names, so the description does not fully cover all three parameters.

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?

The description names the exact operation (anonymise a contact) and details what happens: personal fields are blanked, activity bodies are redacted, row IDs are kept, and the whole merge identity is erased. It also distinguishes itself from a merge tombstone by refusing the tombstone and requiring the survivor.

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?

The description clearly states when to use it (valid revDSG deletion request bounded by OR 958f) and when it refuses (live receivables/obligations). It doesn't explicitly compare against sibling tools like contacts_merge, but it does tell the caller to pass the survivor rather than a merge tombstone.

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