Skip to main content
Glama

contacts_read

Read-onlyIdempotent

Read contacts (identities): one person recognised across channels (WhatsApp, Instagram, web chat, calls…). A contact groups that person's conversations. Different from leads_read (the CRM lead list). Actions: list — contacts of the agent, with search | get — one contact profile with its channels and consent Needs: identityId. | timeline — every conversation of the contact across channels, in order Needs: identityId. | audit_log — merge / unmerge / consent history of the contact Needs: identityId.

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": {
      "action": "<action>",
      "agentId": "<agentId>"
    },
    "name": "contacts_read"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNocompact (default) = light mode: long text is cut and bulky blobs are replaced by a size marker. full = complete API response.
pageNo
limitNoDefault 20, max 100.
actionYes
searchNo
agentIdYes
identityIdNoContact id (UUID).
multiChannelOnlyNoFor list: only contacts seen on more than one channel.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: which actions require identityId, that timeline returns conversations 'in order', and that audit_log covers merge/unmerge/consent history. It doesn't discuss pagination or empty-result behavior, keeping it below a 5.

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 identity definition before the action list, and every sentence carries information. The pipe-delimited action block is dense and slightly hard to scan, but no sentence is wasted.

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?

No output schema exists, yet the description characterizes what each action returns (contact profile with channels/consent, ordered conversation history, merge/consent audit trail). Combined with 8 parameters, a brief note on pagination or default result size would be the only remaining gap.

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?

With 50% schema coverage, the description compensates by stating search applies to list and identityId is required for get/timeline/audit_log — semantics the flat schema does not convey. Agent-level scoping is implied via 'contacts of the agent'. mode, page, and multiChannelOnly are left entirely to the schema, so not a 5.

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 resource precisely ('contacts (identities): one person recognised across channels'), gives a concrete definition of what a contact groups, and explicitly contrasts it against leads_read. An agent can distinguish it from leads_read and contact-rooted siblings without opening the schema.

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?

Each of the four actions is enumerated with its own purpose and required parameter ('list — contacts of the agent, with search', 'timeline — every conversation ... in order'), plus an explicit exclusion versus leads_read. What's missing is guidance on choosing between contacts_read and the similarly named contact_leads sibling, so it stops short of full when/when-not coverage.

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.

Resources