Skip to main content
Glama

ppl - Personal CRM for AI Agents

List Contacts

contacts.list
Read-onlyIdempotent

When the user wants to browse or find people in their ppl, optionally filtered by a name or email search string.

Input Schema

NameRequiredDescriptionDefault
limitNoMax contacts (default 20).
searchNoFilter by name or email.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering the full safety profile. The description adds nothing behavioral on top: no note about the default result cap, pagination, ordering, or whether results are scoped to a workspace. It restates the read-only listing intent without new disclosure.

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?

A single front-loaded sentence stating the trigger and the optional filter, with no filler. It is efficient, though the typos/abbreviation slightly reduce polish.

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 zero-required-parameter list tool with an output schema and complete parameter documentation, the description covers the essential trigger and filter. The minor gaps (default cap, pagination, result ordering) are low-stakes for a simple read.

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%, with both 'limit' (default 20) and 'search' (name or email) fully documented, so the baseline is 3. The description's 'filtered by a name or email search string' merely restates the schema's search semantics and adds no syntax or matching-rule detail.

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 (browse/find/list) and resource (people in their 'ppl'), so the agent knows this returns a collection of contacts. It does not distinguish itself from near-neighbors like contacts.get, contacts.card.get, or contacts.duplicates.find, and the abbreviation 'ppl' is slightly opaque.

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?

Gives a trigger condition ('when the user wants to browse or find people') and mentions the optional search filter. However, it names no alternatives or exclusions — e.g., use contacts.get for a single known contact, contacts.duplicates.find for dedup — so the routing guidance is only implied.

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.