Skip to main content
Glama

Perisclaw: Use ChatGPT and Claude with your WhatsApp

Get Contact

contact_get
Read-only

Read a contact + everything the agent already knows about them (metadata.enrichment). Call this before answering questions about a person or deciding if a newly-observed fact is novel.

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": {
      "contact_id": "<contact_id>"
    },
    "name": "contact_get"
  }
}

Input Schema

NameRequiredDescriptionDefault
contact_idYes
include_enrichmentNoDefault true. Set false for the raw contact row only.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the description's added value is telling the agent what comes back: the contact plus metadata.enrichment. It does not cover not-found behavior or how enrichment is structured, which keeps it below 5.

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?

Two sentences, no filler, with the return-content fact front-loaded and the usage condition immediately after. Every clause carries information.

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 read-only, 2-parameter tool with no output schema, the description supplies the crucial return-value context (metadata.enrichment) and the reason to call it. Missing only edge-case behavior such as missing contacts or enrichment payload shape.

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

Parameters4/5

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

Schema coverage is only 50% - contact_id is undocumented - but the description compensates by framing the call around enrichment and the schema explains include_enrichment's default and the false case. The description reinforces the enrichment semantics rather than repeating the schema verbatim.

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 and resource ('Read a contact') plus a distinctive scope: it returns the agent's accumulated knowledge in metadata.enrichment, not just the raw row. This separates it in spirit from search_contacts and contacts_get_batch, though those siblings are never named explicitly.

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 explicit trigger conditions: call before answering questions about a person, or before judging whether a newly observed fact is novel. That is real when-to-use guidance. It stops short of naming alternatives (e.g. contacts_get_batch) or when-not conditions.

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.