About linkedin-profile-mcp
Review and improve LinkedIn profile text the way recruiters search. No scraping or login
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
6Saved tool list · updated 1d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| section | enum | No | Which section to return, e.g. 'headline', 'about', 'experience', 'open_to_work', 'skills', 'checklist'. Omit to get every section in one text.how_recruiters_search | before_editing | photo | banner | headline | location_contact | open_to_work | about | featured | experience | skills | projects | education | other_sections | beyond_profile | checklist |
Details
From the project READMELinkedIn Profile Optimizer (MCP server)
An MCP server that helps people rewrite their LinkedIn profile the way technical recruiters search for candidates. Paste your profile text into Claude (or any MCP client); the server checks every field against LinkedIn's limits and recruiter-search guidelines, and the assistant rewrites sections from your own facts.
It never logs in to LinkedIn, scrapes it, or posts anything. You paste text in and copy the improved text back yourself.
The guidelines come from a senior technical recruiter's talk on how recruiters search LinkedIn, plus lessons from rebuilding real profiles with them.
What it gives your assistant
| Tool | What it does |
|---|---|
get_guidelines | Section-by-section guidance (headline, About, Experience, Open to Work, Featured, skills and more) |
lint_field | Character limit, what shows before truncation, em dashes, stock AI phrases, list markers, emoji |
review_headline | Role in the first 60 characters, length used, vague labels, segments, "open to" line, keywords |
review_experience | Opening line, bullet count, numbers per bullet, action verbs, duty phrasing, keywords |
keyword_coverage | Terms that recur across the job postings you paste, and which ones your profile is missing |
review_profile | All of the above on a whole profile, plus a checklist (location, About, skills, Featured, connections) |
Prompts: optimize_section (rewrite one section, then lint it) and full_profile_review (a recruiter-style review: what I see first, the one fix, then section by section).
Resources: linkedin://guide, linkedin://limits.
All checks are deterministic: no network calls and no API keys.
Install
Requires Node.js 18 or newer. Nothing to clone: npx downloads and runs it.
Claude Code
claude mcp add linkedin-profile -- npx -y linkedin-profile-mcp
Claude Desktop, Cursor, Windsurf, Cline
Add to the client's MCP config (claude_desktop_config.json, ~/.cursor/mcp.json, and so on):
{
"mcpServers": {
"linkedin-profile": {
"command": "npx",
"args": ["-y", "linkedin-profile-mcp"]
}
}
}
VS Code (Copilot agent mode)
code --add-mcp '{"name":"linkedin-profile","command":"npx","args":["-y","linkedin-profile-mcp"]}'
From source
git clone https://github.com/Ruthvik-Bandari/linkedin-profile-mcp.git
cd linkedin-profile-mcp && npm install && npm run build
claude mcp add linkedin-profile -- node "$PWD/dist/index.js"
Use it
- On LinkedIn, open your profile, click More, then Save to PDF, and copy the text (or paste each section).
- Collect 3 to 10 job descriptions for the role you want.
- Ask your assistant: "Use the full_profile_review prompt for AI Engineer roles" and paste both. Or: "Rewrite my headline for Data Scientist roles and lint it."
- Copy the improved text back into LinkedIn yourself. Turn off "Share profile updates" while you edit.
The assistant is told to use only facts you give it. Check every claim before you paste it: anything on your profile should be something you can explain in an interview.
Example
You: Review my headline for AI Engineer roles: "Student at State University | passionate about AI"
The assistant calls
review_headlineand gets back: vague label (fail), "AI Engineer" not in the first 60 characters (fail), 49 of 220 characters used (fail), no segments (fail), no "open to" line (fail), plus a stock-phrase warning for "passionate about". It then drafts a new headline from facts you give it and re-checks it until every check passes.
Contributing
Issues and pull requests are welcome, especially new checks backed by recruiter guidance, and limit updates when LinkedIn changes its editor. Keep every check deterministic and covered by a test in test/.
Develop
npm test # unit tests (vitest)
npm run build # compile to dist/
npm run inspect # try the tools in the MCP Inspector
Rules live in src/rules.ts, guidance text in src/guide.ts, and tool registration in src/index.ts.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.