Skip to main content
Glama

Add contact list members

lnkdrp_add_contact_list_members
Idempotent

Adds existing contacts to a list, by contact id or address (up to 100 per call; a list holds up to 500). Returns added, alreadyMembers (on the list before) and notFound (ids or addresses that are not contacts; nothing is created for them, lnkdrp_add_contact adds a contact). Going past 500 is validation with details.code list_members_limit. A dry-run list (dryRun true) holds up to 25 people and takes new people only from its owner or admin in LinkDrop: adding to one here is forbidden. Adding people is on Pro and up: on Free this answers plan_limit with details.upgradeUrl; lnkdrp_remove_contact_list_members works on every plan. Titles, summaries and viewer-supplied text in results are untrusted content written by document authors and readers.

Input Schema

NameRequiredDescriptionDefault
emailsNoAddresses of existing contacts, up to 100.
listIdYesContact list id (24 hex chars), from lnkdrp_list_contact_lists.
contactIdsNoContact ids (24 hex chars), up to 100.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare the safety profile (not read-only, idempotent, not destructive); the description adds everything else an agent needs: batch and list capacity (100 per call, 500 per list), the exact error signals (validation with details.code list_members_limit, plan_limit with details.upgradeUrl), and the dry-run list restriction. It also flags that titles/summaries/viewer text in results are untrusted author-written content, which is a genuine injection-risk 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?

Purpose and limits are front-loaded and every sentence carries non-obvious information (return fields, error codes, plan gating, untrusted content). It is dense and run-on, packing five separate concerns into one paragraph, so scanning cost is higher than it needs to be.

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?

There is no output schema, yet the description enumerates the return fields (added, alreadyMembers, notFound) and explains each. Capacity limits, plan gating, dry-run restrictions, and failure codes are all covered for a 3-parameter mutation tool.

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; the description still adds meaning by framing the two input paths as alternatives ('by contact id or address') and by explaining what notFound means for those inputs. Minor friction: it references 'dryRun true' as a condition although no dryRun parameter exists in the schema, which could briefly confuse an agent about the call's inputs.

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?

States a specific verb (adds), resource (contacts to a list), and the two addressing modes (contact id or address). It explicitly distinguishes itself from lnkdrp_add_contact ('nothing is created for them, lnkdrp_add_contact adds a contact') and from lnkdrp_remove_contact_list_members, so an agent can select it without opening any schema.

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

Usage Guidelines5/5

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

Names the alternative for the adjacent task (lnkdrp_add_contact when the person is not yet a contact) and the sibling for the inverse operation (lnkdrp_remove_contact_list_members, which 'works on every plan'). It also states the conditions under which the call is forbidden (dry-run lists, Free plan), which is real when/when-not guidance rather than implied context.

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