Skip to main content
Glama

Read The Do-Not-Contact List

li_list_suppressed
Read-only

Read-only: who is on the do-not-contact list this caller can see. The do-not-contact list is checked at IMPORT — a listed prospect is NOT imported and is reported by name in result.suppressed of li_ingest_prospects — and again at INVITE time, so a queued invite for someone added to the list after their import is retired with category suppressed instead of sent — and before every automated message step, and by the assistant send tools (li_send_reply, li_send_message, li_send_bulk_messages), which REFUSE a listed person. Only a message a person types themselves in LinkedIn or on the dashboard is not blocked. It is per TEAM: an entry made with a personal token applies to every LinkedIn account that team runs and to nobody else; entries on the INSTALL-WIDE list (made by the operator, i.e. the shared secret) apply to every team. With a personal token the rows are the team's own list PLUS the install-wide one (it applies to them, so hiding it would make a refusal unexplainable); the operator sees every list. Each row carries scope ('install' applies to everybody, 'owner' to one team) and removable — whether THIS caller may remove it with li_unsuppress_profile. truncated: true means the list is longer than limit and the rows shown are not all of it.

Input Schema

NameRequiredDescriptionDefault
limitNoMax rows to return (default 500, max 1000). A longer list reports truncated: true rather than silently trimming.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare it as a non-destructive read; the description goes far beyond that, disclosing the enforcement points (import, invite, automated messages, send tools that REFUSE listed people), the per-team vs install-wide scoping model, and the visibility rules for personal vs operator tokens. It also explains the returned fields scope, removable, and truncated.

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?

Front-loads the core purpose ('Read-only: who is on the do-not-contact list') before the dense behavioral detail. It is long and information-heavy, but each clause explains a distinct enforcement or scoping fact that aids correct interpretation.

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, and the description compensates fully by describing the row fields (scope, removable), the truncated flag, and the referenced result.suppressed shape. An agent has everything needed to interpret the response and understand caller-specific visibility.

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% and the single limit parameter is already documented with default and max. The description adds marginal meaning by tying truncation to limit, but does not go beyond what the schema states, so baseline 3 applies.

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 and resource immediately: 'Read-only: who is on the do-not-contact list this caller can see.' It scopes the resource ('this caller can see') and implicitly distinguishes itself from the mutating siblings li_suppress_profiles and li_unsuppress_profile by being the read side.

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?

Explains the operational role of the list (checked at import, invite, message steps; enforced by send tools) and names li_unsuppress_profile and li_ingest_prospects as related operations. It gives strong context for why/when the list matters but never states an explicit 'call this when you need to audit X' directive.

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