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.
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
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
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.
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_statuslinkedin_auth_reloadlinkedin_auth_import_cookieslinkedin_auth_export_cookieslinkedin_system_statuslinkedin_system_resetlinkedin_list_toolslinkedin_list_fileslinkedin_search_jobslinkedin_get_joblinkedin_save_jobSave a job to the user's saved list, or remove it from the list.
linkedin_get_saved_jobsList the jobs the user has saved on LinkedIn.
linkedin_get_applied_jobslinkedin_export_jobslinkedin_apply_to_joblinkedin_apply_to_jobs_bulklinkedin_get_application_historylinkedin_withdraw_applicationlinkedin_get_remembered_answerslinkedin_forget_answerDelete a remembered screening-question answer, e.g. after it turns out to be wrong.
linkedin_analyse_job_fitlinkedin_generate_resumelinkedin_generate_cover_letterlinkedin_list_resumeslinkedin_get_companylinkedin_search_companieslinkedin_follow_companyFollow or unfollow a company page.
linkedin_get_company_employeeslinkedin_get_company_jobsList open jobs posted by a specific company.
linkedin_get_hiring_teamlinkedin_export_companiesSearch companies and export the results to JSON, CSV or Markdown.
linkedin_find_recruiterslinkedin_compose_outreachlinkedin_message_recruiterslinkedin_searchlinkedin_resolve_locationlinkedin_export_search_resultsRun any search and export the results to JSON, CSV or Markdown.
linkedin_get_notificationslinkedin_mark_notifications_readlinkedin_delete_notificationDelete a single notification, matched by a distinctive substring of its text.
linkedin_get_settingslinkedin_update_settinglinkedin_request_data_exportlinkedin_search_peoplelinkedin_send_connection_requestlinkedin_get_invitationslinkedin_respond_to_invitationlinkedin_withdraw_invitationlinkedin_followlinkedin_remove_connectionlinkedin_get_connectionslinkedin_get_followersList people who follow the signed-in user without necessarily being connected.
linkedin_get_followingList the people the signed-in user follows.
linkedin_get_network_statsSummarise network size: connection count, follower count and pending invitation counts.
linkedin_export_connectionslinkedin_get_conversationslinkedin_get_conversation_historylinkedin_search_conversationsSearch the message inbox by keyword or participant name.
linkedin_send_messagelinkedin_reply_to_conversationSend a message into an existing conversation thread by its id.
linkedin_manage_conversationlinkedin_export_conversationsExport conversations — optionally including full message history — to JSON, CSV or Markdown.
linkedin_create_postlinkedin_edit_postlinkedin_delete_postPermanently delete one of your own posts, along with its reactions and comments. This cannot be undone.
linkedin_react_to_postlinkedin_comment_on_postlinkedin_reply_to_commentlinkedin_repostlinkedin_save_postBookmark a post to the user's saved items for later reading.
linkedin_get_postslinkedin_get_postRead a single post in detail by URN, activity id or URL.
linkedin_get_post_commentslinkedin_save_draftlinkedin_list_draftsList locally saved post drafts that have not yet been published.
linkedin_publish_draftlinkedin_delete_draftDelete a local post draft. This only affects this server's store, not LinkedIn.
linkedin_export_postslinkedin_get_profilelinkedin_get_contact_infolinkedin_update_headlinelinkedin_update_aboutlinkedin_update_locationlinkedin_add_experiencelinkedin_add_educationAdd an education entry to the profile. School names are matched against LinkedIn's directory.
linkedin_add_certificationAdd a licence or certification to the profile.
linkedin_add_projectAdd a project to the profile — useful for portfolio work, open source and side projects.
linkedin_add_publicationAdd a publication (paper, article, book) to the profile.
linkedin_add_awardAdd an honour or award to the profile.
linkedin_add_volunteer_experienceAdd volunteer experience to the profile.
linkedin_add_languageAdd a language to the profile with an optional proficiency level.
linkedin_edit_profile_sectionlinkedin_delete_profile_sectionlinkedin_add_skilllinkedin_remove_skillRemove a skill from the profile, along with any endorsements it has accumulated.
linkedin_upload_profile_photolinkedin_upload_bannerlinkedin_set_open_to_worklinkedin_get_profile_analyticslinkedin_analyse_profile1 further tool is not listed here. The complete surface is in the source.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default
Playwright downloads and installs browsers without verifying the authenticity of the SSL certificate
BROWSER_CHANNELDRY_RUNfalse When true, mutating tools validate and report but never executeLINKEDIN_COOKIE_FILESet exactly one strategy. LINKEDIN_LI_AT outranks ,LINKEDIN_LI_ATSet exactly one strategy. outranks LINKEDIN_COOKIE_FILE,LINKEDIN_MCP_SKIP_BROWSER_DOWNLOADMCP_HTTP_HOST127.0.0.1 Bind address; non-loopback requires a tokenMCP_HTTP_PATH/mcp Endpoint path (/health is always available)MCP_HTTP_PORT3000 Port to listen onMCP_HTTP_TOKENexport ="$(openssl rand -hex 32)" # required for any non-loopback bindRESUME_JSONXDG_DATA_HOMELinux $/linkedin-mcp/chrome-profilePORTDependencies
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.
[](https://m8ven.ai/mcp/sabari2005/linkedin-mcp-server)?variant=verified from the URL.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