LinkedIn MCP
Enables AI assistants to access and interact with LinkedIn data—profiles, messaging, jobs, companies, and more—via MCP, with remote or local deployment.
README
<div align="center">
🔗 LinkedIn MCP
The most reliable LinkedIn MCP server for AI assistants
Give Claude, Cursor, and any MCP-compatible AI assistant full access to LinkedIn — profiles, messaging, jobs, companies, and more. Zero local dependencies. Just add a URL.
Quick Start · Tools · Authentication · Comparison
</div>
✨ Why LinkedIn MCP?
| Feature | Description | |
|---|---|---|
| 🚀 | Remote-First | Zero install — add a URL to your Claude config and go. No Python, no browser, no Docker required. |
| 🔧 | 30+ Tools | The most comprehensive LinkedIn MCP available. Profiles, messaging, jobs, companies, network, feed, and more. |
| 🔒 | Secure | OAuth 2.0 + cookie authentication. Rate limiting, CORS, origin validation built-in. |
| ⚡ | Fast & Lightweight | API-based — no headless browser needed. ~5MB vs 500MB+ browser-based alternatives. |
| 🌍 | Reliable | No session expiry loops, no browser crashes, no dialog collisions. Stateless HTTP design. |
| 🌐 | Locale-Independent | Works worldwide. No English-only DOM selectors. API-based, not scraping. |
🚀 Quick Start
Method 1: Remote URL (Recommended)
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"linkedin": {
"url": "https://your-deployed-url.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Method 2: npx (No Install)
{
"mcpServers": {
"linkedin": {
"command": "npx",
"args": ["-y", "linkedinmcp"],
"env": {
"LINKEDIN_COOKIE": "your_li_at_cookie_value"
}
}
}
}
Method 3: Clone & Run
git clone https://github.com/devag7/linkedin-mcp.git
cd linkedin-mcp
npm install
npm run dev
🛠 Available Tools
👤 Profile Tools
| Tool | Description |
|---|---|
get_profile |
Get any LinkedIn profile with full details (experience, education, skills) |
get_my_profile |
Get the authenticated user's own profile |
get_profile_skills |
Get detailed skills with endorsement counts |
get_profile_recommendations |
Get recommendations given and received |
get_profile_activity |
Get a user's recent posts and activity |
get_sidebar_profiles |
Get "People also viewed" profile suggestions |
search_people |
Search people with advanced filters (location, company, title) |
💬 Messaging Tools
| Tool | Description |
|---|---|
get_inbox |
List inbox conversations with read/unread filters |
get_conversation |
Read a specific conversation thread |
search_conversations |
Search messages by keyword |
send_message |
Send a message (supports multiline, rich text) |
reply_to_thread |
Reply to an existing conversation by thread ID |
mark_conversation_read |
Mark a conversation as read |
🏢 Company Tools
| Tool | Description |
|---|---|
get_company |
Get company profile, description, and details |
get_company_posts |
Get recent posts from a company's feed |
get_company_employees |
List employees with filters |
search_companies |
Search companies by keyword and industry |
get_company_jobs |
Get open job positions at a company |
💼 Job Tools
| Tool | Description |
|---|---|
search_jobs |
Search jobs with keyword, location, and experience filters |
get_job_details |
Get detailed information about a job posting |
get_saved_jobs |
Get the user's saved/bookmarked jobs |
get_job_applicants |
Get applicant information (recruiter accounts) |
🤝 Network Tools
| Tool | Description |
|---|---|
connect_with_person |
Send a connection request with optional personalized note |
get_connections |
List 1st-degree connections, sorted by recently added |
get_pending_invitations |
View sent and received connection invitations |
withdraw_invitation |
Cancel a sent connection invitation |
accept_invitation |
Accept a received connection invitation |
get_network_stats |
Get network growth metrics and connection statistics |
📰 Feed & Content Tools
| Tool | Description |
|---|---|
get_feed |
Get posts from the home feed |
create_post |
Create a new text or image post |
react_to_post |
React to a post (like, celebrate, support, etc.) |
comment_on_post |
Add a comment to a post |
search_posts |
Search posts by keyword or hashtag |
🔧 Utility Tools
| Tool | Description |
|---|---|
whoami |
Get server info, auth status, and capabilities |
health_check |
Check server health and LinkedIn connectivity |
get_notifications |
Get recent LinkedIn notifications |
🔐 Authentication
Method 1: LinkedIn OAuth 2.0 (Recommended)
- Create an app at LinkedIn Developer Portal
- Get your access token
- Set the environment variable:
export LINKEDIN_ACCESS_TOKEN="your_access_token"
Method 2: Session Cookie (Quick Setup)
- Log in to LinkedIn in your browser
- Open DevTools → Application → Cookies →
linkedin.com - Copy the
li_atcookie value - Optionally copy the
JSESSIONIDcookie value (for CSRF)
export LINKEDIN_COOKIE="your_li_at_cookie_value"
export LINKEDIN_CSRF_TOKEN="your_jsessionid_value"
⚡ Comparison with Alternatives
| Feature | LinkedIn MCP | linkedin-mcp-server |
|---|---|---|
| Transport | ✅ Remote HTTP + stdio | ❌ stdio only (local) |
| Install Required | ✅ No — just add URL | ❌ Python + Chromium (~500MB) |
| Browser Dependency | ✅ None — API-based | ❌ Patchright + Chromium |
| Language | TypeScript (MCP-native) | Python |
| Tools | 30+ | ~15 |
| Multiline Messages | ✅ Native support | ❌ Buggy (Shift+Enter hack) |
| Session Stability | ✅ Stateless HTTP | ❌ Session expiry loops |
| Connection Requests | ✅ API-based, reliable | ❌ Dialog collision bugs |
| Locale Support | ✅ Worldwide | ⚠️ English selectors |
| Docker Image Size | ~50MB | ~500MB+ |
| Known Critical Bugs | 0 | 10+ open issues |
⚙️ Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
LINKEDIN_ACCESS_TOKEN |
One of these | — | LinkedIn OAuth access token |
LINKEDIN_COOKIE |
One of these | — | LinkedIn li_at session cookie |
LINKEDIN_CSRF_TOKEN |
No | — | LinkedIn JSESSIONID for CSRF protection |
PORT |
No | 3000 |
HTTP server port |
TRANSPORT |
No | stdio |
Transport mode: stdio or http |
LOG_LEVEL |
No | info |
Log level: debug, info, warn, error |
CACHE_TTL |
No | 300 |
Cache TTL in seconds |
RATE_LIMIT_RPM |
No | 30 |
Max requests per minute |
REQUEST_TIMEOUT |
No | 30000 |
Request timeout in milliseconds |
🛠 Development
# Clone the repo
git clone https://github.com/devag7/linkedin-mcp.git
cd linkedin-mcp
# Install dependencies
npm install
# Run in development mode (stdio)
npm run dev
# Run in HTTP mode
npm run dev -- --transport http --port 3000
# Run tests
npm test
# Type checking
npm run typecheck
# Lint
npm run lint
# Build for production
npm run build
🤝 Contributing
Contributions are welcome! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
⚠️ Disclaimer
This project is not officially affiliated with LinkedIn. Use responsibly and in accordance with LinkedIn's Terms of Service. The authors are not responsible for any misuse or account restrictions.
<div align="center">
If you find this useful, please give us a ⭐! It helps others discover the project.
Made with ❤️ by Dev Agarwalla
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。