Skip to main content
Glama

Check Connection Acceptance

li_check_acceptance
Read-only

Ask LinkedIn right now whether invites were accepted. Read-only: it records nothing. With profileUrl: that one person's state (connected | pending | not_connected | unknown). Without it: the account's pending sent invites and recent connections as public-id lists with counts (pendingInvites, connections) — the signals the poller compares. Opens a browser session on the account, so it queues behind other work. ok: false with pendingListRendered: false means the sent list could not be read, NOT that nothing is pending. To record acceptances and schedule first messages use li_poll_acceptances; for invites already recorded use li_connections (DB, instant).

Input Schema

NameRequiredDescriptionDefault
sessionIdNoAccount id from li_list_accounts. Omit (with sessionLabel) to use your default account.
profileUrlNoOptional single profile URL to check; omit for the batch signals scan
sessionLabelNoAccount by label, LinkedIn name, profile slug or member id (li_list_accounts). Omit (with sessionId) to use your default account.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / sessionId / description
      Previous value: -"Optional saved LinkedIn session selector"New value: +"Account id from li_list_accounts. Omit (with sessionLabel) to use your default account."
    • changedInput schema / properties / sessionLabel / description
      Previous value: -"Optional saved LinkedIn session selector"New value: +"Account by label, LinkedIn name, profile slug or member id (li_list_accounts). Omit (with sessionId) to use your default account."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/destructiveHint annotations by disclosing that it opens a browser session and queues behind other work, and by pre-empting a critical misread: ok:false with pendingListRendered:false means the sent list could not be read, NOT that nothing is pending. That is exactly the kind of behavioral context annotations cannot convey.

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 and then layers behavior, error semantics, and alternatives with no filler sentences. It is dense, but each clause carries distinct information an agent needs.

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?

No output schema exists, so the description carries the return contract, and it does: the per-profile state enum, and the batch fields pendingInvites and connections as public-id lists with counts. Nothing an agent needs to call it and interpret results is missing.

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, but the description adds real semantic value by spelling out the behavioral difference between supplying profileUrl (single-person state, with an inline enum of connected|pending|not_connected|unknown) versus omitting it (batch pending/connection signals). Useful beyond the schema text.

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 ('Ask LinkedIn right now whether invites were accepted') and then precisely delineates the two modes from profileUrl. It distinguishes itself from siblings li_poll_acceptances and li_connections by name, so an agent can route without opening a 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?

Explicitly routes: use li_poll_acceptances to record acceptances and schedule first messages, and li_connections for already-recorded invites from the DB. Both the when and the when-not are stated with the selecting condition, leaving nothing to inference.

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