Skip to main content
Glama
isteamhq

@isteam/linkedin-mcp

by isteamhq

@isteam/linkedin-mcp

npm version License: MIT

MCP server for LinkedIn — post, comment, react, and manage content via AI agents.

Built by is.team — the AI-native project management platform.

Quick Start

Add to your MCP config (.mcp.json for Claude Code, or Claude Desktop settings):

{
  "mcpServers": {
    "linkedin": {
      "command": "npx",
      "args": ["-y", "@isteam/linkedin-mcp"],
      "env": {
        "LINKEDIN_ACCESS_TOKEN": "your-access-token",
        "LINKEDIN_PERSON_ID": "your-person-id"
      }
    }
  }
}

Tools (10)

Content & Engagement

Tool

Description

create_post

Create a LinkedIn text post (max 3000 characters)

create_article_post

Share an article link with commentary

delete_post

Delete a post by URN

comment_on_post

Comment on a post (max 1250 characters)

like_post

Like/react to a post

Profile & Analytics

Tool

Description

get_me

Get authenticated user info

get_post

Get a post by URN (text, author, stats)

get_comments

Get comments on a post

get_own_posts

Get your recent LinkedIn posts

get_post_stats

Get like/comment counts for a post

Environment Variables

Variable

Required

Description

LINKEDIN_ACCESS_TOKEN

Yes

OAuth 2.0 access token

LINKEDIN_PERSON_ID

Yes*

Your LinkedIn person ID (required in member mode)

LINKEDIN_ORGANIZATION_ID

No

Organization ID (for posting as a company page)

LINKEDIN_MODE

No

member (default) or organization

*Required when LINKEDIN_MODE is member (default).

Getting your credentials

  1. Create an app in the LinkedIn Developer Portal

  2. Request the w_member_social and r_liteprofile OAuth scopes

  3. Complete the OAuth 2.0 flow to get an access token

  4. Get your person ID from the /v2/userinfo endpoint

Organization mode

To post as a company page, set LINKEDIN_MODE=organization and provide LINKEDIN_ORGANIZATION_ID:

{
  "env": {
    "LINKEDIN_ACCESS_TOKEN": "your-access-token",
    "LINKEDIN_PERSON_ID": "your-person-id",
    "LINKEDIN_ORGANIZATION_ID": "your-org-id",
    "LINKEDIN_MODE": "organization"
  }
}

Rate Limits & Agent Safety

LinkedIn API enforces per-endpoint rate limits:

Endpoint

Limit

Notes

POST /rest/posts (create post)

1 req/sec, ~100/day

Stricter daily cap on content creation

POST /rest/socialActions/.../comments

2 req/sec

POST /rest/reactions (like)

1 req/sec

GET endpoints (posts, comments, stats)

~100 req/hour

Per authenticated user

General throttle

~60 req/min

Varies by endpoint scope

Idempotency note: LinkedIn does not deduplicate identical posts. If your agent retries on timeout, it may create duplicate content. Use get_own_posts to verify before retrying a create operation.

Backoff: When rate-limited, the API returns 429 with a Retry-After header (seconds). Wait the specified duration before retrying.

Usage Examples

Share a thought leadership post:

"Post on LinkedIn: AI agents are changing how teams collaborate. At is.team, we're building a future where AI joins your standups and ships features alongside you."

Share an article:

"Share this article on LinkedIn with a summary: https://example.com/article-about-ai"

Engage with your network:

"Get my recent LinkedIn posts and show their engagement stats"

About is.team

is.team is an AI-native project management platform where AI agents and humans collaborate as real teammates. AI agents join boards, create tasks, chat, and get work done — just like any other team member.

Part of the is.team open-source MCP ecosystem:

License

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

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

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