Skip to main content
Glama

Export contacts

export_contacts
Read-onlyIdempotent

Export all WhatsApp contacts as CSV (RFC 4180) or JSON. Deduped, sorted alphabetically by display name. Default format is CSV. JSON projects the requested fields. Available fields: jid, phone, name, pushname, is_my_contact, is_business. WhatsApp "@lid" privacy identifiers (opaque, non-dialable) are always excluded — only real phone-backed contacts are returned.

Examples: CSV all fields: { format: "csv" } JSON name + phone: { format: "json", fields: ["name", "phone"] } Filtered CSV: { format: "csv", query: "Argentina" } Saved contacts only: { format: "csv", is_my_contact: true }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoOptional case-insensitive substring filter (matches name, pushname, phone, JID)
fieldsNoWhitelist of fields to include. Defaults to all six: jid, phone, name, pushname, is_my_contact, is_business
formatNoOutput format. Default "csv"
is_my_contactNoIf true, only contacts saved in the user address book. If false, only un-saved. Omit to include both.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultNoThe JSON-compatible result returned by the Kaption extension

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 declare the safe-read profile (readOnly, idempotent, non-destructive), so the bar is lower. The description still adds real behavior beyond them: deduplication, alphabetical sorting, the CSV default, and the important rule that opaque non-dialable '@lid' identifiers are always excluded. Return structure is covered by the output schema, so no penalty there.

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 purpose, format, and guarantees in three short sentences, then examples. The examples are repetitive but each demonstrates a distinct parameter combination, so they earn their space rather than padding.

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?

An output schema exists, so return values need not be explained. For a zero-required-parameter read tool, the description covers format choice, field projection, filtering, contact-savedness, and the '@lid' exclusion rule — everything needed to call it correctly.

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 100%, so the baseline is 3, and the description goes slightly beyond the schema by enumerating the available field keys and demonstrating how format/fields/is_my_contact/query combine in practice. It does not add syntax the schema lacks, so it stays below the top of the scale.

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 ('Export all WhatsApp contacts') plus concrete output formats (CSV/RFC 4180, JSON) and processing guarantees (deduped, alphabetically sorted). It never names a sibling such as list_contacts or get_contact, so the agent gets no explicit routing signal to distinguish a bulk export from the per-contact retrieval 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?

Four worked examples show concrete invocation patterns (all fields, projected fields, filtered, saved-only), which gives clear context for how the tool is used. However, there is no explicit when-to-use versus when-to-use-something-else guidance, e.g. no statement about preferring this over list_contacts for bulk retrieval.

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