Skip to main content
Glama
LinkedIn Profile Optimizer

LinkedIn Profile Optimizer

LinkedIn Profile Optimizer (MCP server)

npm CI License: MIT Glama score

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.

Related MCP server: resume-kit MCP Server

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

  1. On LinkedIn, open your profile, click More, then Save to PDF, and copy the text (or paste each section).

  2. Collect 3 to 10 job descriptions for the role you want.

  3. 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."

  4. 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_headline and 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

Available Tools

6 tools
get_guidelinesGet LinkedIn guidelinesA
Read-only

Return the section-by-section LinkedIn profile guidelines (recruiter-search based). Omit 'section' for the full guide.

Inputs: section.

keyword_coverageKeyword coverage vs job postingsB
Read-only

Find terms that recur across the pasted job descriptions and report which ones the profile text contains. Only add a missing term if it truly describes the person's work.

Inputs: profile_text (required), job_descriptions (required), top.

lint_fieldLint a profile fieldA
Read-only

Check one LinkedIn field against its character limit and for AI-sounding text (em dashes, stock phrases, 'it's not X, it's Y'), list markers and emoji. Shows what is visible before truncation.

Inputs: text (required), field (required).

review_experienceReview an Experience entryB
Read-only

Check one Experience description: length, opening line, bullet count, numbers in bullets, action verbs, duty phrasing, keywords and AI-sounding text.

Inputs: description (required), keywords.

review_headlineReview a headlineB
Read-only

Score a headline: role in the first 60 characters, length used, vague labels, segments, 'open to' line, and target keywords.

Inputs: headline (required), keywords, target_role.

review_profileReview a whole profileA
Read-only

Run every check on a pasted profile (for example the text of LinkedIn's 'Save to PDF'). Returns per-section results and a checklist. Never logs in to or scrapes LinkedIn.

Inputs: headline (required), about, skills, location, +5 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 6 tools

    Disambiguation4/5

    Each tool targets a recognizable scope: guidelines retrieval, single-field linting, headline review, experience review, keyword extraction, and full-profile review. The main overlap is that review_profile aggregates the other review tools and lint_field duplicates some character-limit/AI-tone checks already inside review_headline and review_experience, but the descriptions make the aggregate-vs-component relationship clear enough to select correctly.

    Naming Consistency4/5

    Five of six names follow a verb_noun pattern (get_guidelines, lint_field, review_headline, review_experience, review_profile), and the shared 'review_' prefix groups the scoring tools predictably. keyword_coverage breaks the pattern as a noun phrase, a minor deviation that is still self-explanatory.

    Tool Count5/5

    Six tools is a tight, well-scoped set for a profile-review assistant: one reference tool, three field-level checks, one keyword analysis, and one orchestrator. Every tool has a distinct job and none feels like filler.

    Completeness3/5

    The surface covers guidelines, headline, experience, keywords, and a full-profile pass, but the guidelines are section-by-section while only the Experience section gets a dedicated reviewer — About/Summary, Skills, and Education have no targeted check. lint_field partially compensates for character limits, but agents reviewing a full profile will hit a dead end on the About section, which is one of the most important LinkedIn fields.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server that evaluates, compares, aligns, generates, and validates resume materials against specific job postings, including ATS parseability checks, match scoring, and gap analysis.
      1
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server for LinkedIn that lets Claude and ChatGPT read your profile, post updates, and generate a resume PDF pre-formatted for LinkedIn's Import Resume feature.
      -
    • A
      license
      A
      quality
      D
      maintenance
      Enables MCP clients to analyze resumes for ATS compatibility, parse job descriptions, get optimization and roast-style critiques, and generate tailored resumes with shareable preview links.
      6
      57 npm
      MIT