linkedin-mcp-server
Click on "Install 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-serverPost a LinkedIn update about our new product."
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.
linkedin-mcp-server
LinkedIn MCP Server — post content, share articles, and manage your LinkedIn profile through Claude using the official LinkedIn API.
7 tools for creating posts, sharing articles, posting with images, managing your profile, and more — powered by the official LinkedIn REST API with OAuth 2.0.
Tools
Tool | Description | Permissions Required |
| Get your LinkedIn profile information | Basic (OpenID) |
| Create a text post (up to 3000 chars) with hashtags at the end | Share on LinkedIn |
| Share an article link with commentary and hashtags at the end | Share on LinkedIn |
| Create a single-image post (local path, URL, search query, or generated image) | Share on LinkedIn |
| Get your recent posts | Share on LinkedIn ⚠️ |
| Delete a post by ID | Share on LinkedIn |
| Get your total connection count | ⚠️ May need partner access |
⚠️ API Limitations:
linkedin_get_postsandlinkedin_get_connections_countuse LinkedIn endpoints that may require elevated or partner-level API access depending on your app's approval status. The core tools (get profile, create post, share article, delete post) work with standard access.
Related MCP server: LinkedIn MCP Server
Setup
LinkedIn requires creating a Developer App to get OAuth credentials. This takes about 10 minutes.
Step 1 — Create a LinkedIn Developer App
Click "Create app"
Fill in the required fields:
App name: e.g.
My LinkedIn MCPLinkedIn Page: You need a LinkedIn company page linked — create a simple one at linkedin.com/company/setup/new if you don't have one
App logo: Upload any image (required)
Agree to the terms and click "Create app"
Step 2 — Configure OAuth Redirect URL
In your new app, go to the "Auth" tab
Under "OAuth 2.0 settings", find "Authorized redirect URLs for your app"
Click "Add redirect URL" and enter exactly:
http://127.0.0.1:3000/callbackClick "Update"
Copy your Client ID and Client Secret from this page — you'll need them next
Step 3 — Request API Products
Go to the "Products" tab in your app
Request access to both of these products:
Sign In with LinkedIn using OpenID Connect — click "Request access" → Select → Agree
Share on LinkedIn — click "Request access" → Select → Agree
Both are typically approved instantly for personal use
Step 4 — Install & Configure
# Install globally
pnpm add -g @dev-hitesh-gupta/linkedin-mcp-server
# Create config directory and add your credentials
mkdir -p ~/.linkedin-mcp
cat > ~/.linkedin-mcp/credentials.json << 'EOF'
{
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}
EOF
# Authenticate — opens browser for LinkedIn sign-in
linkedin-mcp-server authYour access token is saved to ~/.linkedin-mcp/token.json and valid for 60 days.
Step 5 — Add to Claude Code
claude mcp add linkedin -- pnpm dlx @dev-hitesh-gupta/linkedin-mcp-serverOr manually in your Claude config (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"linkedin": {
"command": "npx",
"args": ["@dev-hitesh-gupta/linkedin-mcp-server"]
}
}
}Usage Examples
Create a post:
Post to LinkedIn: "Just shipped a new open-source MCP server for LinkedIn automation! Check it out. #opensource #ai"Share an article:
Share this article on LinkedIn: https://example.com/article
My commentary: "Great read on the future of AI tooling"Create an image post:
Create a LinkedIn image post:
Text: "From messy component to scalable architecture"
imageSearchQuery: "software architecture diagram clean code"
hashtags: ["SoftwareArchitecture", "Refactoring", "CleanCode"]Control visibility:
Value | Who sees it |
| Everyone on LinkedIn (default) |
| Your 1st-degree connections only |
| Any logged-in LinkedIn member |
Automated Niche Posting (Every 3 Days)
The project now includes an auto-post workflow that:
Finds relevant trending articles for your niche from public news feeds
Scores and selects the best recent candidate
Avoids reposting the same article (history file)
Publishes one LinkedIn article post automatically
1) Configure your niche
Run this once:
pnpm build
pnpm autopost:dry-runOn first run, a template config is created at:
~/.linkedin-mcp/automation.json
Fill it with your niche and keywords, for example:
{
"niche": "AI Automation For SMB Operations",
"keywords": [
"ai automation",
"workflow automation",
"small business operations"
],
"audience": "Founders and operations leaders",
"postLanguage": "es",
"visibility": "PUBLIC",
"hashtags": ["AI", "Automation", "BusinessGrowth"],
"maxArticleAgeHours": 96,
"itemsPerKeyword": 8,
"market": "en-US"
}2) Run a single automatic post
pnpm autopost3) Install cron (every 3 days)
Installs a managed cron entry that runs every 3 days at 09:00:
pnpm autopost:cron:installCustom time:
pnpm autopost:cron:install -- --hour=9 --minute=30Remove cron entry:
pnpm autopost:cron:removeAutomation files:
Config:
~/.linkedin-mcp/automation.jsonHistory:
~/.linkedin-mcp/automation-history.jsonCron logs:
~/.linkedin-mcp/autopost.log
Re-authentication
LinkedIn tokens expire after 60 days. Re-authenticate when needed:
rm ~/.linkedin-mcp/token.json
linkedin-mcp-server authData & Auth Storage
All data is stored locally:
~/.linkedin-mcp/
├── credentials.json # Your LinkedIn app Client ID + Secret
└── token.json # OAuth access token (expires in 60 days)Security: Never commit these files to version control.
Troubleshooting
"Not authenticated" error:
linkedin-mcp-server auth"Unable to determine member URN": Ensure the Sign In with LinkedIn using OpenID Connect product is approved in your app's Products tab.
Post creation fails: Ensure the Share on LinkedIn product is approved. Check the Products tab in your LinkedIn Developer app.
"Access blocked" during sign-in: Your LinkedIn app may still be under review. Check the Products tab for approval status.
Token expired:
rm ~/.linkedin-mcp/token.json && linkedin-mcp-server authlinkedin_get_posts or linkedin_get_connections_count returns errors:
These tools use LinkedIn API endpoints that require elevated permissions not available with standard developer access. This is a LinkedIn API restriction.
Requirements
Node.js 18+
A LinkedIn account
LinkedIn Developer App with OAuth credentials (see setup above)
License
MIT — Hitesh Gupta
Available Tools
7 toolslinkedin_create_article_postA
Create a LinkedIn post with an article/link. Great for sharing blog posts, news articles, or any web content with your network.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Commentary to accompany the article | |
| title | No | Optional title for the article preview | |
| hashtags | No | Optional hashtags. If omitted, hashtags are auto-generated and appended at the end of the post. | |
| articleUrl | Yes | URL of the article to share | |
| visibility | No | Post visibility: PUBLIC (default), CONNECTIONS, or LOGGED_IN | |
| description | No | Optional description for the article preview |
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 states the action and use case; it does not mention side effects, required permissions, visibility defaults, or that the post will be publicly visible. For a mutation tool, this is a significant transparency gap.
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 two short sentences, front-loaded with the core action and immediately followed by relevant use cases. Every word earns its place; no fluff or unnecessary detail.
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 and no annotations, the description covers the basic purpose and use cases, and the schema fully documents parameters. However, the description lacks behavioral context (e.g., visibility defaults, auto-generated hashtags are only in schema) and does not explain what happens after posting, making it adequate but not fully complete for a 6-parameter mutation tool.
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% since all 6 parameters have descriptions, so the baseline is 3. The description adds minimal value beyond the schema, such as reinforcing that articleUrl is the link to share, but it does not introduce new parameter context that 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 states the action ('Create') and resource (LinkedIn post with article/link), and differentiates from siblings like linkedin_create_image_post by specifying article sharing. It even provides concrete use cases (blog posts, news articles), making the tool's purpose unmistakable.
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 provides clear context for when to use the tool ('Great for sharing blog posts, news articles, or any web content'), which implies its appropriate use case. However, it does not explicitly mention when not to use it or call out alternatives like linkedin_create_post for text-only posts, preventing a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_create_image_postA
Create a LinkedIn post with exactly one image. Supports local file path, public image URL, internet image search query, or AI image generation prompt tuned for photorealistic results.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Commentary for the image post (hashtags will be appended at the end) | |
| altText | No | Optional accessibility text for the image | |
| hashtags | No | Optional hashtags. If omitted, hashtags are auto-generated and appended at the end of the post. | |
| imageUrl | No | Public image URL | |
| imagePath | No | Local image path (.jpg, .jpeg, .png, .gif, .webp) | |
| visibility | No | Post visibility: PUBLIC (default), CONNECTIONS, or LOGGED_IN | |
| imageSearchQuery | No | Search query to fetch a related internet image. Use this instead of imagePath/imageUrl. | |
| imageGenerationPrompt | No | Prompt to generate a photorealistic AI image (text overlays/logos are discouraged by default). Use this instead of imagePath/imageUrl/imageSearchQuery. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description handles disclosure by noting that hashtags are appended, AI generation is photorealistic, and text overlays/logos are discouraged. It does not mention permissions, publication timing, or error behavior if multiple image sources are supplied, which would improve transparency.
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 two sentences: the first states the primary action and constraint ('exactly one image'), the second lists the supported image sources. It is front-loaded and contains no 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 an 8-parameter create tool with full schema coverage, the description provides a solid overview of the image modes and the posting action. It does not explain behavior when multiple image sources are provided or specify output, but these are not essential for initial invocation.
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 detailed descriptions for every parameter, so the baseline is 3. The description's summary of the four image modes adds minor value by confirming the alternatives, but the schema already conveys a mutual exclusivity via 'Use this instead'.
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 creates a LinkedIn post with exactly one image, and explicitly lists the four supported image sources (local file, URL, search query, generation prompt). This distinguishes it from sibling tools like linkedin_create_post (text-only) and linkedin_create_article_post (articles).
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 use for single-image posts and provides explicit guidance on image source options, with parameter-level 'Use this instead' instructions. However, it does not explicitly name alternative tools or state when not to use this tool, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_create_postA
Create a text post on LinkedIn. Supports different visibility options: PUBLIC (everyone), CONNECTIONS (1st degree connections only), or LOGGED_IN (LinkedIn members only).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The content of the post (max 3000 characters) | |
| hashtags | No | Optional hashtags. If omitted, hashtags are auto-generated and appended at the end of the post. | |
| visibility | No | Post visibility: PUBLIC (default), CONNECTIONS, or LOGGED_IN |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the core action (create) and visibility options, but does not mention authentication requirements, side effects, or the irreversible nature of posting. It adds some context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and every word earns its place. No fluff or redundancy.
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 the simplicity of the tool (3 parameters, no output schema), the description provides enough context for an agent to understand the tool's function and key options. It could mention posting behavior or response, but the schema covers parameters adequately.
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%, so the baseline is 3. The description adds semantic value by explaining what each visibility value means (e.g., CONNECTIONS = 1st degree connections only), which goes beyond the schema's simple enum listing.
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 and resource: 'Create a text post on LinkedIn.' It distinguishes from sibling tools by explicitly saying 'text post,' which differentiates it from create_article_post and create_image_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 specifies this is for text posts, implying it should be used for that purpose rather than article or image posts. However, it does not explicitly name alternatives or state when not to use, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_delete_postA
Delete a LinkedIn post by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | The ID of the post to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It only states the action 'delete' without explaining whether the deletion is permanent, whether it requires specific permissions, whether the post must belong to the authenticated user, or what errors may occur.
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 with no unnecessary words. It conveys the essential purpose efficiently.
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 parameter, but the description lacks important context for a destructive operation, such as whether deletion is reversible, required permissions, or behavior when the post does not exist. While the core action is clear, the absence of any safety or precondition information leaves it incomplete.
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 already fully describes the single parameter (postId) with a clear description. The tool description adds no extra semantic meaning beyond restating 'by its ID,' so the baseline score of 3 is appropriate given 100% schema coverage.
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 ('Delete') and the resource ('a LinkedIn post by its ID'). This is distinct from sibling tools like linkedin_get_posts and linkedin_create_post, which perform different actions.
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 states the action but gives no explicit guidance on when to use it versus alternatives. It is implied that this tool is for deleting posts, but no context about prerequisites, ownership, or when not to use it is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_get_connections_countA
Get the number of LinkedIn connections. Note: This may require additional API permissions.
| 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 the full transparency burden. It adds a useful note about additional API permissions but does not disclose return format, safety guarantees, or other behavioral details.
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 short, focused sentences: the first states the purpose, the second adds a necessary permission caveat. No superfluous content.
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 parameterless tool with no output schema, the description adequately conveys what the tool does and a key prerequisite. Nothing essential is missing given the tool's simplicity.
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 tool has zero parameters, so the schema is fully covered. Baseline of 4 is appropriate because there are no parameter details to add.
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 function with a specific verb ('Get') and resource ('number of LinkedIn connections'), distinguishing it from sibling tools that handle profiles and 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 purpose is self-evident, implying usage when the connection count is needed. The permission note provides a prerequisite but the description does not discuss alternatives or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_get_postsA
Get the authenticated user's recent LinkedIn posts. Note: This may require additional API permissions.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of posts to retrieve (default: 10, max: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full transparency burden. It discloses a potential authorization requirement ('may require additional API permissions') and scope (authenticated user), but does not mention read-only nature, return structure, or error behavior. Adds some value beyond schema.
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?
A single sentence contains the core purpose and a permission caveat. No fluff, no repetition, and it is front-loaded with the main verb 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?
For a simple read-only tool with one optional parameter and no output schema, the description is adequate. It states what it gets and notes a key prerequisite (permissions). Missing details like return format are not critical given the simplicity.
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%: the 'count' parameter is fully described in the input schema with default and max. The description adds no additional parameter semantics beyond what the schema already states, so baseline 3 applies.
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 uses specific verb 'Get' and resource 'authenticated user's recent LinkedIn posts', clearly distinguishing from sibling create/delete tools. It is unambiguous and defines exactly what the tool returns.
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?
Description implies usage for reading the user's own posts, but provides no explicit when-to-use guidance or exclusions compared to sibling tools like create/delete. There is no mention of alternatives or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linkedin_get_profileA
Get the authenticated user's LinkedIn profile information including name, email, and profile picture.
| 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 carry the burden of transparency. It discloses that the profile is the authenticated user's, implying OAuth context, but does not mention read-only status, potential errors, or side effects. This is moderate transparency 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no filler words. It front-loads the verb and resource, and every word adds meaning. Highly concise and well-structured.
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 no parameters and no output schema, the description provides the essential context: what data is returned. It could be improved by mentioning the response format or any authentication prerequisites, but it is complete enough for a simple profile getter.
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 tool has zero parameters, so there are no parameter semantics to explain. The description adds value by listing what the returned profile includes, which serves as the output semantics. Baseline 4 is appropriate for zero-parameter tools.
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 (get), the resource (authenticated user's LinkedIn profile), and specific included fields (name, email, profile picture). It distinguishes itself from sibling tools that focus on posts and connections count.
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 the authenticated user's profile data is needed, but it does not explicitly mention when to use this tool over alternatives or any exclusions. Since siblings are clearly different, the implied usage is acceptable but not explicit.
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. Dates show when Glama detected each change.
7 tool updates
v1.0.0- First observed
linkedin_create_article_post - First observed
linkedin_create_image_post - First observed
linkedin_create_post - First observed
linkedin_delete_post - First observed
linkedin_get_connections_count - First observed
linkedin_get_posts - First observed
linkedin_get_profile
TDQS
Tools are mostly distinct, with the three create_post variants clearly differentiated by content type (text, article, image). The only minor ambiguity is that create_post might be assumed to be the generic post creator, but its description explicitly limits it to text posts.
All tools follow a consistent snake_case convention with the linkedin_ prefix and a verb_noun pattern. The create article and image post tools extend this pattern naturally, and there is no mixing of styles.
Seven tools is well-scoped for a LinkedIn server focused on profile access and post management. Each tool serves a distinct purpose without excessive overlap or bloat.
The core workflows are covered: view profile, create/delete/list posts, and get connection count. Minor gaps like retrieving a single post by ID or managing individual connections are absent, but these are not critical for the server's apparent primary use case.
Maintenance
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
Write LinkedIn posts in your voice: ideas, drafts, scheduling, analytics from your personal AI.
Draft, reshape and schedule LinkedIn posts in the writer's own voice, not a generic AI one.
1LinkedIn API as MCP tools to retrieve profile data and publish content. Powered by HAPI MCP.
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with LinkedIn for posting, commenting, liking, and managing connections via OAuth2 authentication.29MIT
- FlicenseAqualityDmaintenanceEnables LLMs and agents to interact with LinkedIn's REST API for managing profiles, creating posts, viewing connections, and overseeing organizations.52-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with LinkedIn's Community Management API, allowing users to retrieve profile information and create posts via natural language.21439MIT
- AlicenseAqualityDmaintenanceEnables Claude to interact with LinkedIn for posting, commenting, sharing media, and viewing feed and profile.92143MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/isucorp-taimiralain/linkedin-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server