LinkedIn MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP server port | 3000 |
| CACHE_TTL | No | Cache TTL in seconds | 300 |
| LOG_LEVEL | No | Log level: debug, info, warn, error | info |
| TRANSPORT | No | Transport mode: stdio or http | stdio |
| RATE_LIMIT_RPM | No | Max requests per minute | 30 |
| LINKEDIN_COOKIE | No | LinkedIn li_at session cookie | |
| REQUEST_TIMEOUT | No | Request timeout in milliseconds | 30000 |
| LINKEDIN_CSRF_TOKEN | No | LinkedIn JSESSIONID for CSRF protection | |
| LINKEDIN_ACCESS_TOKEN | No | LinkedIn OAuth access token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | Report server version, browser/login status, and capabilities. |
| health_checkA | 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). |
| close_sessionA | Close the browser context and release resources (kills the Chrome process). |
| get_my_profileA | Get the authenticated user's own LinkedIn profile (experience, education, headline, summary). |
| get_profileA | Get a LinkedIn profile by public identifier (the slug in the profile URL, e.g. "satyanadella"). |
| get_feedB | Get recent posts from your LinkedIn home feed (author + post text). |
| get_notificationsB | Get your recent LinkedIn notifications (headline, time, read state). |
| search_peopleA | Search LinkedIn people by keywords. Returns name, headline, location, and public identifier (pass that to get_profile for full details). |
| search_jobsA | Search LinkedIn jobs by keywords (and optional location). Returns title, location, posted time. |
| get_inboxA | List your recent LinkedIn messaging conversations (title, last activity, unread count). |
| get_job_detailsA | Get full details for a job posting by its numeric id (the digits in /jobs/view/ or from search_jobs jobUrn). |
| search_companiesA | Search LinkedIn companies by keywords. Returns name + universalName slug (pass that to get_company for full details). |
| get_companyB | Get a company by its LinkedIn URL slug (e.g. "google", "microsoft"). Returns name, description, website, industry, size, HQ. |
| get_company_postsA | Get a company's recent posts by its LinkedIn URL slug (e.g. "google"). Returns post text + a short meta line. |
| get_company_employeesA | List employees LinkedIn surfaces for a company (by URL slug). Returns name, headline, and public identifier (feed the slug to get_profile). Prospecting core. |
| get_pending_invitationsA | List your pending connection invitations — received (inbound, with the urn/sharedSecret to accept later) and sent (outbound). Read-only. |
| get_conversationA | Read messages in a LinkedIn conversation by its URN (get the URN from get_inbox). |
| connect_with_personA | [ALPHA, write] Send a connection request. Gated: requires confirm:true. Returns a structured status (ok | duplicate | already_connected | restricted | quota_exhausted | failed). Counts against the daily connect cap. |
| send_messageA | [ALPHA, write] Send a message. Pass thread_id / conversation_urn to REPLY into an existing conversation (verified); otherwise a new thread is started to recipient_urn (best-known). Gated: requires confirm:true. Returns a structured status. Counts against the daily message cap. |
| create_postA | [ALPHA, write] Publish a text post to your feed. Gated: requires confirm:true. Returns a structured status. |
| react_to_postA | [ALPHA, write] React to a post. Gated: requires confirm:true. Returns a structured status. |
| comment_on_postA | [ALPHA, write] Comment on a post. Gated: requires confirm:true. Returns a structured status. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/devag7/linkedin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server