Skip to main content
Glama
ihiteshgupta

linkedin-mcp-server

by ihiteshgupta

linkedin-mcp-server

LinkedIn MCP Server — post content, share articles, and manage your LinkedIn profile through Claude using the official LinkedIn API.

npm version License: MIT Node.js

6 tools for creating posts, sharing articles, managing your profile, and more — powered by the official LinkedIn REST API with OAuth 2.0.

Tools

Tool

Description

Permissions Required

linkedin_get_profile

Get your LinkedIn profile information

Basic (OpenID)

linkedin_create_post

Create a text post (up to 3000 chars)

Share on LinkedIn

linkedin_create_article_post

Share an article link with commentary

Share on LinkedIn

linkedin_get_posts

Get your recent posts

Share on LinkedIn ⚠️

linkedin_delete_post

Delete a post by ID

Share on LinkedIn

linkedin_get_connections_count

Get your total connection count

⚠️ May need partner access

⚠️ API Limitations: linkedin_get_posts and linkedin_get_connections_count use 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 Poster

Setup

LinkedIn requires creating a Developer App to get OAuth credentials. This takes about 10 minutes.

Step 1 — Create a LinkedIn Developer App

  1. Go to developer.linkedin.com/apps

  2. Click "Create app"

  3. Fill in the required fields:

    • App name: e.g. My LinkedIn MCP

    • LinkedIn 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)

  4. Agree to the terms and click "Create app"

Step 2 — Configure OAuth Redirect URL

  1. In your new app, go to the "Auth" tab

  2. Under "OAuth 2.0 settings", find "Authorized redirect URLs for your app"

  3. Click "Add redirect URL" and enter exactly:

    http://127.0.0.1:3000/callback
  4. Click "Update"

  5. Copy your Client ID and Client Secret from this page — you'll need them next

Step 3 — Request API Products

  1. Go to the "Products" tab in your app

  2. 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

  3. Both are typically approved instantly for personal use

Step 4 — Install & Configure

# Install globally
npm install -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 auth

Your access token is saved to ~/.linkedin-mcp/token.json and valid for 60 days.

Step 5 — Add to Claude Code

claude mcp add linkedin -- npx @dev-hitesh-gupta/linkedin-mcp-server

Or 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"

Control visibility:

Value

Who sees it

PUBLIC

Everyone on LinkedIn (default)

CONNECTIONS

Your 1st-degree connections only

LOGGED_IN

Any logged-in LinkedIn member


Re-authentication

LinkedIn tokens expire after 60 days. Re-authenticate when needed:

rm ~/.linkedin-mcp/token.json
linkedin-mcp-server auth

Data & 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 auth

linkedin_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

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Latest Blog Posts

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/ihiteshgupta/linkedin-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server