@himanshu31shr/linkedin-mcp-server
v1.0.1
Published
MCP server for LinkedIn API integration — compatible with all major AI IDEs
Maintainers
Readme
LinkedIn MCP Server
A Model Context Protocol (MCP) server that provides AI agents with read/write access to the LinkedIn API.
Features
- Profile Tools: Fetch user profile and email.
- Post Tools: Create text, link, image, and document posts. Delete posts.
- Media Tools: Upload images and documents to LinkedIn.
- Organization Tools: Fetch organization details, post on behalf of an organization, fetch and delete org posts.
- Social Action Tools: Fetch, create, and delete comments on posts. Add or remove reactions (like, celebrate, etc.).
- Organization Analytics Tools: Get organization page, follower, and share statistics.
Prerequisites
You need a LinkedIn Access Token. Create an app on the LinkedIn Developer Portal, then either:
- Use the built-in OAuth flow (see Development Setup), or
- Generate a token manually from the developer portal.
Quick Start (npm — recommended)
The easiest way to use this server is via the published npm package. No cloning required.
Install globally
npm install -g @himanshu31shr/linkedin-mcp-serverThen run it:
LINKEDIN_ACCESS_TOKEN=your-token linkedin-mcp-serverOr run directly with npx
LINKEDIN_ACCESS_TOKEN=your-token npx -y @himanshu31shr/linkedin-mcp-serverMCP Client Configuration
Claude Desktop
Add the following to your claude_desktop_config.json:
Using npx (no install needed):
{
"mcpServers": {
"linkedin": {
"command": "npx",
"args": ["-y", "@himanshu31shr/linkedin-mcp-server"],
"env": {
"LINKEDIN_ACCESS_TOKEN": "your-linkedin-access-token"
}
}
}
}Using a global install:
{
"mcpServers": {
"linkedin": {
"command": "linkedin-mcp-server",
"env": {
"LINKEDIN_ACCESS_TOKEN": "your-linkedin-access-token"
}
}
}
}Using a local clone:
{
"mcpServers": {
"linkedin": {
"command": "node",
"args": ["/path/to/linkedin-mcp-server/dist/index.js"],
"env": {
"LINKEDIN_ACCESS_TOKEN": "your-linkedin-access-token"
}
}
}
}Cursor
In Cursor's Settings > AI > MCP Servers, add a new server:
- Type:
command - Name:
linkedin - Command:
npx -y @himanshu31shr/linkedin-mcp-server - Environment Variables: Add
LINKEDIN_ACCESS_TOKENwith your token.
Antigravity / Windsurf / Other MCP Clients
Use the same pattern — point the MCP client to:
npx -y @himanshu31shr/linkedin-mcp-serverAnd set the LINKEDIN_ACCESS_TOKEN environment variable.
Available Tools
| Tool | Description |
|------|-------------|
| get_profile | Fetch the authenticated user's LinkedIn profile |
| get_email | Fetch the authenticated user's email address |
| create_text_post | Create a text-only post |
| create_link_post | Create a post with a link attachment |
| create_image_post | Create a post with an image |
| create_document_post | Create a post with a document (PDF, etc.) |
| delete_post | Delete a post by URN |
| upload_image | Upload an image to LinkedIn |
| get_organization | Fetch organization details |
| create_org_post | Create a post on behalf of an organization |
| get_org_posts | Fetch recent posts for an organization |
| delete_org_post | Delete an organization post |
| get_post_comments | Fetch comments on a post |
| create_comment | Add a comment to a post |
| delete_comment | Delete a comment |
| add_reaction | Add a reaction to a post |
| remove_reaction | Remove a reaction from a post |
| get_org_page_statistics | Get organization page statistics |
| get_org_follower_statistics | Get organization follower statistics |
| get_org_share_statistics | Get organization share statistics |
Development Setup
If you want to contribute or run from source:
Clone and install:
git clone https://github.com/himanshu31shr/linkedin-mcp-server.git cd linkedin-mcp-server npm installBuild:
npm run buildGet a LinkedIn Access Token (automated OAuth flow):
npm run authFollow the prompts — this will save your
LINKEDIN_ACCESS_TOKENto the.envfile automatically.Run locally:
npm run dev
Scripts
| Script | Description |
|--------|-------------|
| npm run build | Compile TypeScript to JavaScript |
| npm run dev | Run in development mode with tsx |
| npm run auth | Run the OAuth token flow |
| npm test | Run tests with Vitest |
| npm run test:coverage | Run tests with coverage report |
| npm run lint | Type-check with TypeScript |
| npm run inspect | Launch MCP Inspector for debugging |
Releasing a New Version
The CD pipeline automatically publishes to npm when a version tag is pushed.
# Bump version (creates commit + tag automatically)
npm version patch # or: npm version minor / npm version major
# Push commit and tag to trigger publish
git push origin main --tagsThe pipeline will:
- Validate the tag matches
package.jsonversion - Run lint, tests, and build
- Publish to npm with provenance
- Create a GitHub Release with auto-generated notes
License
MIT
