Skip to main content
Glama

LinkedIn: Send company follow invitation

linkedin_send_company_follow_invitation
Destructive

Invite one or more Classic LinkedIn members to follow a company page administered by the connected account, in one provider request. Resolve/disambiguate the numeric company and each Classic ACo member first; linkedin_get_company_follow_credits shows remaining invitation credits. Send only when the user explicitly requested/approved this exact page, recipients and account; otherwise ask for confirmation under the common MCP action rules. This is distinct from a connection invitation or following a company yourself. LinkedIn enforces page permissions, recipient eligibility and invitation credits. The receipt returns created invitation IDs and success/failed counts; it confirms creation only, not acceptance or a new follower, and does not say which members failed. No listing, acceptance or withdrawal is supported. Never retry automatically, including failed recipients, provider errors, rate limits and timeouts. After a partial or ambiguous failure the user must inspect LinkedIn before deciding any further send; no MCP invitation-state lookup exists for this action.

Input Schema

NameRequiredDescriptionDefault
account_idNoOwned LinkedIn unipile_account_id from list_connected_accounts. Omit only when one LinkedIn account is connected; never use a member/company ID.
company_idYesNumeric LinkedIn company ID from linkedin_list_managed_company_pages or linkedin_resolve_company/linkedin_search_companies, then verify the page is administered. Never pass a name, URL, slug or URN.
member_idsYesNon-empty list of distinct Classic LinkedIn member IDs (ACo...) from linkedin_get_profile_from_url, linkedin_resolve_person with Classic search, or linkedin_list_my_connections. Disambiguate first; never pass a URL, slug, URN, Sales Navigator or Recruiter ID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare destructive=true/idempotent=false, but the description adds substantial context beyond them: page permission and recipient-eligibility enforcement, invitation credits, receipt semantics (creation only, not acceptance; no per-member failure detail), unsupported operations, and a strict no-auto-retry rule covering rate limits and timeouts. This is exactly the extra 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.

Conciseness4/5

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

Dense but front-loaded: the action and its scope lead, followed by prerequisites, failure semantics, and retry rules. Almost every sentence earns its place, though the closing sentences on state lookup overlap slightly with the earlier 'no listing/acceptance/withdrawal' statement.

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?

For a destructive, non-idempotent mutation with no output schema, the description covers everything an agent needs: prerequisite resolution, credit gating, receipt interpretation, lack of per-recipient failure detail, and explicit no-retry and post-failure inspection guidance.

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%, so all three parameters are already documented with patterns and sourcing tools, which sets the baseline at 3. The description reinforces the resolve/disambiguate workflow and 'one or more' cardinality, but adds little syntax or format detail beyond the schema.

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 (invite to follow) and resource (a company page administered by the connected account), and explicitly delineates scope: Classic members, numeric company, one provider request. It names what it is NOT ('distinct from a connection invitation or following a company yourself'), which cleanly separates it from siblings like linkedin_send_invitation and linkedin_follow_user.

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 explicit preconditions and gating: 'Send only when the user explicitly requested/approved this exact page, recipients and account; otherwise ask for confirmation.' It also points to linkedin_get_company_follow_credits for credit checks and instructs resolving/disambiguating IDs first, and names the sibling operations it is not.

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.