LinkedIn MCP Server
This is a Model Context Protocol (MCP) server that acts as a bridge to fetch detailed LinkedIn profile data (Experience, Education, About sections) which are typically hidden from the public/lite API.
It uses a Puppeteer wrapper to automate a browser session with your LinkedIn cookie, ensuring it can access the full profile view that you see when logged in.
Features
read_linkedin_profile: A tool that takes a LinkedIn profile URL and returns the scraped text content of the profile.
Prerequisities
- Node.js (v18+)
- A LinkedIn account
- Your LinkedIn
li_atcookie
Setup
1. Install Dependencies
npm install
2. Configure Environment (Authentication)
This server needs your LinkedIn li_at cookie to view full profiles.
Method A: Automatic (Recommended)
We have included a helper tool to log you in and save the cookie automatically.
- Run the auth script:
npm run auth
- A browser window will open. Log in to LinkedIn.
- Once you reach the feed, the script will detect the cookie, save it to
.env, and close the window automatically.
Method B: Manual
- Create a
.envfile in the root directory. - Open LinkedIn in your browser (Chrome/Edge).
- Open Developer Tools (
F12or Right Click -> Inspect). - Go to the Application tab.
- Under Storage -> Cookies ->
https://www.linkedin.com, find the cookie namedli_at. - Copy its value and paste it into
.env:
LINKEDIN_LI_AT_COOKIE="your_cookie_value_here"
3. Build the Server
npm run build
# OR
npx tsc
(Note: npm run build is not currently defined in package.json, so use npx tsc or add the script.)
Usage with Antigravity / Claude Desktop
Add the server to your MCP configuration file (e.g., claude_desktop_config.json):
{
"mcpServers": {
"linkedin-reference": {
"command": "node",
"args": ["/absolute/path/to/linkedin-mcp-server/dist/index.js"],
"env": {
"LINKEDIN_LI_AT_COOKIE": "your_cookie_value_if_not_using_dotenv"
}
}
}
}
How It Works
- The MCP client sends a
read_linkedin_profilerequest with a URL. - The server launches a headless Puppeteer browser.
- It injects the
li_atcookie to authenticate as you. - It navigates to the profile URL.
- It extracts the
innerTextof the page body (simple approach). - It returns the text to the LLM for processing.
Project Structure
src/index.ts: Main server entry point and tool logic.scripts/validate_mcp.mjs: A validation script to test if the server boots up correctly.dist/: Compiled JavaScript files.











