Skip to main content
Glama

List drops

lnkdrp_list_campaigns
Read-onlyIdempotent

Same as lnkdrp_list_drops, under its earlier name: the same arguments and the same answers. A drop is one email template sent from the member's own Gmail to people picked for it and the people on its contact lists, each person with their own tracked link to each of the template's documents.

Input Schema

NameRequiredDescriptionDefault
pageNo1-based page number.
docIdNoOnly drops that send this document: their target, or a template slot (24 hex chars).
limitNoDrops per page (1-100).
orderNorelevance: best match (the default with a query). updated: newest change first (the default otherwise). name: A-Z. newest: created most recently. sent: newest Send first.
queryNoSearches name, description, sender, document title, template name and subject, lists, recipients' names and addresses, projects and tags, case-insensitively.
stateNoWhich tab: active (default), sent or archived.
labelsNoOnly drops carrying any of these tags, by name or slug (1-20).
listIdNoOnly drops that use this contact list (24 hex chars); a list this person cannot open gives an empty page.
madeByNoperson: made in the app. agent: made through the API or an agent.
senderNoOnly drops sent from this Gmail address, or me: this person's own.
sentToNoOnly drops sent on or before this date (that whole day) or time; one not sent is left out.
statusNoOnly drops with someone in any of these states (needs_you, failed, sending, waiting), or not sent yet (not_sent).
ownerIdNoOnly drops this member owns: a user id (24 hex chars), or me.
searchInNoall (default): everything query searches. name: the drop's name only.
sentFromNoOnly drops sent on or after this date (2026-10-28) or time; one not sent is left out.
contactIdNoOnly drops that send to this contact: picked directly, on one of its lists, or sent to (24 hex chars).
createdToNoOnly drops created on or before this date (that whole day) or time.
projectIdNoOnly drops filed under this project (24 hex chars).
updatedToNoOnly drops last changed on or before this date (that whole day) or time.
templateIdNoOnly drops that use this email template, any version (24 hex chars).
visibilityNoall (default): every drop this person can see. mine: every drop they own. team: shared ones. private: their own private ones.
createdFromNoOnly drops created on or after this date (2026-10-28) or time.
updatedFromNoOnly drops last changed on or after this date (2026-10-28) or time.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changed
    • addedInput schema / properties / contactId
      Added value: +{
      +  "description": "Only drops that send to this contact: picked directly, on one of its lists, or sent to (24 hex chars).",
      +  "pattern": "^[a-fA-F0-9]{24}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / createdFrom
      Added value: +{
      +  "description": "Only drops created on or after this date (2026-10-28) or time.",
      +  "maxLength": 40,
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}",
      +  "type": "string"
      +}
    • addedInput schema / properties / createdTo
      Added value: +{
      +  "description": "Only drops created on or before this date (that whole day) or time.",
      +  "maxLength": 40,
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}",
      +  "type": "string"
      +}
    • addedInput schema / properties / listId
      Added value: +{
      +  "description": "Only drops that use this contact list (24 hex chars); a list this person cannot open gives an empty page.",
      +  "pattern": "^[a-fA-F0-9]{24}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / madeBy
      Added value: +{
      +  "description": "person: made in the app. agent: made through the API or an agent.",
      +  "enum": [
      +    "person",
      +    "agent"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / order
      Added value: +{
      +  "description": "relevance: best match (the default with a query). updated: newest change first (the default otherwise). name: A-Z. newest: created most recently. sent: newest Send first.",
      +  "enum": [
      +    "relevance",
      +    "updated",
      +    "name",
      +    "newest",
      +    "sent"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / ownerId
      Added value: +{
      +  "description": "Only drops this member owns: a user id (24 hex chars), or me.",
      +  "pattern": "^(me|[0-9a-fA-F]{24})$",
      +  "type": "string"
      +}
    • addedInput schema / properties / query
      Added value: +{
      +  "description": "Searches name, description, sender, document title, template name and subject, lists, recipients' names and addresses, projects and tags, case-insensitively.",
      +  "maxLength": 200,
      +  "type": "string"
      +}
    • addedInput schema / properties / searchIn
      Added value: +{
      +  "description": "all (default): everything query searches. name: the drop's name only.",
      +  "enum": [
      +    "all",
      +    "name"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / sender
      Added value: +{
      +  "description": "Only drops sent from this Gmail address, or me: this person's own.",
      +  "maxLength": 254,
      +  "minLength": 1,
      +  "pattern": "^(me|[^\\s@,]+@[^\\s@,]+)$",
      +  "type": "string"
      +}
    • addedInput schema / properties / sentFrom
      Added value: +{
      +  "description": "Only drops sent on or after this date (2026-10-28) or time; one not sent is left out.",
      +  "maxLength": 40,
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}",
      +  "type": "string"
      +}
    • addedInput schema / properties / sentTo
      Added value: +{
      +  "description": "Only drops sent on or before this date (that whole day) or time; one not sent is left out.",
      +  "maxLength": 40,
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}",
      +  "type": "string"
      +}
    • addedInput schema / properties / status
      Added value: +{
      +  "description": "Only drops with someone in any of these states (needs_you, failed, sending, waiting), or not sent yet (not_sent).",
      +  "items": {
      +    "enum": [
      +      "needs_you",
      +      "failed",
      +      "sending",
      +      "waiting",
      +      "not_sent"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 5,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / updatedFrom
      Added value: +{
      +  "description": "Only drops last changed on or after this date (2026-10-28) or time.",
      +  "maxLength": 40,
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}",
      +  "type": "string"
      +}
    • addedInput schema / properties / updatedTo
      Added value: +{
      +  "description": "Only drops last changed on or before this date (that whole day) or time.",
      +  "maxLength": 40,
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}",
      +  "type": "string"
      +}
  2. Added

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety needs no restating. The description adds the non-obvious behavioral fact that this alias returns identical results to lnkdrp_list_drops, and explains the domain object (one email template sent from the member's own Gmail, per-recipient tracked links) — useful context not present in the annotations or schema.

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?

The aliasing fact is front-loaded in the first clause, which is exactly what an agent needs first. The second sentence is long but earns its place by defining 'drop', the term the whole parameter set is built around.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Deferring argument semantics to lnkdrp_list_drops is a reasonable strategy for a 23-parameter alias, and the domain definition of a drop helps. However, nothing describes pagination behavior or what a page of results contains, and with no output schema the agent gets no picture of the return shape.

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?

All 23 parameters carry full schema descriptions, so the schema baseline of 3 applies. The description only says 'the same arguments', adding no filter semantics, default behavior, or combination rules beyond what the schema already documents.

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?

The description identifies the tool as an alias of lnkdrp_list_drops under its earlier name, so the verb (list) and resource (drops/campaigns) are inferable and it is clearly distinguished from the rest of the sibling set. It never states the operation directly in its own words, leaning entirely on the sibling reference, which keeps it just short of a 5.

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?

Saying 'the same arguments and the same answers' as lnkdrp_list_drops tells the agent it need not choose between the two, which is genuine routing help. But there is no guidance on when listing is the right operation versus filtered retrieval (get_drop) or other listing tools, and no prerequisites or caveats are mentioned.

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