LinkedIn MCP Assistant
This server enables you to manage and optimize your LinkedIn and Twitter content:
Publish & Schedule: Post or schedule LinkedIn content with optional media attachments
Twitter Integration: Publish tweets (up to 280 characters)
Content Analysis: Ask questions about your LinkedIn profile, content, or network through interactive conversations
Content Generation: Create three LinkedIn post variants from any content to optimize engagement
Data Retrieval: Access profile information and recent posts with engagement metrics
Profile Management: Set/update LinkedIn URL for analysis and refresh data to capture recent changes
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LinkedIn MCP Assistantanalyze my last 3 posts and suggest what to write next"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LiGo + LinkedIn MCP Runner

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
Click "Generate Installation Command"
If not logged in, you’ll be routed to authenticate with LiGo
Copy the command and run it in your terminal
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.
Authenticate with LiGo when prompted
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
Chrome Extension: Comment and post directly from LinkedIn.
Post Rewriter Tool: Turn rough drafts into LinkedIn-ready posts.
What is LiGo?: Full product overview.
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 toolsanalyze_linkedin_chatA
Ask questions about the user's LinkedIn profile, content, or network, with support for multi-turn conversations.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or request about LinkedIn data to be analyzed. | |
| conversation_history | No | Optional. Previous messages in the conversation for context. Each message must have 'role' (user/assistant) and 'content' (text). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The source content to transform into LinkedIn posts. Can be articles, emails, newsletters, notes, etc. | |
| content_type | No | Optional. A short description of the content type (e.g., 'article', 'newsletter', 'notes'). Defaults to 'article'. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional. Number of posts to retrieve (1-20). Defaults to 5. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| post_text | Yes | The text content of the LinkedIn post. | |
| media | No | Optional. 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
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| post_text | Yes | The text content of the tweet (maximum 280 characters). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| post_text | Yes | The text content of the LinkedIn post to be scheduled. | |
| scheduled_date | Yes | The 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. | |
| media | No | Optional. 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
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| linkedin_url | Yes | The full LinkedIn profile URL (e.g., https://www.linkedin.com/in/username/) |
TDQS
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.
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.
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.
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.
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.
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.
10 tool updates
- First observed
analyze_linkedin_chat - First observed
generate_linkedin_post - First observed
get_linkedin_posts - First observed
get_linkedin_profile - First observed
publish_linkedin_post - First observed
publish_twitter_post - First observed
refresh_linkedin_posts - First observed
refresh_linkedin_profile - First observed
schedule_linkedin_post - First observed
set_linkedin_url
TDQS
Scored across 10 tools
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.
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.
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.
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
Related MCP Connectors
MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.
- LinkMCPOAuthio.linkmcp
Hosted MCP server for LinkedIn: 31 tools for profiles, search, messaging, posts, enrichment.
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Related MCP Servers
- AGPL 3.0
- AlicenseNot gradedqualityAmaintenanceMCP for what few things LinkedIn allows via API462AGPL 3.0
- AlicenseAqualityBmaintenanceEnables AI assistants to access and interact with LinkedIn data—profiles, messaging, jobs, companies, and more—via MCP, with remote or local deployment.222529MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to interact with LinkedIn, including job search, profile viewing, resume/cover letter generation, and application tracking.MIT