MCP server for LinkedIn — post, comment, react, and manage content via AI agents
@isteam/linkedin-mcp
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
- Create an app in the LinkedIn Developer Portal
- Request the
w_member_socialandr_liteprofileOAuth scopes - Complete the OAuth 2.0 flow to get an access token
- Get your person ID from the
/v2/userinfoendpoint
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:
- @isteam/mcp — Project management
- @isteam/google-ads-mcp — Google Ads
- @isteam/twitter-mcp — Twitter/X
- @isteam/bluesky-mcp — Bluesky
- @isteam/linkedin-mcp — LinkedIn
License
MIT