Skip to main content
Glama

List an agent's contacts

list_contacts
Read-onlyIdempotent

List an agent's contacts

The people behind the agent's conversations and leads, newest first. Mojeeb creates contacts from incoming messages and new leads, so there is no endpoint to create one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size, 1 to 100 (values outside are clamped). Default 20.
cursorNoOpaque cursor from the previous page's `next_cursor`. Omit for the first page. A cursor the API didn't return is `422 invalid_request`.
searchNoMatches the name, mobile or email.
channelNoOnly contacts who carry this channel's id (a WhatsApp number, or a Facebook or Instagram id). Case-insensitive; another value returns an empty page.
date_toNoOnly those created on or before this date (UTC), the whole day included. Send a date such as `2026-10-11`; a date-time is read as its date.
agent_idYesThe agent the resource belongs to. Another company's agent, or the nil UUID, is `404 agent_not_found`; an agent outside the key's agent list is `403 agent_not_authorized`.
date_fromNoOnly those created on or after this date (UTC). Send a date such as `2026-10-01`; a date-time is read as its date.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior: results are ordered newest first and contacts are auto-created from incoming messages and new leads, explaining why no create path exists — a trait not expressed in the structured fields.

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?

Short and front-loaded: identity first, then ordering, then the auto-creation caveat. The opening line duplicates the title verbatim, which is the only wasted text.

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?

With no output schema, the description supplies the one return-shape fact an agent needs (newest first) while the schema handles all filter and pagination semantics. Nothing essential for calling the tool 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 description coverage is 100%, so limit, cursor, search, channel, date_from and date_to are already fully documented in the schema, including clamping and error behavior. The description adds no parameter-level meaning, so the baseline 3 applies.

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 (list an agent's contacts) and frames the entity as 'the people behind the agent's conversations and leads, newest first'. The note that there is no create endpoint cleanly separates it from creation-side siblings like create_lead, though it never explicitly contrasts with get_contact or list_leads.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the agent learns it can only read contacts that Mojeeb auto-generates, but there is no explicit guidance on when to prefer list_contacts over get_contact, list_leads, or list_contact_notes, and no when-not conditions. Adequate but with clear routing gaps.

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