Skip to main content
Glama

Campaign: List Leads

listCampaignLeads
Read-only

List leads in a campaign, optionally filtered by lifecycle_stage or enrichment_status. Returns up to 100 per call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 50, max 100.
campaign_idYesID of the campaign (from listCampaigns).
lifecycle_stageNoOptional: filter by lifecycle stage.
enrichment_statusNoOptional: filter by enrichment status.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

The annotation readOnlyHint=true already indicates a safe read operation. The description adds value by clarifying pagination with 'Returns up to 100 per call' and the optional filter options, which help the agent understand expected behavior without contradicting any annotation.

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?

The description is a single, well-structured sentence that front-loads the primary action ('List leads in a campaign') and packs optional filters and pagination into a compact statement. Every word adds value, with no redundancy.

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 simple listing tool with little complexity, the description covers the essential behavior: list items, optional filters, and pagination limit. There is no output schema, so the description could mention what fields appear in returned leads, but the omission is minor for a resource from which leads are listed.

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?

The input schema has 100% coverage with descriptions for all parameters, so the description itself does not need to explain parameter semantics. It does restate lifecycle_stage and enrichment_status, but adds no meaning beyond the schema such as how filters interact or pagination mechanics beyond what 'limit' already explains.

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 uses a specific verb 'List' and clearly identifies the resource as 'leads in a campaign', distinguishing it from sibling tools like listCampaigns and getCampaignLeadFields. It also mentions optional filters and pagination, which makes the purpose crisp and specific.

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?

The description implies clear usage: to list leads within a specific campaign, optionally filtering by lifecycle_stage or enrichment_status. It does not explicitly mention alternatives, but the 'campaign_id' parameter's schema description points users to listCampaigns, providing indirect selection guidance.

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.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct resource/action combination. The potentially overlapping countMemories and getChapterOverview are explicitly differentiated, and listMemories vs searchMemory clearly separates browsing from semantic search.

Naming Consistency5/5

All tool names follow a consistent camelCase verb_noun pattern: count*, get*, list*, search*. Even compound names like getCampaignLeadFields and getChapterOverview fit the convention cleanly.

Tool Count4/5

At 15 tools, the server is at the upper edge of a reasonable scope. Most tools earn their place, but countMemories and getChapterOverview overlap somewhat, and getWorkingMemory is described as usually unnecessary due to automatic injection.

Completeness3/5

The read/query side is well covered across memories, campaigns, leads, documents, reminders, and team. However, listDeleted mentions restorable memories but no restore tool exists, and there are no create/update/delete operations for campaigns, documents, or reminders, leaving notable lifecycle gaps.