LinkedIn MCP Server (Sabari2005/linkedin-mcp-server) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 101 tools. No publisher has claimed this listing.

D
Caution
54/100

LinkedIn MCP Server

Lets an AI assistant operate LinkedIn through an authenticated browser session, enabling profile management, posting, networking, messaging, job search, and automated applications.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

Sabari2005

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Known vulnerabilities in dependencies: 4 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 1 credential: MCP_HTTP_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes101 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

linkedin_auth_status
linkedin_auth_reload
linkedin_auth_import_cookies
linkedin_auth_export_cookies
linkedin_system_status
linkedin_system_reset
linkedin_list_tools
linkedin_list_files
linkedin_search_jobs
linkedin_get_job
linkedin_save_job

Save a job to the user's saved list, or remove it from the list.

linkedin_get_saved_jobs

List the jobs the user has saved on LinkedIn.

linkedin_get_applied_jobs
linkedin_export_jobs
linkedin_apply_to_job
linkedin_apply_to_jobs_bulk
linkedin_get_application_history
linkedin_withdraw_application
linkedin_get_remembered_answers
linkedin_forget_answer

Delete a remembered screening-question answer, e.g. after it turns out to be wrong.

linkedin_analyse_job_fit
linkedin_generate_resume
linkedin_generate_cover_letter
linkedin_list_resumes
linkedin_get_company
linkedin_search_companies
linkedin_follow_company

Follow or unfollow a company page.

linkedin_get_company_employees
linkedin_get_company_jobs

List open jobs posted by a specific company.

linkedin_get_hiring_team
linkedin_export_companies

Search companies and export the results to JSON, CSV or Markdown.

linkedin_find_recruiters
linkedin_compose_outreach
linkedin_message_recruiters
linkedin_search
linkedin_resolve_location
linkedin_export_search_results

Run any search and export the results to JSON, CSV or Markdown.

linkedin_get_notifications
linkedin_mark_notifications_read
linkedin_delete_notification

Delete a single notification, matched by a distinctive substring of its text.

linkedin_get_settings
linkedin_update_setting
linkedin_request_data_export
linkedin_search_people
linkedin_send_connection_request
linkedin_get_invitations
linkedin_respond_to_invitation
linkedin_withdraw_invitation
linkedin_follow
linkedin_remove_connection
linkedin_get_connections
linkedin_get_followers

List people who follow the signed-in user without necessarily being connected.

linkedin_get_following

List the people the signed-in user follows.

linkedin_get_network_stats

Summarise network size: connection count, follower count and pending invitation counts.

linkedin_export_connections
linkedin_get_conversations
linkedin_get_conversation_history
linkedin_search_conversations

Search the message inbox by keyword or participant name.

linkedin_send_message
linkedin_reply_to_conversation

Send a message into an existing conversation thread by its id.

linkedin_manage_conversation
linkedin_export_conversations

Export conversations — optionally including full message history — to JSON, CSV or Markdown.

linkedin_create_post
linkedin_edit_post
linkedin_delete_post

Permanently delete one of your own posts, along with its reactions and comments. This cannot be undone.

linkedin_react_to_post
linkedin_comment_on_post
linkedin_reply_to_comment
linkedin_repost
linkedin_save_post

Bookmark a post to the user's saved items for later reading.

linkedin_get_posts
linkedin_get_post

Read a single post in detail by URN, activity id or URL.

linkedin_get_post_comments
linkedin_save_draft
linkedin_list_drafts

List locally saved post drafts that have not yet been published.

linkedin_publish_draft
linkedin_delete_draft

Delete a local post draft. This only affects this server's store, not LinkedIn.

linkedin_export_posts
linkedin_get_profile
linkedin_get_contact_info
linkedin_update_headline
linkedin_update_about
linkedin_update_location
linkedin_add_experience
linkedin_add_education

Add an education entry to the profile. School names are matched against LinkedIn's directory.

linkedin_add_certification

Add a licence or certification to the profile.

linkedin_add_project

Add a project to the profile — useful for portfolio work, open source and side projects.

linkedin_add_publication

Add a publication (paper, article, book) to the profile.

linkedin_add_award

Add an honour or award to the profile.

linkedin_add_volunteer_experience

Add volunteer experience to the profile.

linkedin_add_language

Add a language to the profile with an optional proficiency level.

linkedin_edit_profile_section
linkedin_delete_profile_section
linkedin_add_skill
linkedin_remove_skill

Remove a skill from the profile, along with any endorsements it has accumulated.

linkedin_upload_profile_photo
linkedin_upload_banner
linkedin_set_open_to_work
linkedin_get_profile_analytics
linkedin_analyse_profile

1 further tool is not listed here. The complete surface is in the source.

// known CVEs in dependencies4 high

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

high@modelcontextprotocol/sdk@1.12.0GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.12.0GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

high@modelcontextprotocol/sdk@1.12.0GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

highplaywright@1.49.1GHSA-7mvr-c777-76hp

Playwright downloads and installs browsers without verifying the authenticity of the SSL certificate

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configBROWSER_CHANNEL
configDRY_RUNfalse When true, mutating tools validate and report but never execute
configLINKEDIN_COOKIE_FILESet exactly one strategy. LINKEDIN_LI_AT outranks ,
configLINKEDIN_LI_ATSet exactly one strategy. outranks LINKEDIN_COOKIE_FILE,
configLINKEDIN_MCP_SKIP_BROWSER_DOWNLOAD
configMCP_HTTP_HOST127.0.0.1 Bind address; non-loopback requires a token
configMCP_HTTP_PATH/mcp Endpoint path (/health is always available)
configMCP_HTTP_PORT3000 Port to listen on
🔐 secretMCP_HTTP_TOKENexport ="$(openssl rand -hex 32)" # required for any non-loopback bind
configRESUME_JSON
configXDG_DATA_HOMELinux $/linkedin-mcp/chrome-profile
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployPORT
// quality suggestions

Dependencies

10 dependencies, 1 flagged: playwright

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

101/101 tools missing one or more hints — linkedin_auth_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); linkedin_auth_reload (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); linkedin_auth_import_cookies (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +98 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tests exist

No test files found

Add tests that exercise each declared tool.

Shell command execution

54 child_process calls — runs shell commands

Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.

No arbitrary install scripts

Has postinstall/preinstall script — runs arbitrary code on npm install

Remove postinstall/preinstall hooks unless they’re essential.

Production dependencies are patched

0 critical, 4 high severity in production deps — @modelcontextprotocol/sdk@1.12.0 (high), @modelcontextprotocol/sdk@1.12.0 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/sabari2005/linkedin-mcp-server?variant=verified)](https://m8ven.ai/mcp/sabari2005/linkedin-mcp-server)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 375c678dad4b4bf3840afc1123b65085846c1751
code hash: f33ddfb507bde344153429236e9def3da619f22317a57d9fdfc4ff769881bd4a
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client