linkedin-api-mcp
A community-driven Model Context Protocol server that allows AI agents to interact with LinkedIn by driving a headless browser using the user's own logged-in session. It provides tools to read profiles, companies, jobs, posts, and messages, as well as write capabilities to send messages and connection requests, all paced against user-controlled limits.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
Checks and signals
Each line is separate evidence, not a trust score.
- Popularity 4 GitHub stars
What you can do with it
- Read LinkedIn user profiles and company pages
- Search and retrieve job listings
- Send messages and connection requests
- Access inbox messages
Source and maintenance
- Last repository push
- Latest release
- v1.0.1
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
linkedin-api-mcp 1.0.1
{
"version": "1.0.1",
"transport": "stdio",
"identifier": "linkedin-api-mcp",
"registryType": "pypi",
"environmentVariables": [
{
"name": "LINKEDIN_COOKIE",
"description": "Your LinkedIn li_at session cookie. Optional if you have already stored it in the OS keyring with `linkedin-api-mcp auth`, which is the recommended route: this cookie is equivalent to being logged in as you."
},
{
"name": "LINKEDIN_HEADLESS",
"description": "Run the browser headless. Defaults to true; set to 0 to watch what it does."
},
{
"name": "LINKEDIN_MIN_INTERVAL",
"description": "Minimum seconds between LinkedIn actions. Defaults to 2."
},
{
"name": "LINKEDIN_MAX_PER_HOUR",
"description": "Hard ceiling on LinkedIn actions per rolling hour. Defaults to 120. The server refuses past this rather than sleeping, so an agent in a loop is told to stop."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · repository · passed · metadata changed · updated
- · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"linkedin-api-mcp": {
"command": "uvx",
"args": [
"linkedin-api-mcp==1.0.1"
],
"env": {
"LINKEDIN_COOKIE": "<YOUR_LINKEDIN_COOKIE>",
"LINKEDIN_HEADLESS": "<YOUR_LINKEDIN_HEADLESS>",
"LINKEDIN_MIN_INTERVAL": "<YOUR_LINKEDIN_MIN_INTERVAL>",
"LINKEDIN_MAX_PER_HOUR": "<YOUR_LINKEDIN_MAX_PER_HOUR>"
}
}
}
}Cline
{
"mcpServers": {
"linkedin-api-mcp": {
"command": "uvx",
"args": [
"linkedin-api-mcp==1.0.1"
],
"env": {
"LINKEDIN_COOKIE": "<YOUR_LINKEDIN_COOKIE>",
"LINKEDIN_HEADLESS": "<YOUR_LINKEDIN_HEADLESS>",
"LINKEDIN_MIN_INTERVAL": "<YOUR_LINKEDIN_MIN_INTERVAL>",
"LINKEDIN_MAX_PER_HOUR": "<YOUR_LINKEDIN_MAX_PER_HOUR>"
}
}
}
}VS Code
{
"servers": {
"linkedin-api-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"linkedin-api-mcp==1.0.1"
],
"env": {
"LINKEDIN_COOKIE": "<YOUR_LINKEDIN_COOKIE>",
"LINKEDIN_HEADLESS": "<YOUR_LINKEDIN_HEADLESS>",
"LINKEDIN_MIN_INTERVAL": "<YOUR_LINKEDIN_MIN_INTERVAL>",
"LINKEDIN_MAX_PER_HOUR": "<YOUR_LINKEDIN_MAX_PER_HOUR>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"linkedin-api-mcp": {
"command": "uvx",
"args": [
"linkedin-api-mcp==1.0.1"
],
"env": {
"LINKEDIN_COOKIE": "<YOUR_LINKEDIN_COOKIE>",
"LINKEDIN_HEADLESS": "<YOUR_LINKEDIN_HEADLESS>",
"LINKEDIN_MIN_INTERVAL": "<YOUR_LINKEDIN_MIN_INTERVAL>",
"LINKEDIN_MAX_PER_HOUR": "<YOUR_LINKEDIN_MAX_PER_HOUR>"
}
}
}
}Let your agent find its tools
Find servers like linkedin-api-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.