LinkedIn Archive MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LinkedIn Archive MCPWhat's my current LinkedIn headline?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LinkedIn Archive MCP
Read your own LinkedIn profile from Claude — no copying and pasting.
An MCP server that reads the data export LinkedIn gives you and exposes it as tools. Ask "what's my current headline?" or "rewrite my About section to lead with platform work" and Claude just has the data.
No API keys. No OAuth. No scraping. It reads files already on your disk.
Contents
Related MCP server: @maheidem/linkedin-mcp
Why this exists
LinkedIn's API can't do this. The two self-serve products are Sign In with LinkedIn and Share on LinkedIn, and the profile endpoint returns only your name, photo, locale, and email — not your headline, experience, or skills. Everything richer sits behind partner approval. A Profile Edit API exists in the docs but is restricted to approved developers.
Meanwhile LinkedIn will hand you all of it for free, as CSVs, if you ask. This reads those.
Consequences worth knowing up front:
Read-only. There's no way to write back to your profile. You'll still paste edits into the LinkedIn UI yourself — but that's ~30 seconds, and the thinking happens in Claude with your real data in front of it.
Your data only. No other people's profiles. Your own connections list is in there (names, titles, companies), but nothing beyond that.
A snapshot, not a live feed. Current as of the day you exported. Request a fresh one after you make changes.
1. Get your archive
Direct link: https://www.linkedin.com/mypreferences/d/download-my-data
Or navigate: profile photo → Settings & Privacy → Data Privacy → Get a copy of your data.
Desktop browser only. The mobile app doesn't expose this page.
You'll see two options:
Option | Contains | Wait |
Want something in particular | Tick Profile, Positions, Education, Skills, Certifications, Recommendations, Shares | ~10 minutes |
The works | All of the above plus connections, messages, invitations, ad data | Up to 24 hours |
Pick the targeted one unless you want search_connections to work — connections
aren't available as a standalone item.
Re-enter your password, wait for the email, download the ZIP. The link expires after a few days.
No need to unzip. This server reads CSVs directly out of the .zip.
2. Install
git clone https://github.com/nudavinci64/linkedin-archive-mcp.git
cd linkedin-archive-mcp
pip3 install -r requirements.txtRequires Python 3.10+ and Claude Desktop (or any MCP client). This won't work in the Claude web app — a local MCP server needs a desktop client to talk to over stdio.
3. Point it at your archive
Make a folder to hold your exports and drop the ZIP in:
~/linkedin-archive/
Basic_LinkedInDataExport_08-05-2026.zipThen add the server to your Claude Desktop config:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Or in-app: Settings → Developer → Edit Config.
{
"mcpServers": {
"linkedin": {
"command": "python3",
"args": ["/absolute/path/to/linkedin_archive_mcp.py"],
"env": { "LINKEDIN_ARCHIVE_DIR": "/absolute/path/to/linkedin-archive" }
}
}
}LINKEDIN_ARCHIVE_DIR is the only thing you configure. Point it at the
folder holding your exports, not at a ZIP or a CSV.
Both paths must be absolute. ~ isn't expanded inside args, and relative
paths break because Claude Desktop launches the server from an unpredictable
working directory. On Windows, escape backslashes: "C:\\Users\\you\\...".
Already have servers in the file? Add "linkedin" alongside them — don't
replace the block.
Then fully quit Claude Desktop (Cmd+Q on macOS, right-click → Exit on Windows; closing the window isn't enough) and reopen.
4. Verify
Check it standalone before involving Claude — much easier to debug:
cd linkedin-archive-mcp
LINKEDIN_ARCHIVE_DIR=~/linkedin-archive python3 -c \
"import linkedin_archive_mcp as m; f=getattr(m.list_archives,'fn',m.list_archives); print(f())"Expected:
Looking in: /Users/you/linkedin-archive
Basic_LinkedInDataExport_08-05-2026.zip [zip, 2026-08-05, 25 files] <- ACTIVEIf that works, restart Claude Desktop and look for the tools icon near the
message box. linkedin should be listed.
Using it
Just ask in plain language — Claude picks the tool.
Reading:
"What's my LinkedIn headline?"
"Show me my full profile"
"What skills do I have listed, and which have the most endorsements?"
"What did I write about in my last 10 posts?"
Editing (Claude drafts, you paste):
"Rewrite my About section to lead with platform work, keep it under 2000 characters"
"My headline is vague. Give me three sharper options."
"Tighten the bullets on my current role — they're too long"
Cross-checking:
"Here's my résumé — does it contradict my LinkedIn anywhere?" (attach it)
"Turn my profile into a one-page résumé in Markdown"
"Which roles are missing descriptions?"
Network (needs the full export):
"Which of my connections work at Stripe?"
"Who do I know with 'product' in their title?"
Over time (needs two or more exports):
"How did my headline change between February and August?"
"Which skills did I add this year?"
For anything involving a rewrite, profile_as_markdown gives Claude everything
at once — it'll usually reach for that on its own.
Optional: symlink a cloud folder
If you keep your archive in Google Drive, Dropbox, or iCloud, the real path is long and full of spaces. A symlink gives you a short stable one, so the config never has to change:
ln -s "/long/path/to/your/cloud/folder/LinkedIn" ~/linkedin-archiveReal example (Google Drive on macOS):
ln -s "/Users/you/Library/CloudStorage/GoogleDrive-you@gmail.com/My Drive/LinkedIn" ~/linkedin-archiveThen set "LINKEDIN_ARCHIVE_DIR": "/Users/you/linkedin-archive" and you're done.
Check it: ls ~/linkedin-archive should list your export. Remove it with
rm ~/linkedin-archive — that deletes only the link, never the folder.
Two gotchas with cloud storage:
Quote the path.
My DriveandShared drivescontain spaces.Mark it available offline. Drive and Dropbox stream files on demand, so a cold read can hang or fail. On macOS: right-click the folder in Finder → Offline access → Available offline.
Cloud folders sync across machines, which is convenient — but see Privacy before putting a full export in a shared one.
Keeping multiple exports
Point at a folder and keep as many as you like. Any mix of formats works:
~/linkedin-archive/
Basic_LinkedInDataExport_08-05-2026.zip <- read in place, no unzip
Complete_LinkedInDataExport_02-11-2026/ <- unzipped folder
Profile.csv, Positions.csv, Jobs/, ...
Profile.csv <- loose CSVs also fineThe newest is selected automatically. Dates are read from LinkedIn's filename
(MM-DD-YYYY, and ISO YYYY-MM-DD if you rename them), falling back to file
modification time.
Old exports are worth keeping: LinkedIn gives you no profile history, so a second export is the only way to answer "what changed since last time?"
Switch with use_archive("02-11") — partial names work — and use_archive()
with no argument returns to the newest.
Tools
Tool | What it does |
| Whole profile as one document — the one to use before any rewrite |
| Name, headline, About, industry, location |
| Full work history with descriptions |
| Schools, degrees, dates |
| Skills with endorsement counts |
| Certs and licenses |
| Received or given |
| Past posts, newest first, optional keyword filter |
| Your 1st-degree connections by name, company, or title |
| Full-text search across every file |
| All exports found, with dates, and which is active |
| Switch to a different export |
| Active export and its files with row counts |
| Raw columns and sample rows for one file |
Troubleshooting
Tools don't appear in Claude Desktop. Almost always the config. Check in order:
Valid JSON — a trailing comma will silently break the whole file
Both paths absolute, no
~python3resolvable — runwhich python3and paste the full binary path into"command"if Claude Desktop can't find it on PATHActually quit the app, not just the window
Logs:
~/Library/Logs/Claude/mcp*.logon macOS
"No LinkedIn export found."
The folder is empty, or you pointed at a ZIP/CSV instead of the folder
containing it. list_archives shows what was found and where it looked.
A section comes back empty.
LinkedIn renames files and columns periodically. Run archive_status to see
what you actually got, then inspect_file on the one you expected — it prints
the real column names. Matching is fuzzy and case-insensitive so most renames
are absorbed, but please open an issue if one isn't.
Reads are slow or fail from cloud storage. Mark the folder available offline, or keep the archive on local disk.
Connections.csv looks garbled in other tools.
LinkedIn puts several lines of human-readable notes above the real header. This
server finds the header by column-count consensus, so it handles it.
Privacy
Your export is sensitive. The full archive includes your message history, your connections' names and titles, and email addresses for those who chose to share them.
This server makes no network calls. It imports only Python's standard
library — csv, io, os, re, zipfile, datetime, pathlib — and has no
HTTP client, no telemetry, and no third-party dependencies beyond the MCP SDK
itself. Your data is read from disk and returned to your MCP client. Nothing
else. It's ~600 lines; you can confirm this in a couple of minutes.
Your data never leaves your machine except as tool results you ask Claude for.
The included
.gitignoreblocks*.csv,*.zip, and*LinkedInDataExport*so you don't commit your own data. Don't remove those lines.Before putting a full export in a shared cloud folder, remember everyone with access can read all of it. The targeted export (no messages, no connections) is much safer to sync.
License
MIT
Disclaimer
Unofficial. Not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. It only reads data LinkedIn has already given you, so it doesn't touch the scraping and automation prohibitions in LinkedIn's User Agreement.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables Claude to access and analyze LinkedIn profile data through the Model Context Protocol, allowing users to query their LinkedIn information directly within Claude Desktop.Last updated41MIT
- AlicenseBqualityDmaintenanceIntegrates with Claude to enable LinkedIn post creation, profile optimization, content generation, and analytics through natural language.Last updated13131MIT
- Alicense-qualityDmaintenanceEnables Claude AI to interact with LinkedIn through browser automation, including profile reading, people and job search, company research, post publishing, and profile editing.Last updatedMIT
- AlicenseAqualityDmaintenanceEnables posting content, sharing articles, and managing your LinkedIn profile through Claude using the official LinkedIn API with OAuth 2.0.Last updated615MIT
Related MCP Connectors
Let AI tools securely access your LinkedIn network and DMs
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nudavinci64/linkedin-archive-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server