Skip to main content
Glama
ertiqah
by ertiqah

LiGo + LinkedIn MCP Runner

How it works

The first GPT-powered creative co-pilot trained on your actual LinkedIn content.

Create posts. Analyze what’s working. Rewrite in your voice. All from Claude or ChatGPT, powered by your own past posts.


What is this?

This is the official runner repo for LiGo’s Model Context Protocol (MCP) - a protocol that lets GPT-based assistants pull your LinkedIn context and respond like a strategist. It works with both Claude and ChatGPT.

With MCP, your assistant can answer things like:

  • Which of your last posts got the most traction

  • What your writing tone actually sounds like

  • How to help you post, rewrite, or brainstorm like a founder

Just talk to it normally (if you know how to do that - no judging if you don't, btw). It has access to all your PUBLIC Linkedin data (with your consent, of course).


Related MCP server: linkedctl

How to Get Started

Claude Setup

  1. Download the Claude desktop app.

  2. Visit ligo.ertiqah.com/integrations/claude

  3. Click "Generate Installation Command"

    • If not logged in, you’ll be routed to authenticate with LiGo

  4. Copy the command and run it in your terminal

  5. Open Claude and start chatting

Example prompt:

Analyze my last 5 posts. What’s working? Give me ideas on what I should write next.

ChatGPT (CustomGPT)

No installation needed.

  1. Go to ligo.ertiqah.com/integrations/chatgpt

  2. Authenticate with LiGo when prompted

  3. Start using the CustomGPT

Example prompt:

Rewrite this to sound more like my recent posts and make the hook spicier.


See It in Action: MCP Leaderboard

We showcase the latest 50 posts made using the MCP integration, complete with:

  • The full post

  • A link to the original LinkedIn post

  • The author’s name

This acts like a public feed. It’s a live demo. And yes, it creates some healthy FOMO + you get a permanent backlink to your post. SEO goes brrrr.


Why It Matters

Honestly, it's a bit of a pain keeping your GPT/Claude Project up to date with your Linkedin activity (assuming you even have one).

We thought: "Wouldn't it be nice if GPT could connect to our Linkedin profile so I could just tell it to go look at it?"

And then this happened.

But, that's not all.

It’s part of the broader LigoSocial platform, which covers commenting, analytics, CRM, and more. Go check it out.

Also Check Out


Stay Updated

This README will be the canonical source for MCP runner updates.

For feedback, improvements, or integration ideas, open an issue or reach out via ligo.ertiqah.com/contact.

Available Tools

10 tools
analyze_linkedin_chatA

Ask questions about the user's LinkedIn profile, content, or network, with support for multi-turn conversations.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe question or request about LinkedIn data to be analyzed.
conversation_historyNoOptional. Previous messages in the conversation for context. Each message must have 'role' (user/assistant) and 'content' (text).

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 of behavioral disclosure. It only mentions multi-turn conversation support but omits critical traits such as whether the tool is read-only, authentication requirements, or any side effects. Given the lack of annotations, this is insufficient.

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 that conveys the core functionality and key feature (multi-turn) efficiently. No extraneous information.

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?

The description explains what the tool does but does not specify the output format or return value, which is notable given the absence of an output schema. For a conversational Q&A tool, stating that it returns answers or analysis would improve completeness. The multi-turn support is a plus, but the overall context lacks details on behavior and 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?

The input schema has 100% coverage, with both parameters clearly described. The description adds the context of 'multi-turn conversations', which implicitly explains the conversation_history parameter, but does not provide additional meaning beyond the schema. Baseline 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 tool's purpose: 'Ask questions about the user's LinkedIn profile, content, or network' with multi-turn support. It distinguishes itself from sibling tools like get_linkedin_profile and get_linkedin_posts by focusing on analysis and conversation rather than retrieval or publishing.

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 analytical questions about LinkedIn data, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., get_linkedin_profile for raw data). No exclusion criteria or alternative references are given.

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

generate_linkedin_postA

Generate three LinkedIn post variants from any content (article, newsletter, notes, etc.) to optimize engagement.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe source content to transform into LinkedIn posts. Can be articles, emails, newsletters, notes, etc.
content_typeNoOptional. A short description of the content type (e.g., 'article', 'newsletter', 'notes'). Defaults to 'article'.

TDQS

A3.8/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 that it generates three variants for engagement, which is a read-like operation. However, it does not mention authentication requirements, rate limits, or any side effects. The output is implied but not structurally documented.

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 sentence that conveys purpose, input source, and output count. It is concise and front-loaded with the key information. Every word is purposeful and nothing is wasted.

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, the description explicitly states the output (three LinkedIn post variants), which is sufficient. The tool is simple (two parameters, one required) and the context from siblings helps. It adequately covers what the agent needs to know.

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 both parameters are already described well in the schema. The description adds no additional meaning beyond summarizing the content parameter as 'any content (article, newsletter, notes, etc.)'. 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 tool generates three LinkedIn post variants from any content to optimize engagement. It uses specific verbs ('generate') and resources ('LinkedIn post variants'), and distinguishes from siblings like publish_linkedin_post or get_linkedin_posts.

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 should be used when you have source content to transform into posts, but does not explicitly state when to use this tool versus alternatives like analyze_linkedin_chat or schedule_linkedin_post. No exclusions or when-not-to-use guidance is provided.

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

get_linkedin_postsB

Retrieve the user's recent LinkedIn posts with engagement metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional. Number of posts to retrieve (1-20). Defaults to 5.

TDQS

B3.3/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 carry the burden of behavioral disclosure. It does not mention any side effects, authentication requirements, rate limits, or whether the data is cached. The word 'recent' is vague and does not specify time window.

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 sentence that conveys the core purpose without any wasted words. It is concise and front-loaded with the action and resource.

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?

The tool is simple with one optional parameter and no output schema. The description mentions engagement metrics but does not specify what those metrics are, how results are ordered, or the time range for 'recent'. It is minimally adequate but could benefit from more detail.

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 coverage is 100% (the limit parameter is fully described). The description does not add any additional meaning to the parameter beyond what is in the schema, but the schema itself is sufficient. 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 retrieves the user's recent LinkedIn posts with engagement metrics, using a specific verb (Retrieve) and resource (posts). It distinguishes from siblings like generate_linkedin_post (creation) and publish_linkedin_post (publishing) by focusing on retrieval.

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 siblings. For example, refresh_linkedin_posts might also retrieve posts but with a different purpose. The description lacks any context for selection criteria or exclusions.

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

get_linkedin_profileA

Retrieve the user's LinkedIn profile information including headline, summary, experience, and education.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/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 correctly implies a read-only operation ('retrieve') but does not disclose any specific behavioral traits, rate limits, or authentication requirements. The description is adequate but not enhanced.

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, well-structured sentence that immediately conveys the tool's purpose. Every word adds value, with no redundancy or filler.

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 retrieval tool with no parameters and no output schema, the description lists included fields but fails to clarify which profile is retrieved (e.g., current user's profile vs. a previously set URL). Given sibling 'set_linkedin_url', additional context would improve 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?

The input schema has no parameters, and schema coverage is 100%. According to rules, 0 parameters gives a baseline of 4. The description does not need to add parameter information.

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 'LinkedIn profile information', listing specific fields like headline, summary, experience, and education. It effectively distinguishes from siblings like 'get_linkedin_posts' and 'refresh_linkedin_profile'.

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 such as 'refresh_linkedin_profile' or any prerequisites. The description lacks context about the intended use case or conditions.

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

publish_linkedin_postB

Publish a text post to LinkedIn, optionally including media (images/videos) specified by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_textYesThe text content of the LinkedIn post.
mediaNoOptional. A list of media items to attach to the post. Each item must have a 'file_url' pointing to a direct image or video URL and a 'filename'.

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided. The description only indicates a create/mutation action without disclosing side effects, error handling, rate limits, or return information.

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, front-loaded sentence with no redundancy. Efficient delivery of core purpose.

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?

Missing behavioral context (e.g., success output, error cases) and media constraints (formats, size limits). For a tool with no output schema, description should clarify return value.

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 covers both parameters with descriptions. The description slightly reinforces media type as images/videos by URL, but adds no new constraints or formatting details beyond schema.

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

Purpose5/5

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

The description clearly states the action (publish), the target resource (text post to LinkedIn), and optional media. It effectively distinguishes from siblings like schedule_linkedin_post and generate_linkedin_post.

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 immediate publishing, but does not explicitly state when to use this tool over alternatives like schedule_linkedin_post or under what conditions media is supported.

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

publish_twitter_postC

Publish a text post (tweet) to Twitter.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_textYesThe text content of the tweet (maximum 280 characters).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description alone must disclose behavior. It only states the core action, with no mention of authentication, rate limits, or post limits beyond what the schema's parameter description covers.

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 sentence that conveys the essential purpose without any wasted words. It is front-loaded 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?

Despite having only one parameter and no output schema, the description fails to mention return values or side effects. For a write operation, behavioral details like authentication requirements or success/failure indicators 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?

Schema description coverage is 100% for the single parameter, so the baseline is 3. The tool description adds nothing beyond what the schema already provides.

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 identifies the action (publish), the resource (text post/tweet), and the platform (Twitter). It distinguishes from sibling tools which are all LinkedIn-related.

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 guidance on when to use this tool or when not to; no alternatives mentioned. The context signals that it is for Twitter, but usage context is minimal.

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

refresh_linkedin_postsA

Force a refresh of LinkedIn posts data to capture recently published content.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/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 disclose behavior. It states 'Force a refresh' but does not explain side effects (e.g., whether existing data is overwritten, if the operation is synchronous or asynchronous, or any rate limits). The description is too minimal for a mutating action.

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 that is front-loaded with the verb and resource. Every word contributes meaning, no fluff.

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?

The tool is simple (no parameters, no output schema), but the description lacks completeness regarding follow-up actions. For example, it does not mention that results can be retrieved via get_linkedin_posts. Adequate but not fully contextualized.

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 (no fields to document). The description adds meaning by explaining the purpose of the tool (refresh) beyond the empty schema. Given no parameters, a baseline 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 action ('Force a refresh') and the resource ('LinkedIn posts data') with a specific goal ('to capture recently published content'). It distinguishes from siblings like get_linkedin_posts (which retrieves) and publish_linkedin_post (which creates).

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 when needing to capture recent content, but does not provide explicit guidance on when to use this tool versus alternatives like get_linkedin_posts (which might already fetch recent data) or schedule_linkedin_post. No exclusions or prerequisites are mentioned.

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

refresh_linkedin_profileA

Force a refresh of the LinkedIn profile data to update any recent changes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/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. It says 'force a refresh' implying a mutation, but does not disclose side effects (e.g., rate limits, API calls, potential delays, or data loss). Lacks details on what happens during refresh.

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 conveying essential purpose without redundancy. No unnecessary words, highly efficient.

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 zero parameters and no output schema, description is adequate for a simple force-refresh operation. However, it could mention that the operation is asynchronous or may take time, but the simplicity keeps it complete enough.

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?

Input schema has zero parameters, so schema coverage is 100%. Baseline is 4. Description adds no additional parameter info, but none is needed.

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?

Description clearly states it forces a refresh of LinkedIn profile data to update recent changes. It specifies the resource (LinkedIn profile) and action (refresh), and distinguishes from sibling tools like get_linkedin_profile (read-only) and refresh_linkedin_posts (different 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 usage for updating stale data, but does not explicitly state when to use versus alternatives like get_linkedin_profile. No mention of prerequisites or when not to use.

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

schedule_linkedin_postA

Schedule a text post for LinkedIn at a specific future date and time, optionally including media (images/videos) specified by URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_textYesThe text content of the LinkedIn post to be scheduled.
scheduled_dateYesThe date and time to publish the post, in ISO 8601 format (e.g., '2025-12-31T10:00:00Z' or '2025-12-31T15:30:00+05:30'). Must be in the future.
mediaNoOptional. A list of media items to attach to the post. Each item must have a 'file_url' pointing to a direct image or video URL and a 'filename'.

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so the description must carry behavioral info. It discloses the tool schedules at a future date, but does not mention side effects (e.g., will the post be automatically published?), rate limits, or error handling for past dates (though schema enforces future). Adequate but not rich.

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 and resource. No wasted words. Every part earns its 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 tool with 3 parameters and no output schema, the description covers the main purpose and optional media. It lacks mention of return value or confirmation, but still provides sufficient context for an agent to use it correctly.

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 descriptions for all parameters. The description adds minimal extra meaning beyond 'optionally including media'. 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.

Purpose5/5

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

The description clearly states the tool schedules a text post for LinkedIn at a specific future time, optionally with media. It uses specific verb (schedule) and resource (LinkedIn post), and the sibling 'publish_linkedin_post' implies immediate publishing, distinguishing this tool.

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 usage for scheduling future posts, and the sibling 'publish_linkedin_post' suggests an alternative for immediate publishing. However, it lacks explicit when-not-to-use or conditions like authentication requirements.

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

set_linkedin_urlA

Set or update the LinkedIn profile URL to analyze. Required before using profile/posts retrieval tools if not set previously.

ParametersJSON Schema
NameRequiredDescriptionDefault
linkedin_urlYesThe full LinkedIn profile URL (e.g., https://www.linkedin.com/in/username/)

TDQS

A3.8/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 'Set or update' but does not disclose effects like overwriting behavior or persistence, leaving behavioral uncertainty.

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 verb+resource, no filler words. Every sentence serves a purpose.

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 setter tool with one parameter and no output schema, the description adequately explains its role as a prerequisite. It could mention return behavior but is mostly 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% with the parameter already well-described. The tool description adds no additional semantics beyond what the schema provides, 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 'Set or update' and the resource 'LinkedIn profile URL', and it distinguishes itself from sibling tools by being a prerequisite for profile/posts retrieval tools.

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 explicitly states when to use: 'Required before using profile/posts retrieval tools if not set previously'. It provides clear usage context but does not explicitly mention when not to use or alternatives.

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. 10 tool updates
    • First observedanalyze_linkedin_chat
    • First observedgenerate_linkedin_post
    • First observedget_linkedin_posts
    • First observedget_linkedin_profile
    • First observedpublish_linkedin_post
    • First observedpublish_twitter_post
    • First observedrefresh_linkedin_posts
    • First observedrefresh_linkedin_profile
    • First observedschedule_linkedin_post
    • First observedset_linkedin_url

TDQS

A3.8/5.0

Scored across 10 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: profile retrieval, post retrieval, post generation, publishing, scheduling, refreshing, URL setting, and chat analysis. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., generate_linkedin_post, refresh_linkedin_profile). The naming is predictable and uniform, with the only minor outlier being publish_twitter_post, which still adheres to the same pattern.

Tool Count5/5

With 10 tools, the set is well-scoped for a LinkedIn assistant. It covers essential operations without being overwhelming or too sparse. Each tool earns its place.

Completeness5/5

The tool set covers the core LinkedIn workflows: profile retrieval, post listing, generation, publishing, scheduling, refreshing, and interactive chat. The inclusion of a Twitter publishing tool is a slight extension but does not create a gap in LinkedIn functionality.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers