Skip to main content
Glama

People By Their Marked Verdict

li_marked_conversations
Read-only

The people you marked with ONE outcome, across every account you can see. A general listing: li_marked_conversations(outcome="interested", dueOnly=true) is everyone marked interested whose check-again date (their li_snooze_reply date) has arrived. ⚠️ The booked-call follow-up does NOT run from here any more: people who agreed to a call are tracked with li_track_booking and worked from li_booking_due (nudge/close with limits), li_match_contacts + li_mark_booked (the calendar), li_bookings. DB-backed and instant; no browser.

Each row: name, company, profileUrl, accountId/accountLabel, campaignName, outcomeAt + outcomeNote, checkOn (the check-again date — it IS the snooze, set with li_snooze_reply), theirLastAt/ourLastAt (ends of the STORED thread; null = nothing stored, never "they did not write"), nudgesSent + lastNudgeAt (messages we sent after the verdict AND after their last word, i.e. nudges still unanswered — derived from the stored thread), repliedSinceMarked and suppressed. The system stores no email address for prospects: match a booking by name (and company).

dueOnly DROPS, and counts in excluded: anyone who wrote since the last decision or was reopened (they are owed a reply — li_replies_to_answer), anyone on a do-not-contact list, and anyone whose check date is still ahead. Without it every marked person is listed, flagged instead of dropped.

Nothing here sends anything, and a check date arriving sends nothing either. Record a booked call with li_mark_booked (or li_mark_outcome(outcome="meeting_booked") when there is no calendar event).

Input Schema

NameRequiredDescriptionDefault
limitNoMost rows to return (default 100, max 200)
dueOnlyNoOnly people actionable today: check date arrived or never set, not written since, not suppressed
outcomeYesWhich verdict to list — usually "interested" or "meeting_booked"
sessionIdNoLimit to one account by id (li_list_accounts). Omit to cover every account you can see.
sessionLabelNoScope to one account label (omit for every account you can see)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / limit / description
      Added value: +"Most rows to return (default 100, max 200)"
    • addedInput schema / properties / sessionId / description
      Added value: +"Limit to one account by id (li_list_accounts). Omit to cover every account you can see."
  2. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare read-only/safe, but the description adds substantial context beyond them: what dueOnly DROPS and counts in excluded, what null means in theirLastAt (never 'they did not write'), what nudgesSent means, that no email is stored, and that neither the tool nor a due date sends anything. This is exactly the kind of behavioral disclosure the annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Substantial and information-dense, but it front-loads a long sibling-routing narrative and a full row-field catalogue before the core call signature is clear. Several clauses (booking lifecycle, storage caveats) could be trimmed or moved since they concern other tools, hurting front-loading.

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?

Rich enough to call correctly: row semantics, dueOnly behavior, storage caveats, and safety profile are all covered despite the lack of an output schema. Minor gap is that limit/sessionId/sessionLabel scoping is left implicit.

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 coverage is 100%, so the schema already documents all five parameters. The description's row-field explanation and its inline usage of outcome/dueOnly add situational clarity but no new syntax or format detail beyond the schema; baseline 3 is appropriate.

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+resource (listing people by their marked outcome) and scopes it (across every account you can see). Explicitly differentiates from the booked-call flow tracked by li_track_booking/li_booking_due, naming siblings an agent might otherwise confuse.

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?

Example invocation with dueOnly=true clarifies the primary use case, and the note that booked-call follow-up no longer runs here actively redirects the agent to li_booking_due. Doesn't spell out an exhaustive when-not list, but the routing guidance is strong.

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