accueil / serveurs / Recherche & Web / io.github.devag7/linkedin-mcp
io.github.devag7/linkedin-mcp
serveur MCP (Model Context Protocol)
Aucun comportement malveillant détecté au test comportemental.
Est-ce que io.github.devag7/linkedin-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.devag7/linkedin-mcp » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Versions auditées & empreintes
Vérifiez la version que vous utilisez : son empreinte doit correspondre à celle listée ici — sinon vous n'utilisez pas la version auditée.
Vous utilisez ce serveur ? Suivez-le (créez un compte) pour être alerté dès qu'une nouvelle version paraît ou que le verdict change.
Les 22 outils
- whoami≈ 52 tokens
Report server version, browser/login status, and capabilities.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "whoami", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - health_check≈ 91 tokens
Deep health check: cookie login state, a LIVE Voyager probe (confirms the API actually answers, not just that a cookie exists), and today's safety-budget headroom (per-action used/cap/remaining + pending invites).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "health_check", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - close_session≈ 63 tokens
Close Chrome while retaining this runtime’s profile ownership. Stop the server to release the profile.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "close_session", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_my_profile≈ 61 tokens
Get the authenticated user's own LinkedIn profile (experience, education, headline, summary).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_my_profile", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_profile≈ 108 tokens
Get a LinkedIn profile by public identifier (the slug in the profile URL, e.g. "satyanadella").
Paramètres, retour & exemple (1)
Paramètresusername· string · requis
LinkedIn public identifier / vanity slug, e.g. "williamhgates"
Exemple d'appel{"name": "get_profile", "arguments": {"username": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_feed≈ 173 tokens
Get recent posts from your LinkedIn home feed (author + post text).
Paramètres, retour & exemple (3)
Paramètrescount· integer · optionnel
Number of posts (default 10)cursor· string · optionnel
Opaque nextCursor from the same tool, query and count. Do not combine with offset.offset· integer · optionnel
Explicit zero-based offset; maximum 1000. One provider page per call.
Exemple d'appel{"name": "get_feed", "arguments": {"count": 1, "cursor": "texte", "offset": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_notifications≈ 178 tokens
Get your recent LinkedIn notifications (headline, time, read state).
Paramètres, retour & exemple (3)
Paramètrescount· integer · optionnel
Number of notifications (default 20)cursor· string · optionnel
Opaque nextCursor from the same tool, query and count. Do not combine with offset.offset· integer · optionnel
Explicit zero-based offset; maximum 1000. One provider page per call.
Exemple d'appel{"name": "get_notifications", "arguments": {"count": 1, "cursor": "texte", "offset": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_people≈ 142 tokens
Search LinkedIn people by keywords. Returns name, headline, location, and public identifier (pass that to get_profile for full details).
Paramètres, retour & exemple (2)
Paramètrescount· integer · optionnel
Results (default 10)keywords· string · requis
Search keywords, e.g. "recruiter at Google"
Exemple d'appel{"name": "search_people", "arguments": {"keywords": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_jobs≈ 241 tokens
Search LinkedIn jobs by keywords (and optional location). Returns title, location, posted time.
Paramètres, retour & exemple (5)
Paramètrescount· integer · optionnel
Results (default 10)cursor· string · optionnel
Opaque nextCursor from the same tool, query and count. Do not combine with offset.offset· integer · optionnel
Explicit zero-based offset; maximum 1000. One provider page per call.keywords· string · requis
Job search keywords, e.g. "software engineer"location_geo_id· string · optionnel
Optional LinkedIn geo URN id to scope the location
Exemple d'appel{"name": "search_jobs", "arguments": {"keywords": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_inbox≈ 96 tokens
List a bounded first page of recent conversations with participant names, headlines and profile links. Continuation is not verified.
Paramètres, retour & exemple (1)
Paramètrescount· integer · optionnel
Exemple d'appel{"name": "get_inbox", "arguments": {"count": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_job_details≈ 108 tokens
Get full details for a job posting by its numeric id (the digits in /jobs/view/<id> or from search_jobs jobUrn).
Paramètres, retour & exemple (1)
Paramètresjob_id· string · requis
Numeric job id, e.g. "4423697734"
Exemple d'appel{"name": "get_job_details", "arguments": {"job_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_companies≈ 137 tokens
Search LinkedIn companies by keywords. Returns name + universalName slug (pass that to get_company for full details).
Paramètres, retour & exemple (2)
Paramètrescount· integer · optionnel
Results (default 10)keywords· string · requis
Search keywords, e.g. "fintech bangalore"
Exemple d'appel{"name": "search_companies", "arguments": {"keywords": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_company≈ 111 tokens
Get a company by its LinkedIn URL slug (e.g. "google", "microsoft"). Returns name, description, website, industry, size, HQ.
Paramètres, retour & exemple (1)
Paramètresuniversal_name· string · requis
Company URL slug, e.g. "google"
Exemple d'appel{"name": "get_company", "arguments": {"universal_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_company_posts≈ 138 tokens
Get a company's recent posts by its LinkedIn URL slug (e.g. "google"). Returns post text + a short meta line.
Paramètres, retour & exemple (2)
Paramètrescount· integer · optionnel
Posts to return (default 10)universal_name· string · requis
Company URL slug, e.g. "google"
Exemple d'appel{"name": "get_company_posts", "arguments": {"universal_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_company_employees≈ 155 tokens
List employees LinkedIn surfaces for a company (by URL slug). Returns name, headline, and public identifier (feed the slug to get_profile). Prospecting core.
Paramètres, retour & exemple (2)
Paramètrescount· integer · optionnel
Employees to return (default 10)universal_name· string · requis
Company URL slug, e.g. "anthropicresearch"
Exemple d'appel{"name": "get_company_employees", "arguments": {"universal_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_pending_invitations≈ 149 tokens
List your pending connection invitations — received (inbound, with the urn/sharedSecret to accept later) and sent (outbound). Read-only.
Paramètres, retour & exemple (2)
Paramètrescount· integer · optionnel
Max per direction (default 50)direction· string · optionnel · received | sent | both
Which queue to return (default both)
Exemple d'appel{"name": "get_pending_invitations", "arguments": {"count": 1, "direction": "received"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_conversation≈ 146 tokens
Read a bounded page of messages by the conversation URN from get_inbox, sorted oldest-first with sender attribution when present. Continuation is not verified.
Paramètres, retour & exemple (2)
Paramètrescount· integer · optionnelconversation_urn· string · requis
Full urn:li:msg_conversation:(...) from a get_inbox result
Exemple d'appel{"name": "get_conversation", "arguments": {"conversation_urn": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - connect_with_person≈ 402 tokens
[ALPHA, write] Send a connection request. Gated: requires confirm:true. Returns a structured status (ok | duplicate | already_connected | restricted | quota_exhausted | failed | unknown). Counts against the daily connect cap.
Paramètres, retour & exemple (6)
Paramètresconfirm· boolean · optionnel
Must be true to actually execute. Omit/false = refuse (safety).message· string · optionnel
Optional note (max 300 chars)profile_id· string · requis
The fsd_profile id (the ACoAA… part of the profile URN)operation_id· string · optionnel
Caller-generated unique ID (8-128 letters, digits, _ or -). Reuse the same ID and inputs to retrieve the stored outcome without resubmitting, including after a timeout. If omitted for a preview, the server generates one. New submissions require the preview operation ID.preview_hash· string · optionnel
Hash returned by the reviewed preview. Rejects changed target/content before any browser action.preview_token· string · optionnel
Server-issued, five-minute preview token. Required for a new submission together with its operation_id. Not required for a journal lookup.
Exemple d'appel{"name": "connect_with_person", "arguments": {"profile_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send_message≈ 476 tokens
[ALPHA, write] Send a message. Pass thread_id / conversation_urn to REPLY into an existing conversation; new threads require a separate experimental opt-in and lack current live success evidence. Gated: requires confirm:true. Returns a structured status. Counts against the daily message cap.
Paramètres, retour & exemple (7)
Paramètresconfirm· boolean · optionnel
Must be true to actually execute. Omit/false = refuse (safety).message· string · requis
Message body (multiline supported)thread_id· string · optionnel
Existing thread id (2-…) or full msg_conversation urn to reply into (preferred over recipient_urn).operation_id· string · optionnel
Caller-generated unique ID (8-128 letters, digits, _ or -). Reuse the same ID and inputs to retrieve the stored outcome without resubmitting, including after a timeout. If omitted for a preview, the server generates one. New submissions require the preview operation ID.preview_hash· string · optionnel
Hash returned by the reviewed preview. Rejects changed target/content before any browser action.preview_token· string · optionnel
Server-issued, five-minute preview token. Required for a new submission together with its operation_id. Not required for a journal lookup.recipient_urn· string · optionnel
Recipient member URN (urn:li:fsd_profile:ACoAA…). Required when starting a NEW thread.
Exemple d'appel{"name": "send_message", "arguments": {"message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_post≈ 354 tokens
[ALPHA, write] Publish a text post to your feed. Gated: requires confirm:true. Returns a structured status.
Paramètres, retour & exemple (6)
Paramètrestext· string · requis
Post textconfirm· boolean · optionnel
Must be true to actually execute. Omit/false = refuse (safety).visibility· string · optionnel · PUBLIC | CONNECTIONS
Audienceoperation_id· string · optionnel
Caller-generated unique ID (8-128 letters, digits, _ or -). Reuse the same ID and inputs to retrieve the stored outcome without resubmitting, including after a timeout. If omitted for a preview, the server generates one. New submissions require the preview operation ID.preview_hash· string · optionnel
Hash returned by the reviewed preview. Rejects changed target/content before any browser action.preview_token· string · optionnel
Server-issued, five-minute preview token. Required for a new submission together with its operation_id. Not required for a journal lookup.
Exemple d'appel{"name": "create_post", "arguments": {"text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - react_to_post≈ 376 tokens
[ALPHA, write] React to a post. Gated: requires confirm:true. Returns a structured status.
Paramètres, retour & exemple (6)
Paramètresconfirm· boolean · optionnel
Must be true to actually execute. Omit/false = refuse (safety).post_urn· string · requis
The post ACTIVITY urn, e.g. urn:li:activity:7472… (not the share urn)reaction· string · optionnel · LIKE | PRAISE | EMPATHY | INTEREST | APPRECIATION | ENTERTAINMENToperation_id· string · optionnel
Caller-generated unique ID (8-128 letters, digits, _ or -). Reuse the same ID and inputs to retrieve the stored outcome without resubmitting, including after a timeout. If omitted for a preview, the server generates one. New submissions require the preview operation ID.preview_hash· string · optionnel
Hash returned by the reviewed preview. Rejects changed target/content before any browser action.preview_token· string · optionnel
Server-issued, five-minute preview token. Required for a new submission together with its operation_id. Not required for a journal lookup.
Exemple d'appel{"name": "react_to_post", "arguments": {"post_urn": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - comment_on_post≈ 369 tokens
[ALPHA, write] Comment on a post. Gated: requires confirm:true. Returns a structured status.
Paramètres, retour & exemple (6)
Paramètrestext· string · requis
Comment textconfirm· boolean · optionnel
Must be true to actually execute. Omit/false = refuse (safety).post_urn· string · requis
The post ACTIVITY urn, e.g. urn:li:activity:7472… (not the share urn)operation_id· string · optionnel
Caller-generated unique ID (8-128 letters, digits, _ or -). Reuse the same ID and inputs to retrieve the stored outcome without resubmitting, including after a timeout. If omitted for a preview, the server generates one. New submissions require the preview operation ID.preview_hash· string · optionnel
Hash returned by the reviewed preview. Rejects changed target/content before any browser action.preview_token· string · optionnel
Server-issued, five-minute preview token. Required for a new submission together with its operation_id. Not required for a journal lookup.
Exemple d'appel{"name": "comment_on_post", "arguments": {"text": "texte", "post_urn": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/io.github.devag7--linkedin-mcp)
<a href="https://dokore.fr/serveur/io.github.devag7--linkedin-mcp"><img src="https://dokore.fr/badge/io.github.devag7--linkedin-mcp.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
linkedin-mcp-tools@4.1.0