Skip to main content
Glama
Linked-API
by Linked-API

Linked API MCP server connects your LinkedIn account to AI assistants like Claude, Cursor, and VS Code. Ask them to search for leads, send messages, analyze profiles, and much more – they'll handle it through our cloud browser, safely and automatically.

Use cases

  • Sales automation assistant. Ask your AI to find leads, check their profiles, and draft personalized outreach. It can search for "software engineers at companies with 50-200 employees in San Francisco", analyze their backgrounds, and suggest connection messages that actually make sense.

  • Recruitment assistant. Let your assistant search for candidates with specific skills, review their experience, and send initial outreach. It handles the time-consuming parts while you focus on actually talking to people.

  • Conversation assistant. Your AI can read your existing LinkedIn conversations and help you respond naturally. It understands the context of your chats, suggests relevant replies, and can even send follow-up messages.

  • Market research assistant. Need competitor analysis? Your assistant can gather data about companies, their employees, and recent activities. Get insights about industry trends without spending hours on LinkedIn.

Related MCP server: linkedin-automation-mcp

Get started

To start using Linked API MCP, spend 2 minutes reading these essential guides:

  1. Installation – set up MCP in Claude, Cursor, VS Code, or Windsurf.

  2. Available tools – explore all the LinkedIn tools your assistant can call.

  3. Usage examples – see real-world examples to get you started quickly.

Long-running actions

Linked API actions run through a cloud browser and are queued like normal automation. Many actions take several minutes, especially searches and profile fetches with optional data.

If a tool returns status, workflowId, operationName, and message, the action is still running. Do not retry the original tool because that can queue duplicate work. Call get_workflow_result with the exact workflowId and operationName until the final result is returned. By default get_workflow_result long-polls until the workflow completes or the current MCP client's request budget elapses; pass waitSeconds: 0 for an immediate single-shot snapshot.

License

This project is licensed under the MIT – see the LICENSE file for details.

Available Tools

37 tools
admin_connect_accountA

Create a connection session to connect a new LinkedIn account. Returns a sessionId and connectionLink that must be opened in a browser.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

The description discloses that it returns a sessionId and connectionLink that must be opened in a browser, which is a behavioral requirement. However, with no annotations, it doesn't mention session expiration, security implications, or whether it's a one-time link.

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?

Single sentence, front-loaded with the action, all words earn their place.

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?

For a zero-parameter tool with no output schema, the description covers the action, the output, and the required next step. It could add info about session lifecycle but is largely complete.

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?

There are no parameters, so schema coverage is 100%. The description adds context about the session flow, which is sufficient given zero parameters.

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 uses a specific verb ('Create') and resource ('connection session to connect a new LinkedIn account'), clearly distinguishing it from sibling tools like admin_create_reconnection_session by specifying 'new' account.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage for connecting a new account, but does not explicitly state when to use it versus admin_create_reconnection_session or other admin session tools. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

admin_disconnect_accountA

Disconnect a LinkedIn account. This action is irreversible — the account must be reconnected from scratch.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesUUID of the account to disconnect

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the action is irreversible and that the account must be reconnected from scratch, which is critical and non-obvious. It does not mention permissions or side effects beyond this, but for a simple disconnect action, this is strong transparency.

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?

The description is exceptionally concise: two sentences total. The first sentence front-loads the action and resource, and the second delivers a crucial warning. Every word earns its place, with no redundancy or filler.

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?

For a simple tool with one parameter, no output schema, and no annotations, the description covers the essential aspects: the action and its irreversible nature. It does not detail response formats or prerequisites, but given the minimal complexity, this is reasonably complete.

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 provides a complete description of the sole parameter, accountId ('UUID of the account to disconnect'), giving 100% schema coverage. The tool description adds no additional parameter-specific meaning, so the baseline score of 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?

The description uses the specific verb 'Disconnect' followed by the resource 'a LinkedIn account,' clearly stating the tool's function. It distinguishes itself from sibling tools like admin_connect_account by focusing on the removal/irreversible action, and the irreversibility note adds important context without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through its clear action and resource, but does not explicitly provide when-to-use or when-not-to-use guidance, nor does it mention alternatives. Since the purpose is obvious and there are no exclusions or alternative references, it falls under 'implied usage'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

admin_get_accountsA

Get all connected LinkedIn accounts and pending connection sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but discloses no behavioral traits beyond the implicit read-only nature of 'Get'. It does not mention authentication requirements, pagination, or what 'pending connection sessions' entails, leaving the agent with incomplete expectations.

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?

The description is a single, concise sentence that immediately states the action and target. Every word is necessary, and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description provides a basic understanding of the result (accounts and pending sessions), but leaves ambiguity about the response structure and the nature of 'pending connection sessions.' More detail could improve completeness without bloating the text.

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?

The tool has zero parameters, and the input schema is empty. Per the baseline for 0-param tools, the description need not explain parameters, and no further semantic detail is required.

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 clearly states the tool retrieves all connected LinkedIn accounts and pending connection sessions, using the specific verb 'Get' and naming the resources. It differentiates from sibling tools like admin_get_connection_session (singular session) and admin_get_limits_usage (limits).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only states what it does without mentioning contexts, prerequisites, or excluding cases such as retrieving a specific session via admin_get_connection_session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

admin_get_limits_usageB

Get current usage against configured rate limits for an account.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesAccount UUID

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Get' suggests a read operation, but it does not explicitly disclose that it is non-mutating, mention any authentication or admin requirements, or explain potential side effects. The behavior is largely inferable from the verb and admin_ prefix, but not explicitly disclosed.

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?

The description is a single, front-loaded sentence with no wasted words. It immediately states the action and target, making it highly scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should at least hint at what the response contains or under what conditions it succeeds/fails. The term 'usage' is vague (e.g., numeric counts? limits? timestamps?), and no error or prerequisite context is given. The description is adequate for a trivial read, but incomplete for practical use.

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% (accountId is described as 'Account UUID'), so the schema already documents the only parameter. The description does not add any parameter-specific meaning beyond what the schema states, matching the baseline of 3.

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 uses a specific verb ('Get') with a clear resource ('usage against configured rate limits') and scope ('for an account'). It is easily distinguished from sibling tools like admin_get_limits, which likely return the limits themselves, and admin_set_limits/admin_reset_limits, which modify them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a monitoring use case (checking consumption against rate limits) but does not explicitly state when to use this tool versus alternatives. No exclusions or alternative tool names are mentioned, so guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

admin_get_seatsA

Get active subscription seats. Each seat allows one connected LinkedIn account. Seat types: core (standard) and plus (includes Sales Navigator).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It explains what a seat is and lists seat types, which adds context, but it does not explicitly state read-only behavior, return format, or authentication requirements. The verb 'Get' implies a read operation, mitigating the gap.

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?

The description is two sentences, front-loaded with the core action, and every sentence adds value. The seat type clarification is concise and directly relevant.

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?

For a simple 0-parameter read operation, the description provides sufficient context on what seats are and their types. No output schema exists, so return format is not specified, but the tool's action and scope are clear enough for an agent to invoke 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?

The tool has zero parameters and the schema is empty with 100% coverage, so the baseline is 4. The description adds meaning about seats and their types, though no parameter details are needed or provided.

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 uses a specific verb and resource: 'Get active subscription seats' clearly states the action and object. It distinguishes this tool from siblings like admin_set_seats and admin_get_accounts by focusing on seats, and it adds valuable detail about seat types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for reading subscription seats but does not explicitly state when to use it versus alternatives like admin_set_seats or admin_get_subscription_status. No exclusions or alternative guidance are provided; context is clear but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

admin_get_subscription_statusA

Get current subscription status, trial eligibility, and cancellation schedule.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

The verb 'Get' implies a read-only operation, and the description enumerates the returned data (status, trial eligibility, cancellation schedule). However, with no annotations provided, the description carries the full burden and does not disclose potential authorization requirements or error behavior, though this is less critical for a simple getter.

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?

The description is a single, concise sentence that front-loads the purpose and includes no filler or redundant details.

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?

Given the tool's simplicity (no parameters, no output schema), the description covers the essential purpose and scope. It could benefit from specifying the structure of the cancellation schedule or trial eligibility, but it is otherwise sufficient for an agent to select and invoke the tool.

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?

The tool has zero parameters, so the description need not explain parameter semantics. Per guidelines, a tool with 0 parameters gets a baseline of 4, and the description adds no unnecessary information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves subscription status, trial eligibility, and cancellation schedule, using the specific verb 'Get'. However, it does not explicitly distinguish itself from sibling admin_* tools, though the resource is unique.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like admin_get_limits_usage. It only states what it does, not the appropriate context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

admin_regenerate_tokenA

Regenerate identification token for an account. The old token becomes invalid immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesUUID of the account

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It explicitly states a key behavioral consequence: 'The old token becomes invalid immediately.' This reveals the destructive/irreversible nature of the action. It does not mention other potential side effects or prerequisites, but the most critical behavior is disclosed.

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?

The description is two sentences, front-loaded with the action, then a concise behavioral consequence. No wasted words or redundant information.

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?

For a simple tool with one parameter and no output schema, the description covers the essential aspects: what it does and the immediate consequence. It does not explain the response format or admin requirements, but these are not critical given the tool's simplicity and the admin_ prefix in the name.

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 fully documents the single parameter accountId with description 'UUID of the account' (100% coverage). The description adds nothing beyond the schema, but per the rubric baseline is 3 when schema coverage is high.

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 uses a specific verb and resource: 'Regenerate identification token for an account.' This clearly differentiates it from sibling tools like admin_connect_account or admin_disconnect_account, as it describes a distinct action on a distinct resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (when an identification token needs regeneration) but provides no explicit comparison to alternatives or exclusions. Since the action is self-explanatory and no sibling tool performs the same function, the implied usage is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

admin_reset_limitsA

Reset all rate limits for an account to the system defaults.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesAccount UUID

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the action (reset) and scope (all rate limits), but does not mention that this is destructive, irreversible, or requires special permissions. An agent cannot assess the safety or side effects beyond what 'reset' implies.

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?

Single sentence, front-loaded with the action, no filler. Every word contributes to the meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool, the description covers the basic function but omits behavioral details (e.g., irreversibility, permission requirements, effect on existing custom limits). Without annotations, this is a gap for an admin mutate operation.

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 schema already provides 100% coverage with accountId described as 'Account UUID'. The description adds minimal extra meaning ('an account') but does not need to, given the schema's completeness.

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 uses a specific verb ('Reset') and identifies the resource ('all rate limits for an account') with a clear target state ('system defaults'). It distinguishes itself from sibling tools like admin_set_limits and admin_get_limits by indicating a restore-to-default action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose implies when to use it (when wanting to restore defaults), but there is no explicit guidance on when to use this vs admin_set_limits or admin_get_limits, nor any exclusions or prerequisites. Usage context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

admin_set_limitsA

Set rate limits for an account. Only specified limits are created or updated; other limits remain unchanged. Categories: stPersonProfileViews, stCompanyPageViews, stConnectionRequests, stMessages, stSearchQueries, stReactions, stComments, stPosts, nvPersonProfileViews, nvCompanyPageViews, nvMessages.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesAccount UUID
limitsYesArray of limit configurations

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden of disclosure. It usefully states that only specified limits are changed and others remain unchanged, which is a key behavioral trait. However, it does not disclose other important behaviors such as validation of categories, required permissions, or error handling, leaving gaps for the agent.

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?

The description is two concise sentences. The first sentence clearly states the purpose and key behavior; the second lists valid categories. No words are wasted, and the most important information is front-loaded.

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?

Given the moderate complexity (nested object parameter) and the absence of an output schema, the description covers the essential context: what the tool does, the partial-update behavior, and accepted categories. It could additionally explain response behavior or validation, but the existing schema and description together are mostly sufficient for correct invocation.

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% for parameters, but the description adds the list of valid categories, which is not present in the schema. This provides meaningful additional semantic information beyond the schema's vague 'Limit category'. The partial-update behavior also clarifies how the 'limits' array is applied.

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 clearly states the tool 'Set rate limits for an account', with a specific verb and resource. It further clarifies the scoped behavior ('Only specified limits are created or updated; other limits remain unchanged'), which distinguishes it from sibling tools like admin_reset_limits or admin_delete_limits.

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 provides clear context on what the tool does and its partial-update semantics, implying it is the appropriate tool for setting or modifying specific rate limits. However, it does not explicitly reference alternative tools or state when not to use it, so it falls short of explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

admin_set_seatsA

Set number of subscription seats. Returns checkout link if no active subscription, otherwise updates immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
quantityYesNumber of seats (1-1000)
seatTypeYesSeat type. "plus" unlocks Sales Navigator actions.
billingPeriodYesBilling period

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description discloses a key behavioral detail: if there is no active subscription, it returns a checkout link instead of updating, otherwise it updates immediately. This goes beyond a generic 'set' statement. However, it does not mention permissions, error conditions, or the exact response format for the successful update case, which keeps it from a 5.

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?

The description is two short sentences, front-loaded with the action and resource. It efficiently conveys both the core function and the important conditional outcome without unnecessary words. Every phrase adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description does not fully cover what happens after the update (response shape) or any prerequisites/errors. It explains the checkout-link branch but leaves the 'updates immediately' branch return value unspecified. Given the simple parameter set, the description is adequate but has gaps.

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 documents all three parameters fully (quantity range, seatType enum with extra meaning, billingPeriod enum). The description adds no additional semantic detail beyond what the schema already provides, so it meets the baseline of 3 for high schema coverage.

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 clearly states a specific action ('Set number of subscription seats') and identifies the resource (subscription seats). It distinguishes from siblings like admin_get_seats (viewing) and admin_set_limits (different resource) by focusing on seat count. The conditional behavior also adds precision.

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 implies this tool is for changing subscription seat quantity, and it adds context by describing the two possible outcomes: returning a checkout link (no active subscription) or updating immediately. It does not explicitly exclude alternatives or name when-not-to-use, but the purpose is clear enough for an agent to select it over the many admin_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_connection_statusB

Allows you to check the connection status between your account and another person (st.checkConnectionStatus action).

ParametersJSON Schema
NameRequiredDescriptionDefault
personUrlYesPublic or hashed LinkedIn URL of the person you want to check the connection status with. (e.g., 'https://www.linkedin.com/in/john-doe')

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears full burden. It merely describes the operation as a check, implying a read, but does not disclose response format, error behavior, authentication needs, or any side effects. For a read operation, this is minimal.

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

Conciseness3/5

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

The description is a single sentence, which is short but lacks structure. It is not verbose, but it misses important details like response or usage. Conciseness without completeness is not optimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description covers the basic purpose. However, it lacks context on when to use it, what the response looks like, or error handling, making it minimally complete for an agent.

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% with a clear parameter description. The tool description adds the context that the check is between the user's account and another person, which is minimal additional value. Baseline 3 is appropriate as the schema already handles parameter semantics well.

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 clearly states the tool allows checking connection status between the user's account and another person. It uses a specific verb 'check' and resource 'connection status', distinguishing it from sibling tools that modify connections (e.g., remove_connection).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like retrieve_connections or send_connection_request. It lacks context for appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

comment_on_postC

Allows you to leave a comment on a post (st.commentOnPost action).

ParametersJSON Schema
NameRequiredDescriptionDefault
postUrlYesThe LinkedIn post URL to comment on (e.g., 'https://www.linkedin.com/posts/username_activity-id')
textYesComment text, must be up to 1000 characters.
companyUrlNoLinkedIn company page URL. If specified, the comment will be added on behalf of the company. (e.g., 'https://www.linkedin.com/company/acme-corp')

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description must fully disclose behavioral traits. It does not mention authentication requirements, rate limits, idempotency, or side effects (e.g., notifications). The bare action description leaves significant behavioral uncertainty for a mutation tool.

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 description is a single sentence with no redundant information. It efficiently conveys the core purpose, though it could be slightly more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should cover prerequisites, return behavior, and error handling. It does not explain what happens after a successful comment, any constraints (e.g., comment length beyond schema), or failure scenarios, leaving the agent underinformed.

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% and parameter descriptions are detailed. The tool description adds no additional meaning beyond the schema, meeting the baseline expectation but not exceeding it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('leave a comment on a post') and includes the internal action name. Although it doesn't explicitly distinguish from siblings like react_to_post, the verb+resource combination is specific and unambiguous given the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., react_to_post, send_message). Without context on appropriate use cases or exclusions, the agent must infer when commenting is more suitable than reacting or messaging.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_postA

Creates a new LinkedIn post with optional media attachments (st.createPost action).

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPost content, must be up to 3000 characters.
companyUrlNoLinkedIn company page URL. If specified, the post will be created on the company page (requires admin access).
attachmentsNoMedia attachments for the post. You can add up to 9 images, or 1 video, or 1 document. Cannot mix different attachment types.

TDQS

A3.7/5.0
Behavior3/5

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

Without annotations, the description must disclose behavioral traits. It adds constraints on media attachments (up to 9 images, 1 video/documents, no mixing) beyond the schema, but omits details on side effects, permissions, rate limits, or failure modes.

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?

The description is a single, front-loaded sentence with no fluff. Every word contributes to understanding the tool's core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (mutation, optional companies, media constraints) and absence of output schema or annotations, the description provides adequate but incomplete context. Missing aspects include return values, error handling, and company page admin requirements.

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 parameters. The description adds little beyond stating 'optional media attachments', not expanding on parameter details or usage nuances. 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?

The description specifies the verb 'creates' and the resource 'LinkedIn post', clearly differentiating from sibling tools like comment_on_post or fetch_post. It also mentions optional media attachments and the action identifier, providing a precise purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creating posts but does not explicitly state when to use this tool versus alternatives (e.g., when to use company vs personal posts, prerequisites like admin access). No guidance on exclusions or trade-offs is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_custom_workflowC

Execute a custom workflow definition

ParametersJSON Schema
NameRequiredDescriptionDefault
definitionYes

TDQS

C2.1/5.0
Behavior2/5

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

Annotations are absent, so the description must fully disclose behavior. It only says 'execute', omitting side effects, permissions, rate limits, or any consequences. The agent has no way to know what the tool actually does beyond the vague term.

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

Conciseness3/5

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

The description is a single sentence with no extraneous words, achieving conciseness. However, it is under-specified, sacrificing substance for brevity. It does not earn its keep by providing useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no parameter documentation, the description is critically incomplete. It fails to explain what the workflow does, what results are returned, or any constraints on the definition object.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'definition' is an object with no description in either the schema (coverage 0%) or the description. The description adds no meaning about its structure, constraints, or required properties, leaving the agent to guess.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb ('Execute') and a resource ('custom workflow definition'), but provides no specifics about what a workflow definition is or what execution entails. It does not differentiate from sibling tools like get_workflow_result, leaving ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., other workflow-related tools). The description lacks context on prerequisites, scenarios, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetch_companyB

Allows you to open a company page to retrieve its basic information (st.openCompanyPage action). Can optionally retrieve employees, posts and decision makers.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyUrlYesPublic or hashed LinkedIn URL of the company. (e.g., 'https://www.linkedin.com/company/microsoft')
retrieveEmployeesNoOptional. Whether to retrieve the company's employees information. Default is false.
retrievePostsNoOptional. Whether to retrieve the company's posts information. Default is false.
retrieveDMsNoOptional. Whether to retrieve the company's decision makers information. Default is false.
postsRetrievalConfigNoOptional. Configuration for retrieving posts. Available only if retrievePosts is true.
dmsRetrievalConfigNoOptional. Configuration for retrieving decision makers. Available only if retrieveDMs is true.
employeesRetrievalConfigNoOptional. Configuration for retrieving employees. Available only if retrieveEmployees is true.

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It mentions opening a company page and retrieving info but does not specify if this is read-only, if it has side effects, or what happens to the session. This is adequate but not comprehensive.

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, front-loaded with purpose, no irrelevant information. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, nested objects, no output schema), the description provides a high-level overview but lacks details on the return format or behavior of the 'open' action. It is adequate but could be more complete.

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?

All parameters are well-described in the input schema (100% coverage). The description adds minimal extra meaning beyond listing optional retrievals. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves basic company information with optional employees, posts, and decision makers. It uses a specific verb ('open' and 'retrieve') and resource ('company page'). However, it does not explicitly distinguish from similar tools like 'nv_fetch_company'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives (e.g., search_companies). The description implies using it when you have a company URL, but it does not state prerequisites, ideal scenarios, or conditions to avoid.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetch_personA

Allows you to open a person page to retrieve their basic information and perform additional person-related actions if needed. (st.openPersonPage action). Allows additional optional retrieval of experience, education, skills, languages, posts, comments and reactions. ⚠️ PERFORMANCE WARNING: Only set additional retrieval flags to true if you specifically need that data. Each additional parameter significantly increases execution time: 💡 Recommendation: Start with basic info only. Only request additional data if the user explicitly asks for it or if it's essential for the current task.

ParametersJSON Schema
NameRequiredDescriptionDefault
personUrlYesThe LinkedIn profile URL of the person to fetch (e.g., 'https://www.linkedin.com/in/john-doe')
retrieveExperienceNoOptional. Whether to retrieve the person's experience information. Default is false.
retrieveEducationNoOptional. Whether to retrieve the person's education information. Default is false.
retrieveSkillsNoOptional. Whether to retrieve the person's skills information. Default is false.
retrieveLanguagesNoOptional. Whether to retrieve the person's languages information. Default is false.
retrievePostsNoOptional. Whether to retrieve the person's posts information. Default is false.
retrieveCommentsNoOptional. Whether to retrieve the person's comments information. Default is false.
retrieveReactionsNoOptional. Whether to retrieve the person's reactions information. Default is false.
postsRetrievalConfigNoOptional. Configuration for retrieving posts. Available only if retrievePosts is true.
commentsRetrievalConfigNoOptional. Configuration for retrieving comments. Available only if retrieveComments is true.
reactionsRetrievalConfigNoOptional. Configuration for retrieving reactions. Available only if retrieveReactions is true.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description bears full burden for behavioral disclosure. It reveals that the tool executes an 'st.openPersonPage action' and warns about performance costs of extra parameters. However, it does not mention whether the tool is read-only, authentication requirements, or rate limits, leaving gaps in transparency.

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 description is concise and well-structured, front-loading the purpose and listing optional data types. The performance warning is clearly separated using emojis and bold text. It wastes no words, but could be slightly more streamlined by merging some phrases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (11 parameters, nested objects, no output schema), the description covers the main purpose and performance considerations but does not describe the output structure or 'basic information' contents. The nested configuration parameters are left to the schema, making the description adequate but not fully complete.

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 the baseline is 3. The description adds value by warning about performance impact of setting additional retrieval flags, which goes beyond the schema's descriptions. However, it does not explain parameter formats or constraints beyond what the schema already provides.

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 clearly states the tool's purpose: opening a person page to retrieve basic information and optionally additional data like experience, education, skills, etc. The verb 'fetch' and resource 'person' are explicit, and the description distinguishes it from sibling tools like fetch_company by specifying the person context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use additional retrieval flags with a performance warning and recommendation to start with basic info. However, it does not compare this tool to alternative sibling tools (e.g., nv_fetch_person, search_people) to help the agent decide when to use fetch_person over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetch_postA

Open a LinkedIn post and retrieve its data, with optional comments and reactions. (st.openPost action).

ParametersJSON Schema
NameRequiredDescriptionDefault
postUrlYesLinkedIn URL of the post. (e.g., 'https://www.linkedin.com/posts/username_activity-id')
retrieveCommentsNoOptional. When true, also retrieve comments for the post. Configure via commentsRetrievalConfig.
retrieveReactionsNoOptional. When true, also retrieve reactions for the post. Configure via reactionsRetrievalConfig.
commentsRetrievalConfigNoOptional. Applies only when retrieveComments is true. Controls comments retrieval (limit, replies, sort).
reactionsRetrievalConfigNoOptional. Applies only when retrieveReactions is true. Controls reactions retrieval (limit).

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states 'retrieve its data', implying a read operation, but does not disclose potential rate limits, authentication requirements, or any side effects beyond the action name.

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?

The description is a single, concise sentence that includes the key action and optional capabilities. No extraneous information.

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?

Given no output schema and moderate complexity (5 params, nested objects), the description is adequate but could mention return format or pagination. However, the schema covers parameters well.

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?

All parameters are fully described in the schema (100% coverage), so the description adds minimal extra meaning beyond mentioning the action and optional comments/reactions. Baseline score applies.

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 clearly specifies the verb 'Open and retrieve' and the resource 'LinkedIn post data', including optional comments and reactions. It is distinct from siblings like comment_on_post or create_post.

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 implies this tool is for retrieving post data, but does not explicitly state when to use it versus alternatives or any exclusions. However, the context is clear enough for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_api_usageB

Retrieve Linked API usage statistics. Date range must not exceed 30 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
startYesStart date for the statistics period in ISO 8601 format (e.g., '2024-01-01T00:00:00Z')
endYesEnd date for the statistics period in ISO 8601 format (e.g., '2024-01-30T00:00:00Z')

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation via 'Retrieve' and adds a clear parameter bound ('Date range must not exceed 30 days'), which is useful. However, it does not describe the shape of the returned statistics, whether any aggregation or filtering is applied, or other behavioral traits.

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?

The description is two sentences, immediately states the action and resource, and introduces the key constraint. There is no filler or redundant content; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter retrieval tool with no output schema, the description covers the core purpose and a critical limitation. However, it omits what the 'usage statistics' actually contain (e.g., counts, breakdowns) and any additional context such as authentication or rate limits, leaving the agent partially in the dark about expected results.

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%, as both parameters (start and end) have explicit descriptions including format examples. The description's phrase 'Date range' reiterates what the schema already conveys, adding no new semantic information about the parameters themselves.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Retrieve' and names a clear resource 'Linked API usage statistics'. It effectively communicates the tool's primary function, though it doesn't explicitly distinguish itself from sibling tools like admin_get_limits_usage, which might also return usage-related data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as admin_get_limits_usage or retrieve_performance. The only added instruction is a 30-day date-range limit, which is a constraint rather than context about appropriate use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_conversationB

Allows you to get a conversation with a LinkedIn person using standard LinkedIn messaging.

ParametersJSON Schema
NameRequiredDescriptionDefault
personUrlYesThe LinkedIn URL of the person whose conversation you want to poll (e.g., 'https://www.linkedin.com/in/john-doe')
sinceNoOptional ISO 8601 timestamp to only retrieve messages since this date (e.g., '2024-01-15T10:30:00Z'). If not provided, the entire conversation history will be returned.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description should fully disclose behavior. It only says 'get a conversation' implying read-only, but does not mention side effects (e.g., marking messages as read), authentication needs, or rate limits. The description is too sparse.

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 description is a single concise sentence that is easy to parse, no wasted words. Could be slightly improved by adding more details without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description lacks information on return format, error cases, or pagination. For a data retrieval tool, more depth is needed.

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% – both parameters are well-described in the schema. The description adds no additional meaning beyond the schema, so baseline score 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?

The description clearly states the action ('get a conversation') and the specific resource ('with a LinkedIn person'), distinguishing it from sibling tools like send_message or check_connection_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives such as nv_get_conversation or in what context (e.g., must have existing conversation, requires connection). The description lacks usage context and no exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_workflow_resultB

CONTINUE LISTENING TO BACKGROUND WORKFLOW - THIS IS NORMAL OPERATION! Background workflows are OPTIMAL BEHAVIOR for Linked API operations and keep the MCP client responsive. When a workflow runs in the background, this tool should be used with the provided workflowId and operationName parameters to continue listening for updates. The workflow continues processing in the background while you wait. This is the STANDARD way Linked API works - background processing provides optimal user experience!

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowIdYesThe workflow ID provided in the background workflow status message
operationNameYesOptional function name for proper type restoration (provided in background workflow status if available)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It explains that the tool is for listening and that background processing keeps the client responsive. However, it does not disclose rate limits, timeouts, or failure behaviors.

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

Conciseness3/5

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

The description is overly verbose with all-caps emphasis and repeated phrases like 'THIS IS NORMAL OPERATION!' and 'OPTIMAL BEHAVIOR'. It could be more concise while retaining clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description fails to explain what the tool returns or how updates are delivered (e.g., polling vs streaming). This gap reduces completeness.

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%, and the description adds context: workflowId comes from a background status message, and operationName is optional for type restoration. This augments the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is for continuing to listen to background workflows, with a specific verb ('CONTINUE LISTENING') and resource ('BACKGROUND WORKFLOW'). It distinguishes itself from siblings like execute_custom_workflow by explaining it handles background processing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('when a workflow runs in the background') and provides parameters to use. However, it lacks explicit guidance on when not to use it or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nv_fetch_companyA

Allows you to open a company page in Sales Navigator to retrieve its basic information (nv.openCompanyPage action). Can optionally retrieve employees and decision makers.

ParametersJSON Schema
NameRequiredDescriptionDefault
companyHashedUrlYesHashed LinkedIn URL of the company.
retrieveEmployeesNoOptional. Whether to retrieve the company's employees information. Default is false.
retrieveDMsNoOptional. Whether to retrieve the company's decision makers information. Default is false.
employeesRetrievalConfigNoOptional. Configuration for retrieving employees. Available only if retrieveEmployees is true.
dmsRetrievalConfigNoOptional. Configuration for retrieving decision makers. Available only if retrieveDMs is true.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the action (nv.openCompanyPage) and optional retrievals, but lacks details on side effects, rate limits, or authentication requirements.

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?

The description is two sentences with no fluff, front-loaded with the core purpose. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given nested parameters and no output schema, the description is too sparse. It does not explain what 'basic information' includes or the return format, leaving agents underinformed.

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 baseline is 3. The description adds no extra meaning beyond the schema, merely summarizing the optional nature of employees and DMs.

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 clearly states the tool opens a Sales Navigator company page and retrieves basic information, with optional employee and decision maker retrieval. It distinguishes from siblings like fetch_company and nv_fetch_person.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for Sales Navigator scenarios but does not explicitly guide when to use this tool over alternatives like fetch_company or nv_search_companies, nor does it state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nv_fetch_personB

Allows you to open a person page in Sales Navigator to retrieve their basic information (nv.openPersonPage action).

ParametersJSON Schema
NameRequiredDescriptionDefault
personHashedUrlYesHashed LinkedIn URL of the person.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description only says 'opens a person page' and retrieves 'basic information' without specifying behavioral traits like read-only nature, rate limits, or error handling.

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?

Single sentence, to the point, with no wasted words. Could be slightly more structured but is efficiently concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (1 param, no output schema), the description is adequate but lacks details on the return format or what constitutes 'basic information,' leaving some ambiguity.

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% and the parameter description is clear. The tool description adds no extra meaning beyond what the schema already provides.

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?

Clearly states the action (open person page and retrieve basic information) and the specific resource (Sales Navigator person page), distinguishing it from sibling fetch_person by specifying Sales Navigator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like fetch_person or nv_search_people. Does not mention exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nv_get_conversationA

Allows you to get a conversation with a LinkedIn person using Sales Navigator messaging.

ParametersJSON Schema
NameRequiredDescriptionDefault
personUrlYesThe LinkedIn URL of the person whose conversation you want to poll (e.g., 'https://www.linkedin.com/in/john-doe')
sinceNoOptional ISO 8601 timestamp to only retrieve messages since this date (e.g., '2024-01-15T10:30:00Z'). If not provided, the entire conversation history will be returned.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only says 'get a conversation' implying read-only, but no mention of rate limits, auth needs, error handling, or whether the conversation is created automatically. Minimal behavioral disclosure.

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?

Single sentence, 14 words, front-loaded with key action. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations or output schema exist. Description explains what the tool does but does not describe return format, pagination, or error scenarios. Adequate for a simple read operation but lacks completeness.

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%. Both parameters have clear descriptions with examples. The tool description adds no additional parameter info, so 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?

Clearly states the action ('get'), resource ('conversation with a LinkedIn person'), and context ('using Sales Navigator messaging'). Distinguishes from sibling like 'get_conversation' (non-Sales Navigator) and 'nv_send_message' (send vs get).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies use for Sales Navigator conversations, but no explicit when-to-use, when-not, or alternatives among siblings. Agent must infer from name and context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nv_search_companiesB

Allows you to search for companies in Sales Navigator applying various filtering criteria. (nv.searchCompanies action).

ParametersJSON Schema
NameRequiredDescriptionDefault
termNoOptional. Keyword or phrase to search.
limitNoOptional. Number of search results to return. Defaults to 25, with a maximum value of 1000.
filterNoOptional. Object that specifies filtering criteria for companies. When multiple filter fields are specified, they are combined using AND logic.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the search action without disclosing behavioral traits like read-only nature, result limits beyond the schema defaults, or any side effects.

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 description is very short, front-loaded with the purpose, and contains no wasted words. However, it lacks structure such as listing filter types or providing usage hints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is too minimal. It does not explain return format, pagination behavior beyond schema defaults, or any limitations of the search, which is incomplete for a tool with nested filters.

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 the schema already explains parameters. The description adds no additional meaning beyond 'various filtering criteria', which is redundant.

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 clearly states the verb 'search', the resource 'companies', and the scope 'in Sales Navigator' with filtering criteria. It distinguishes itself from sibling tools like 'nv_search_people' and 'search_companies'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternatives are mentioned. The description does not help an agent decide between this and similar tools like 'search_companies'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nv_search_peopleB

Allows you to search people in Sales Navigator applying various filtering criteria. (nv.searchPeople action).

ParametersJSON Schema
NameRequiredDescriptionDefault
termNoOptional. Keyword or phrase to search.
limitNoOptional. Number of search results to return. Defaults to 25, with a maximum value of 2500.
filterNoOptional. Object that specifies filtering criteria for people. When multiple filter fields are specified, they are combined using AND logic.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the tool allows searching with filters, omitting behavioral traits like read-only nature, authentication requirements, rate limits, or return format. The description adds minimal transparent context beyond the name.

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

Conciseness3/5

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

The description is very concise (one sentence plus action reference) but lacks detail. It is front-loaded but insufficiently informative for a tool with a nested filter object. Could be improved with brief usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, nested filter with multiple fields) and no output schema, the description is incomplete. It does not mention pagination, response format, or any limitations. The schema provides parameter details but behavioral and output context are missing.

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?

All parameters (term, limit, filter) are fully described in the input schema (100% coverage). The description adds no additional meaning, such as clarifying the term as keyword search or the AND logic for filters, which is already in 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?

The description clearly specifies the verb 'search' and resource 'people in Sales Navigator', distinguishing it from sibling tools like nv_search_companies and the non-nv search_people. The action reference (nv.searchPeople) reinforces the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies it is for Sales Navigator people searches but does not explicitly state when to use this over alternatives like search_people or nv_search_companies. No when-not-to guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nv_send_messageB

Allows you to send a message to a person in Sales Navigator (nv.sendMessage action)

ParametersJSON Schema
NameRequiredDescriptionDefault
personUrlYesLinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe')
textYesThe message text, must be up to 1900 characters.
subjectYesSubject line, must be up to 80 characters.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description fails to disclose any behavioral traits such as authentication requirements, rate limits, or side effects. It only states the action, leaving the agent uninformed about important behavioral aspects.

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 description is a single, front-loaded sentence that efficiently communicates the core purpose. It is concise, though it could include more detail without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 required params, no output schema, no annotations), the description is too minimal. It omits crucial context such as prerequisites, success/failure behavior, or any constraints beyond character limits.

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% with clear descriptions for each parameter (personUrl, text, subject). The description adds no additional meaning beyond the schema, so a baseline score of 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?

The description clearly states the action ('send a message') and the resource ('a person in Sales Navigator'), effectively distinguishing it from the generic sibling tool 'send_message' by specifying the Sales Navigator context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'send_message' or other messaging-related tools. The description lacks context for when to choose it over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

react_to_postB

Allows you to react to a post using any available reaction type (st.reactToPost action).

ParametersJSON Schema
NameRequiredDescriptionDefault
postUrlYesLinkedIn URL of the post to react. (e.g., 'https://www.linkedin.com/posts/username_activity-id')
typeYesEnum describing the reaction type.
companyUrlNoLinkedIn company page URL. If specified, the reaction will be added on behalf of the company. (e.g., 'https://www.linkedin.com/company/acme-corp')

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It does not disclose that this is a mutating action (it implies modification but no explicit statement of side effects), nor does it mention authentication needs, rate limits, or what happens to the post.

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 description is a single, efficient sentence that is front-loaded with the purpose. It wastes no words, though it could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and the mutating nature of the tool, the description is too sparse. It fails to explain return values, error handling, or behavioral context needed for reliable selection.

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?

Input schema coverage is 100% with clear descriptions for all parameters. The description adds no extra semantic value beyond the schema, so it meets the baseline of 3.

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 clearly states the action (react) and the resource (post), and distinguishes from sibling tools like comment_on_post or create_post by focusing on reactions. It also mentions that multiple reaction types are available.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no context about when not to use it. It simply states the action without contextual usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_connectionB

Allows you to remove a person from your connections (st.removeConnection action).

ParametersJSON Schema
NameRequiredDescriptionDefault
personUrlYesPublic or hashed LinkedIn URL of the person you want to remove from your connections. (e.g., 'https://www.linkedin.com/in/john-doe')

TDQS

B3.3/5.0
Behavior2/5

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

The description does not disclose any behavioral traits beyond the basic action. Since no annotations are provided, the description carries the full burden of transparency. It lacks details on destructiveness, authentication requirements, rate limits, or reversibility.

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?

The description is a single, efficient sentence that conveys the core functionality without any unnecessary words. It is front-loaded and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description provides the minimum viable context. However, it lacks behavioral details (e.g., success/error outcomes, side effects) that would make it more complete. With no annotations to supplement, it falls short.

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 fully documents the single parameter (personUrl) with a clear description. The tool description adds no extra semantic information beyond what the schema provides. With 100% schema coverage, 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?

The description clearly states the tool's purpose: to remove a person from your connections. It specifies the underlying action (st.removeConnection) and implicitly differentiates from sibling tools like withdraw_connection_request which deals with pending requests.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., withdraw_connection_request). There are no prerequisites or exclusions mentioned, leaving the agent to infer usage context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retrieve_connectionsC

allows you to retrieve your connections and perform additional person-related actions if needed (st.retrieveConnections action).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional. Number of connections to return. Defaults to 10, with a maximum value of 1000.
sinceNoOptional. ISO date string that filters connections to only include those made on or after the specified date. Only works when filter is not provided.
filterNoOptional. Object that specifies filtering criteria for people. When multiple filter fields are specified, they are combined using AND logic.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral aspects. It mentions retrieval, but does not clarify side effects (none expected), rate limits, or the ambiguous 'additional person-related actions'. The parenthetical internal action name adds no value for the agent.

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 description is very short at one sentence, which is concise. However, the inclusion of the parenthetical '(st.retrieveConnections action)' is unnecessary and slightly disrupts readability. It could be removed for better structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a nested filter object and no output schema, yet the description does not explain what the response contains (e.g., list of connection objects). It also does not elaborate on the 'additional person-related actions', leaving gaps in completeness.

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 has 100% description coverage, so the schema already explains parameters like limit, since, and filter. The description adds no extra meaning, merely restating the purpose. A baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves your connections, which is the core purpose. However, it does not differentiate from sibling tools like check_connection_status or remove_connection, and the phrase 'perform additional person-related actions if needed' is vague and lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like search_people or retrieve_pending_requests. The description simply states what it does without any when-to-use or when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retrieve_pending_requestsA

Allows you to retrieve pending connection requests sent from your account. (st.retrievePendingRequests action).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic purpose. It fails to mention that the operation is read-only or any other relevant behavior.

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?

The description is a single clear sentence with no wasted words, plus the action name in parentheses for further clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is adequate for a simple retrieval tool, but it could be more complete by noting it returns a list or is read-only.

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?

The input schema has 0 parameters with 100% coverage, so the description does not need to add parameter info. The baseline score of 4 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?

The description clearly states the verb 'retrieve' and the resource 'pending connection requests', with scope 'sent from your account'. It distinguishes from siblings like 'retrieve_connections' and 'withdraw_connection_request'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'retrieve_connections' or 'check_connection_status'. It lacks contextual usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retrieve_performanceB

Allows you to retrieve performance analytics from your LinkedIn dashboard (st.retrievePerformance action).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully convey behavioral traits. It only states retrieval, implying read-only, but does not explicitly disclose permissions, rate limits, or whether the action is destructive. The lack of detail fails to adequately inform the agent.

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 description is a single sentence that is front-loaded and contains no redundant information. It is efficient for the purpose, but could benefit from slightly more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and zero parameters, the description should explain what performance analytics entail (e.g., metrics, time ranges). It fails to provide this context, leaving the agent unaware of what the tool returns. For a simple retrieval, it is incomplete.

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?

The input schema has zero parameters and 100% coverage. The description adds no parameter information, which is acceptable since there are none. Following the baseline rule for 0 parameters, a score of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves 'performance analytics from your LinkedIn dashboard', which is a specific verb+resource. It differentiates from sibling tools like retrieve_connections or retrieve_ssi. However, it does not specify what kind of performance (e.g., post, account), leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool vs alternatives. No when-not conditions or exclusions are mentioned. The agent must infer usage solely from the tool name and description, which is insufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retrieve_ssiB

Allows you to retrieve your current SSI (Social Selling Index) (st.retrieveSSI action).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations provided, so description carries the burden. It indicates a read operation, but fails to mention data freshness, authentication needs, or any constraints. Adequate for a simple retrieval but lacks depth.

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?

Single sentence, no fluff. Extremely concise and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description does not explain what the returned SSI value looks like. While the task is simple, the omission of output details reduces completeness.

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?

No parameters in the schema, and description coverage is 100%. The description adds no parameter semantics, but given zero parameters, it is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly indicates the tool retrieves the user's current SSI score. It uses a specific verb and resource, but does not differentiate from similar tools like retrieve_performance or retrieve_connections.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor any conditions or exclusions. The description does not provide context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_companiesC

Allows you to search for companies applying various filtering criteria (st.searchCompanies action).

ParametersJSON Schema
NameRequiredDescriptionDefault
termNoOptional. Keyword or phrase to search.
limitNoOptional. Number of search results to return. Defaults to 10, with a maximum value of 1000.
filterNoOptional. Object that specifies filtering criteria for companies. When multiple filter fields are specified, they are combined using AND logic.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must carry the full burden, but it merely restates the search action. It omits behavioral traits such as mutability, authorization needs, rate limits, or return structure, providing minimal transparency.

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 description is a single sentence with the main action front-loaded. The parenthetical action name is slightly redundant but does not hinder clarity. It is efficient and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the nested filter parameter and lack of output schema, the description should clarify return format, pagination, or behavior when no results are found. It fails to provide these essential details, leaving the agent underinformed.

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 baseline is 3. The description adds 'various filtering criteria' but does not elaborate beyond what the schema already documents. No extra semantic value is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for companies with filtering criteria, using a specific verb and resource. However, it does not differentiate from sibling tools like 'nv_search_companies', which likely have similar behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'search_people' or 'nv_search_companies'. There is no mention of prerequisites, exclusions, or context for appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_peopleC

Allows you to search people applying various filtering criteria (st.searchPeople action).

ParametersJSON Schema
NameRequiredDescriptionDefault
termNoOptional. Keyword or phrase to search.
limitNoOptional. Number of search results to return. Defaults to 10, with a maximum value of 1000.
filterNoOptional. Object that specifies filtering criteria for people. When multiple filter fields are specified, they are combined using AND logic.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral disclosure burden. It only states the action without detailing rate limits, pagination, default behavior (e.g., whether term is required), or result structure. This leaves significant gaps for the agent.

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?

Single sentence is concise and front-loaded with action and resource. However, it lacks structure like usage examples or breakdown, but it is efficiently short.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complex tool with optional parameters (3 top-level, nested object with 8 fields). No output schema, so agent cannot infer return shape. Description does not explain default behavior when no parameters provided or how to combine term and filter. Incomplete for safe autonomous invocation.

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 baseline is 3. The description adds 'applying various filtering criteria' which hints at the filter object, but doesn't clarify nuances beyond what the schema already provides (e.g., AND logic is in schema). No additional semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'search' and resource 'people', and mentions filtering criteria. It distinguishes from 'fetch_person' (single) but not from sibling 'nv_search_people', which has identical name. However, the base purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool over alternatives like 'nv_search_people', 'fetch_person', or 'retrieve_connections'. Missing context for optimal selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_connection_requestC

Allows you to send a connection request to a person (st.sendConnectionRequest action).

ParametersJSON Schema
NameRequiredDescriptionDefault
personUrlYesPublic or hashed LinkedIn URL of the person you want to send a connection request to. (e.g., 'https://www.linkedin.com/in/john-doe')
noteNoOptional. Note to include with the connection request.
emailNoOptional. Email address required by some people for sending connection requests to them. If it is required and not provided, the connection request will fail.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only says 'send a connection request' without disclosing behavioral traits like side effects, notifications, rate limits, or failure conditions. This is insufficient for a mutation tool.

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 description is a single sentence, concise and front-loaded. However, it includes a redundant internal action reference 'st.sendConnectionRequest action' that adds no value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and 3 parameters, the description is too minimal. It lacks information about the response format, error handling, or how this tool fits among many siblings. The agent would need additional context to use it effectively.

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 baseline is 3. The description adds no extra meaning to parameters beyond what the schema already provides. It does not explain the optional note's impact or the email requirement context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends a connection request to a person, using a specific verb and resource. It differentiates from sibling tools like withdraw_connection_request. However, it could be more explicit about the platform (LinkedIn) and scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no usage guidance. It does not indicate when to use this tool versus alternatives like check_connection_status or send_message. No prerequisites or contexts are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_messageC

Allows you to send a message to a person (st.sendMessage action).

ParametersJSON Schema
NameRequiredDescriptionDefault
personUrlYesLinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe')
textYesThe message text, must be up to 1900 characters.

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavior. It only repeats the action without mentioning side effects, authentication needs, or whether it opens a new conversation or replies to an existing one.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but lacks important structural information like parameter groupings or use cases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of a very similar sibling tool 'nv_send_message' and no output schema, the description fails to provide differentiating context or explain the outcome of sending a message.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are documented. However, the description adds no additional meaning beyond the schema (e.g., constraints on message context or formatting).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (sending a message) and the target (a person), but does not differentiate from the sibling tool 'nv_send_message' with a very similar name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'nv_send_message' or when not to use it. Missing any context about prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

withdraw_connection_requestB

Allows you to withdraw the connection request sent to a person (st.withdrawConnectionRequest action).

ParametersJSON Schema
NameRequiredDescriptionDefault
personUrlYesPublic or hashed LinkedIn URL of the person you want to withdraw the connection request from. (e.g., 'https://www.linkedin.com/in/john-doe')
unfollowNoOptional. Boolean indicating whether you want to unfollow the person when withdrawing the request. The default value is true.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like side effects or permissions, but it only restates the action. Missing details on whether the sender is notified or if there are rate limits.

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?

One sentence, no wasted words. However, it is slightly under-specified for a tool without annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (2 params, no output schema), the description barely covers the basic purpose. Lacks usage guidance and behavioral transparency, making it barely adequate.

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?

Input schema coverage is 100%, so the schema already explains both parameters. The description adds no extra meaning beyond the schema, so 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?

The description clearly states the verb 'withdraw' and the resource 'connection request sent to a person', distinguishing it from sibling tools like send_connection_request and remove_connection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives are provided. The description assumes the agent knows when to withdraw a request, and there is no comparison with similar sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updatesv0.3.4
    • Addedadmin_connect_account
    • Addedadmin_disconnect_account
    • Addedadmin_get_accounts
    • Addedadmin_get_limits_usage
    • Addedadmin_get_seats
    • Addedadmin_get_subscription_status
    • Addedadmin_regenerate_token
    • Addedadmin_reset_limits
    • Addedadmin_set_limits
    • Addedadmin_set_seats
    • Changedcomment_on_post1 field changed
      • addedInput schema / properties / companyUrl
        Added value: +{
        +  "description": "LinkedIn company page URL. If specified, the comment will be added on behalf of the company. (e.g., 'https://www.linkedin.com/company/acme-corp')",
        +  "type": "string"
        +}
    • Changedfetch_company6 fields changed
      • removedInput schema / properties / dmRetrievalConfig
        Removed value: -{
        -  "description": "Optional. Configuration for retrieving decision makers. Available only if retrieveDMs is true.",
        -  "properties": {
        -    "limit": {
        -      "description": "Optional. Number of decision makers to retrieve. Defaults to 20, with a maximum value of 20. If a company has fewer decision makers than specified, only the available ones will be returned.",
        -      "type": "number"
        -    }
        -  },
        -  "type": "object"
        -}
      • addedInput schema / properties / dmsRetrievalConfig
        Added value: +{
        +  "description": "Optional. Configuration for retrieving decision makers. Available only if retrieveDMs is true.",
        +  "properties": {
        +    "limit": {
        +      "description": "Optional. Number of decision makers to retrieve. Defaults to 20, with a maximum value of 20. If a company has fewer decision makers than specified, only the available ones will be returned.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • removedInput schema / properties / employeeRetrievalConfig
        Removed value: -{
        -  "description": "Optional. Configuration for retrieving employees. Available only if retrieveEmployees is true.",
        -  "properties": {
        -    "filter": {
        -      "description": "Optional. Object that specifies filtering criteria for employees. When multiple filter fields are specified, they are combined using AND logic.",
        -      "properties": {
        -        "firstName": {
        -          "description": "Optional. First name of employee.",
        -          "type": "string"
        -        },
        -        "industries": {
        -          "description": "Optional. Array of enums representing industries. Matches if employee works in any of the listed industries. Takes specific values available in the LinkedIn interface.",
        -          "items": {
        -            "type": "string"
        -          },
        -          "type": "array"
        -        },
        -        "lastName": {
        -          "description": "Optional. Last name of employee.",
        -          "type": "string"
        -        },
        -        "locations": {
        -          "description": "Optional. Array of free-form strings representing locations. Matches if employee is located in any of the listed locations.",
        -          "items": {
        -            "type": "string"
        -          },
        -          "type": "array"
        -        },
        -        "position": {
        -          "description": "Optional. Job position of employee.",
        -          "type": "string"
        -        },
        -        "schools": {
        -          "description": "Optional. Array of institution names. Matches if employee currently attends or previously attended any of the listed institutions.",
        -          "items": {
        -            "type": "string"
        -          },
        -          "type": "array"
        -        }
        -      },
        -      "type": "object"
        -    },
        -    "limit": {
        -      "description": "Optional. Maximum number of employees to retrieve. Defaults to 500, with a maximum value of 500.",
        -      "type": "number"
        -    }
        -  },
        -  "type": "object"
        -}
      • addedInput schema / properties / employeesRetrievalConfig
        Added value: +{
        +  "description": "Optional. Configuration for retrieving employees. Available only if retrieveEmployees is true.",
        +  "properties": {
        +    "filter": {
        +      "description": "Optional. Object that specifies filtering criteria for employees. When multiple filter fields are specified, they are combined using AND logic.",
        +      "properties": {
        +        "firstName": {
        +          "description": "Optional. First name of employee.",
        +          "type": "string"
        +        },
        +        "industries": {
        +          "description": "Optional. Array of enums representing industries. Matches if employee works in any of the listed industries. Takes specific values available in the LinkedIn interface.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "lastName": {
        +          "description": "Optional. Last name of employee.",
        +          "type": "string"
        +        },
        +        "locations": {
        +          "description": "Optional. Array of free-form strings representing locations. Matches if employee is located in any of the listed locations.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "position": {
        +          "description": "Optional. Job position of employee.",
        +          "type": "string"
        +        },
        +        "schools": {
        +          "description": "Optional. Array of institution names. Matches if employee currently attends or previously attended any of the listed institutions.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "limit": {
        +      "description": "Optional. Maximum number of employees to retrieve. Defaults to 500, with a maximum value of 500.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • removedInput schema / properties / postRetrievalConfig
        Removed value: -{
        -  "description": "Optional. Configuration for retrieving posts. Available only if retrievePosts is true.",
        -  "properties": {
        -    "limit": {
        -      "description": "Optional. Number of posts to retrieve. Defaults to 20, with a maximum value of 20.",
        -      "type": "number"
        -    },
        -    "since": {
        -      "description": "Optional. ISO 8601 timestamp to filter posts published after the specified time.",
        -      "type": "string"
        -    }
        -  },
        -  "type": "object"
        -}
      • addedInput schema / properties / postsRetrievalConfig
        Added value: +{
        +  "description": "Optional. Configuration for retrieving posts. Available only if retrievePosts is true.",
        +  "properties": {
        +    "limit": {
        +      "description": "Optional. Number of posts to retrieve. Defaults to 20, with a maximum value of 20.",
        +      "type": "number"
        +    },
        +    "since": {
        +      "description": "Optional. ISO 8601 timestamp to filter posts published after the specified time.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedfetch_person4 fields changed
      • removedInput schema / properties / commentRetrievalConfig
        Removed value: -{
        -  "description": "Optional. Configuration for retrieving comments. Available only if retrieveComments is true.",
        -  "properties": {
        -    "limit": {
        -      "description": "Optional. Number of comments to retrieve. Defaults to 20, with a maximum value of 20.",
        -      "type": "number"
        -    },
        -    "since": {
        -      "description": "Optional. ISO 8601 timestamp to filter comments made after the specified time.",
        -      "type": "string"
        -    }
        -  },
        -  "type": "object"
        -}
      • addedInput schema / properties / commentsRetrievalConfig
        Added value: +{
        +  "description": "Optional. Configuration for retrieving comments. Available only if retrieveComments is true.",
        +  "properties": {
        +    "limit": {
        +      "description": "Optional. Number of comments to retrieve. Defaults to 20, with a maximum value of 20.",
        +      "type": "number"
        +    },
        +    "since": {
        +      "description": "Optional. ISO 8601 timestamp to filter comments made after the specified time.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • removedInput schema / properties / reactionRetrievalConfig
        Removed value: -{
        -  "description": "Optional. Configuration for retrieving reactions. Available only if retrieveReactions is true.",
        -  "properties": {
        -    "limit": {
        -      "description": "Optional. Number of reactions to retrieve. Defaults to 20, with a maximum value of 20.",
        -      "type": "number"
        -    },
        -    "since": {
        -      "description": "Optional. ISO 8601 timestamp to filter reactions made after the specified time.",
        -      "type": "string"
        -    }
        -  },
        -  "type": "object"
        -}
      • addedInput schema / properties / reactionsRetrievalConfig
        Added value: +{
        +  "description": "Optional. Configuration for retrieving reactions. Available only if retrieveReactions is true.",
        +  "properties": {
        +    "limit": {
        +      "description": "Optional. Number of reactions to retrieve. Defaults to 20, with a maximum value of 20.",
        +      "type": "number"
        +    },
        +    "since": {
        +      "description": "Optional. ISO 8601 timestamp to filter reactions made after the specified time.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changednv_fetch_company4 fields changed
      • removedInput schema / properties / dmRetrievalConfig
        Removed value: -{
        -  "description": "Optional. Configuration for retrieving decision makers. Available only if retrieveDMs is true.",
        -  "properties": {
        -    "limit": {
        -      "description": "Optional. Number of decision makers to retrieve. Defaults to 20, with a maximum value of 20. If a company has fewer decision makers than specified, only the available ones will be returned.",
        -      "type": "number"
        -    }
        -  },
        -  "type": "object"
        -}
      • addedInput schema / properties / dmsRetrievalConfig
        Added value: +{
        +  "description": "Optional. Configuration for retrieving decision makers. Available only if retrieveDMs is true.",
        +  "properties": {
        +    "limit": {
        +      "description": "Optional. Number of decision makers to retrieve. Defaults to 20, with a maximum value of 20. If a company has fewer decision makers than specified, only the available ones will be returned.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • removedInput schema / properties / employeeRetrievalConfig
        Removed value: -{
        -  "description": "Optional. Configuration for retrieving employees. Available only if retrieveEmployees is true.",
        -  "properties": {
        -    "filter": {
        -      "description": "Optional. Object that specifies filtering criteria for employees. When multiple filter fields are specified, they are combined using AND logic.",
        -      "properties": {
        -        "firstName": {
        -          "description": "Optional. First name of employee.",
        -          "type": "string"
        -        },
        -        "industries": {
        -          "description": "Optional. Array of enums representing industries. Matches if employee works in any of the listed industries. Takes specific values available in the LinkedIn interface.",
        -          "items": {
        -            "type": "string"
        -          },
        -          "type": "array"
        -        },
        -        "lastName": {
        -          "description": "Optional. Last name of employee.",
        -          "type": "string"
        -        },
        -        "locations": {
        -          "description": "Optional. Array of free-form strings representing locations. Matches if employee is located in any of the listed locations.",
        -          "items": {
        -            "type": "string"
        -          },
        -          "type": "array"
        -        },
        -        "positions": {
        -          "description": "Optional. Array of job position names. Matches if employee's current position is any of the listed options.",
        -          "items": {
        -            "type": "string"
        -          },
        -          "type": "array"
        -        },
        -        "schools": {
        -          "description": "Optional. Array of institution names. Matches if employee currently attends or previously attended any of the listed institutions.",
        -          "items": {
        -            "type": "string"
        -          },
        -          "type": "array"
        -        },
        -        "yearsOfExperiences": {
        -          "description": "Optional. Array of enums representing professional experience. Matches if employee's experience falls within any of the listed ranges.",
        -          "items": {
        -            "enum": [
        -              "lessThanOne",
        -              "oneToTwo",
        -              "threeToFive",
        -              "sixToTen",
        -              "moreThanTen"
        -            ],
        -            "type": "string"
        -          },
        -          "type": "array"
        -        }
        -      },
        -      "type": "object"
        -    },
        -    "limit": {
        -      "description": "Optional. Maximum number of employees to retrieve. Defaults to 500, with a maximum value of 500.",
        -      "type": "number"
        -    }
        -  },
        -  "type": "object"
        -}
      • addedInput schema / properties / employeesRetrievalConfig
        Added value: +{
        +  "description": "Optional. Configuration for retrieving employees. Available only if retrieveEmployees is true.",
        +  "properties": {
        +    "filter": {
        +      "description": "Optional. Object that specifies filtering criteria for employees. When multiple filter fields are specified, they are combined using AND logic.",
        +      "properties": {
        +        "firstName": {
        +          "description": "Optional. First name of employee.",
        +          "type": "string"
        +        },
        +        "industries": {
        +          "description": "Optional. Array of enums representing industries. Matches if employee works in any of the listed industries. Takes specific values available in the LinkedIn interface.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "lastName": {
        +          "description": "Optional. Last name of employee.",
        +          "type": "string"
        +        },
        +        "locations": {
        +          "description": "Optional. Array of free-form strings representing locations. Matches if employee is located in any of the listed locations.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "positions": {
        +          "description": "Optional. Array of job position names. Matches if employee's current position is any of the listed options.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "schools": {
        +          "description": "Optional. Array of institution names. Matches if employee currently attends or previously attended any of the listed institutions.",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "yearsOfExperiences": {
        +          "description": "Optional. Array of enums representing professional experience. Matches if employee's experience falls within any of the listed ranges.",
        +          "items": {
        +            "enum": [
        +              "lessThanOne",
        +              "oneToTwo",
        +              "threeToFive",
        +              "sixToTen",
        +              "moreThanTen"
        +            ],
        +            "type": "string"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "limit": {
        +      "description": "Optional. Maximum number of employees to retrieve. Defaults to 500, with a maximum value of 500.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedreact_to_post1 field changed
      • addedInput schema / properties / companyUrl
        Added value: +{
        +  "description": "LinkedIn company page URL. If specified, the reaction will be added on behalf of the company. (e.g., 'https://www.linkedin.com/company/acme-corp')",
        +  "type": "string"
        +}
    • Changedretrieve_connections1 field changed
      • addedInput schema / properties / since
        Added value: +{
        +  "description": "Optional. ISO date string that filters connections to only include those made on or after the specified date. Only works when filter is not provided.",
        +  "type": "string"
        +}
  2. 18 tool updatesv1.0.0
    • Addedcreate_post
    • Changedfetch_company3 fields changed
      • addedInput schema / properties / employeeRetrievalConfig / properties / filter / properties / industries / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / employeeRetrievalConfig / properties / filter / properties / locations / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / employeeRetrievalConfig / properties / filter / properties / schools / items
        Added value: +{
        +  "type": "string"
        +}
    • Changedfetch_post4 fields changed
      • addedInput schema / properties / commentsRetrievalConfig
        Added value: +{
        +  "description": "Optional. Applies only when retrieveComments is true. Controls comments retrieval (limit, replies, sort).",
        +  "properties": {
        +    "limit": {
        +      "description": "Optional. Max number of comments to retrieve. Defaults to 10, with a maximum value of 500.",
        +      "type": "number"
        +    },
        +    "replies": {
        +      "description": "Optional. When true, include replies to comments (threaded).",
        +      "type": "boolean"
        +    },
        +    "sort": {
        +      "description": "Optional. Sort order for comments. One of 'mostRelevant' or 'mostRecent'.",
        +      "enum": [
        +        "mostRelevant",
        +        "mostRecent"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / reactionsRetrievalConfig
        Added value: +{
        +  "description": "Optional. Applies only when retrieveReactions is true. Controls reactions retrieval (limit).",
        +  "properties": {
        +    "limit": {
        +      "description": "Optional. Max number of reactions to retrieve. Defaults to 10, with a maximum value of 1000.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / retrieveComments
        Added value: +{
        +  "description": "Optional. When true, also retrieve comments for the post. Configure via commentsRetrievalConfig.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / retrieveReactions
        Added value: +{
        +  "description": "Optional. When true, also retrieve reactions for the post. Configure via reactionsRetrievalConfig.",
        +  "type": "boolean"
        +}
    • Addedget_api_usage
    • Removedget_api_usage_stats
    • Addedget_conversation
    • Changedget_workflow_result3 fields changed
      • addedInput schema / properties / operationName
        Added value: +{
        +  "description": "Optional function name for proper type restoration (provided in background workflow status if available)",
        +  "type": "string"
        +}
      • addedInput schema / properties / workflowId / description
        Added value: +"The workflow ID provided in the background workflow status message"
      • changedInput schema / required
        Previous value: -[
        -  "workflowId"
        -]New value: +[
        +  "workflowId",
        +  "operationName"
        +]
    • Changednv_fetch_company6 fields changed
      • addedInput schema / properties / employeeRetrievalConfig / properties / filter / properties / industries / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / employeeRetrievalConfig / properties / filter / properties / locations / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / employeeRetrievalConfig / properties / filter / properties / positions / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / employeeRetrievalConfig / properties / filter / properties / schools / items
        Added value: +{
        +  "type": "string"
        +}
      • removedInput schema / properties / employeeRetrievalConfig / properties / filter / properties / yearsOfExperiences / enum
        Removed value: -[
        -  "lessThanOne",
        -  "oneToTwo",
        -  "threeToFive",
        -  "sixToTen",
        -  "moreThanTen"
        -]
      • addedInput schema / properties / employeeRetrievalConfig / properties / filter / properties / yearsOfExperiences / items
        Added value: +{
        +  "enum": [
        +    "lessThanOne",
        +    "oneToTwo",
        +    "threeToFive",
        +    "sixToTen",
        +    "moreThanTen"
        +  ],
        +  "type": "string"
        +}
    • Addednv_get_conversation
    • Changednv_search_companies5 fields changed
      • addedInput schema / properties / filter / properties / industries / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / locations / items
        Added value: +{
        +  "type": "string"
        +}
      • removedInput schema / properties / filter / properties / sizes / enum
        Removed value: -[
        -  "1-10",
        -  "11-50",
        -  "51-200",
        -  "201-500",
        -  "501-1000",
        -  "1001-5000",
        -  "5001-10000",
        -  "10001+"
        -]
      • addedInput schema / properties / filter / properties / sizes / items
        Added value: +{
        +  "enum": [
        +    "1-10",
        +    "11-50",
        +    "51-200",
        +    "201-500",
        +    "501-1000",
        +    "1001-5000",
        +    "5001-10000",
        +    "10001+"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Optional. Number of search results to return. Defaults to 10, with a maximum value of 100."New value: +"Optional. Number of search results to return. Defaults to 25, with a maximum value of 1000."
    • Changednv_search_people8 fields changed
      • addedInput schema / properties / filter / properties / currentCompanies / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / industries / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / locations / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / previousCompanies / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / schools / items
        Added value: +{
        +  "type": "string"
        +}
      • removedInput schema / properties / filter / properties / yearsOfExperiences / enum
        Removed value: -[
        -  "lessThanOne",
        -  "oneToTwo",
        -  "threeToFive",
        -  "sixToTen",
        -  "moreThanTen"
        -]
      • addedInput schema / properties / filter / properties / yearsOfExperiences / items
        Added value: +{
        +  "enum": [
        +    "lessThanOne",
        +    "oneToTwo",
        +    "threeToFive",
        +    "sixToTen",
        +    "moreThanTen"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Optional. Number of search results to return. Defaults to 10, with a maximum value of 100."New value: +"Optional. Number of search results to return. Defaults to 25, with a maximum value of 2500."
    • Removednv_sync_conversation
    • Removedpoll_conversations
    • Removedrestore_workflow
    • Changedretrieve_connections6 fields changed
      • addedInput schema / properties / filter / properties / currentCompanies / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / industries / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / locations / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / previousCompanies / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / schools / items
        Added value: +{
        +  "type": "string"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Optional. Number of connections to return. Defaults to 500, with a maximum value of 1000."New value: +"Optional. Number of connections to return. Defaults to 10, with a maximum value of 1000."
    • Changedsearch_companies5 fields changed
      • addedInput schema / properties / filter / properties / industries / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / locations / items
        Added value: +{
        +  "type": "string"
        +}
      • removedInput schema / properties / filter / properties / sizes / enum
        Removed value: -[
        -  "1-10",
        -  "11-50",
        -  "51-200",
        -  "201-500",
        -  "501-1000",
        -  "1001-5000",
        -  "5001-10000",
        -  "10001+"
        -]
      • addedInput schema / properties / filter / properties / sizes / items
        Added value: +{
        +  "enum": [
        +    "1-10",
        +    "11-50",
        +    "51-200",
        +    "201-500",
        +    "501-1000",
        +    "1001-5000",
        +    "5001-10000",
        +    "10001+"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Optional. Number of search results to return. Defaults to 10, with a maximum value of 100."New value: +"Optional. Number of search results to return. Defaults to 10, with a maximum value of 1000."
    • Changedsearch_people7 fields changed
      • changedInput schema / properties / filter / description
        Previous value: -"Optional. Object that specifi es filtering criteria for people. When multiple filter fields are specified, they are combined using AND logic."New value: +"Optional. Object that specifies filtering criteria for people. When multiple filter fields are specified, they are combined using AND logic."
      • addedInput schema / properties / filter / properties / currentCompanies / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / industries / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / locations / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / previousCompanies / items
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / filter / properties / schools / items
        Added value: +{
        +  "type": "string"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Optional. Number of search results to return. Defaults to 10, with a maximum value of 100."New value: +"Optional. Number of search results to return. Defaults to 10, with a maximum value of 1000."
    • Removedsync_conversation
  3. 28 tool updates
    • First observedcheck_connection_status
    • First observedcomment_on_post
    • First observedexecute_custom_workflow
    • First observedfetch_company
    • First observedfetch_person
    • First observedfetch_post
    • First observedget_api_usage_stats
    • First observedget_workflow_result
    • First observednv_fetch_company
    • First observednv_fetch_person
    • First observednv_search_companies
    • First observednv_search_people
    • First observednv_send_message
    • First observednv_sync_conversation
    • First observedpoll_conversations
    • First observedreact_to_post
    • First observedremove_connection
    • First observedrestore_workflow
    • First observedretrieve_connections
    • First observedretrieve_pending_requests
    • First observedretrieve_performance
    • First observedretrieve_ssi
    • First observedsearch_companies
    • First observedsearch_people
    • First observedsend_connection_request
    • First observedsend_message
    • First observedsync_conversation
    • First observedwithdraw_connection_request

TDQS

B3.1/5.0

Scored across 37 tools

Disambiguation5/5

Each tool targets a distinct action or domain (admin, standard LinkedIn, Sales Navigator) with clear descriptions. Overlapping functions like fetch_person vs nv_fetch_person are disambiguated by the platform context.

Naming Consistency5/5

Tool names follow a consistent snake_case pattern with prefixes (admin_, nv_) to indicate scope, and plain verbs for standard LinkedIn. This pattern is predictable and aids tool selection.

Tool Count2/5

With 37 tools, the count exceeds the 25+ threshold, making it feel heavy. While the server aims to cover LinkedIn comprehensively, a more modular split (e.g., separate admin, standard, and Sales Navigator servers) could improve coherence.

Completeness3/5

Covers most core LinkedIn actions (posts, messages, connections, search, admin) but lacks explicit tools for accepting connection requests or managing groups, leaving minor gaps.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Self-hosted, ban-safe MCP server for LinkedIn that provides 22 tools for profiles, search, jobs, posts, connections, and messages. Integrates with any MCP-compatible client like Claude Desktop.
    58
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for AI-native LinkedIn prospecting. It enables lead research, audience building, conversation management, and controlled outreach actions such as messaging and publishing through an OAuth-protected remote endpoint.
    2
    MIT