Skip to content

v0.3.0 — Persistent browser session

Choose a tag to compare

@horizonbymuneeb horizonbymuneeb released this 18 Jun 07:52

linkedin-mcp-pro v0.3.0

Major UX improvement: no more 7-day cookie expiry pain. Authenticate once through a real browser, session is reused forever.

✨ New features

  • linkedin-mcp login command — opens a browser, you log in normally (email + password + 2FA), the session is captured and saved to ~/.linkedin-mcp/profile/
  • Persistent browser profile — standard Chromium user-data-dir. Survives reinstalls, portable, can be opened in Chrome for debugging
  • BrowserChallenge exception — when LinkedIn shows a captcha / MFA / security check, the browser window stays open. Solve manually, then tell your MCP client to retry
  • LINKEDIN_MCP_PROFILE_DIR env var — override the default profile location (useful for Docker volume mounts)
  • LI_AT is now optional — used as fallback only when no profile exists

🔄 Changed

  • Default browser profile path: ./data/browser-profile/~/.linkedin-mcp/profile/ (outside project dir, survives git clean)
  • BrowserClient requires a profile by default
  • _check_for_challenges() now detects 7 URL patterns: /checkpoint, /authwall, /uas/, /login, /login-submit, /challenge, /account-restricted

📊 Tests

  • 179/179 pass (was 127, +52 new in test_v0_3_features.py)
  • Coverage: interactive_login (8 tests), BrowserChallenge (13 tests), has_valid_session (6), ensure_session (3), profile path resolution (10), and more

📚 Docs

  • USAGE.md: new "Setup and authentication" section, new "Handling security checks" section, updated troubleshooting
  • README.md: new "Quick start (v0.3+)" section, moved cookie extraction to "Legacy"
  • CHANGELOG.md: full v0.3.0 entry with migration guide

🔄 Migration from v0.2.0

pip install -U linkedin-mcp-pro
linkedin-mcp login   # one-time: log in normally
# Optionally remove LI_AT from .env (it'll be ignored)
linkedin-mcp-pro     # start MCP server

Headless users: LI_AT still works as a fallback. Or scp the profile from a local machine.

🔗 Links