Skip to main content
Glama

Connect a LinkedIn account

connect_linkedin

Create a private, secure web link the user opens to connect their LinkedIn account by entering their cookie OR email+password on a bare form — instead of pasting those secrets into this chat. STRONGLY PREFER this over connect_linkedin_with_cookie / connect_linkedin_with_credentials whenever the user is in a shared or logged channel: the secret goes straight from their browser to the backend and is never exposed here or to anyone else in the conversation. Give them the returned url and tell them it expires in ~2 hours. The form auto-detects their browser fingerprint and lets them pick the account country, exactly like the in-app page. The connection is attached to the current AI setup automatically. Only for a LinkedIn account that is NOT connected yet. To fix, reconnect or re-login an account that is already connected (expired cookie, disconnected, needs a new password or 2FA), use update_linkedin_connection with its connectionId instead — connecting it again here creates a separate new sender that starts without the old one's synced message history (older Unibox / InMail threads), and removing the old sender deletes that history.

Input Schema

NameRequiredDescriptionDefault
labelNoOptional friendly name to pre-fill for this sender.
countryNoOptional country to pre-select — a name token (e.g. "UNITED_STATES", "UNITED_KINGDOM") or a 2-letter ISO code (e.g. "us", "gb"); the user can change it on the form.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description goes well beyond that: the secret flows browser-to-backend and never touches the conversation, the returned link expires in ~2 hours, the connection attaches to the current AI setup automatically, the form self-detects browser fingerprint, and reconnecting an already-connected account creates a NEW sender that starts without the old synced history (and removing the old sender deletes it). No contradiction with the annotations.

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?

The action is front-loaded and no sentence is filler — routing rule, expiry, attachment behavior, and the history-loss warning all carry weight. It is, however, one dense block of long, clause-heavy sentences that could be split for scannability.

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?

With no output schema, the description still tells the agent what comes back ('the returned url') and its lifetime (~2 hours), plus the side effect on the current AI setup. Combined with the annotations and full schema coverage, an agent has everything needed to call and follow up correctly.

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 meaning: it explains the 'country' parameter is only a pre-selection the user can change on the form, matching 'exactly like the in-app page.' The optional 'label' pre-fill is left to the schema, which documents it adequately.

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 up front: 'Create a private, secure web link the user opens to connect their LinkedIn account.' It explicitly names the siblings it supersedes (connect_linkedin_with_cookie / connect_linkedin_with_credentials) and the sibling for the adjacent case (update_linkedin_connection), so an agent can route 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?

Gives an explicit preference rule ('STRONGLY PREFER this ... whenever the user is in a shared or logged channel'), the reason for that rule (secrets never exposed in chat), and a hard exclusion ('Only for a LinkedIn account that is NOT connected yet') with a named alternative for the excluded case (update_linkedin_connection). This is textbook when/when-not/alternatives coverage.

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.