Skip to main content
Glama

Reach MCP — LinkedIn for AI agents

list_conversations

Read-onlyIdempotent

List LinkedIn messenger conversations (Voyager Messaging GraphQL), with optional archived, unread, starred filters and next_cursor paging — same as GET /api/linkedin/{account_id}/conversations. Each item returns conversation_id (the thread id — use this as conversation_linkedin_id when fetching messages or replying) and recipient_linkedin_id (the peer's fsd_profile id — use this as recipient_linkedin_id when sending a new message).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoPage size.
unreadNoOnly conversations with unread messages.
starredNoOnly starred conversations.
archivedNoOnly archived conversations.
account_idYesReach id of the LinkedIn account to act on, from list_accounts.
next_cursorNoCursor returned by the previous page; omit for the first page.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoRequested page size (LinkedIn typically caps at 25).
itemsNo
unreadNoMatches query: unread filter (search query with ``read:false``).
starredNoMatches query: starred folder or client filter when combined.
archivedNoMatches query: archived folder (``category:ARCHIVE``) when not unread.
next_cursorNoPass as ``next_cursor`` for the following page when present.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds useful behavioral context beyond those hints: it reveals the underlying Voyager GraphQL route, the REST-alias, pagination with next_cursor, and the semantic meaning of returned IDs for cross-tool flows. It does not disclose rate limits or default ordering, but the annotation bar lowers the burden.

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?

Two sentences with no wasted words. The first sentence front-loads the action, resource, filters, and paging; the second compacts essential ID semantics without repeating schema descriptions. Every clause earns its place.

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?

Given the rich annotations, complete input schema, and presence of an output schema, the description covers what an agent needs to invoke the tool successfully. It also supplies the cross-tool mapping for conversation_id and recipient_linkedin_id, which is critical context that no structured field provides.

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 already has 100% parameter coverage, so the baseline is 3. The description mostly restates filter and paging concepts already present in the schema and adds meaning to returned fields rather than the input parameters themselves. There is modest added value but no substantial new input-parameter semantics.

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 states a specific verb and resource ('List LinkedIn messenger conversations') plus the implementation context ('Voyager Messaging GraphQL') and the same as GET /api/linkedin/{account_id}/conversations. It also distinguishes from sibling tools like list_conversation_messages and salesnav_list_messaging_threads by framing this as the conversation-level listing with IDs meant for downstream message operations.

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 gives clear context for using the tool to list conversations and then explains how the returned IDs feed into fetching messages, replying, or sending a new message. It does not explicitly state when not to use it or name alternatives, so it falls short of a fully prescriptive usage guide.

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