linkedin-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_READ_ONLY | No | Set to '1' to refuse any state-changing operations (posting, deleting). | |
| MCP_NO_DESTRUCTIVE | No | Set to '1' to allow posting but refuse delete operations. | |
| LINKEDIN_API_VERSION | No | Optional override for the LinkedIn API version header (format YYYYMM). If not set, the server uses its pinned default. Set this if the default is retired (returns 426). | |
| LINKEDIN_ACCESS_TOKEN | Yes | LinkedIn OAuth access token. Obtainable from LinkedIn's developer portal OAuth Token Generator. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| linkedin_get_meB | The authenticated member — id, name and email if the token carries the scope. |
| linkedin_create_postA | Publish to LinkedIn. ⚠️ There is NO draft state — LinkedIn's Posts API has no unpublished lifecycle to fall back on, so this goes live the moment it succeeds. Any human approval has to happen BEFORE this is called, never after. An image is uploaded and confirmed first, so a picture LinkedIn rejects fails before anything is published — a LinkedIn post cannot be edited afterwards to add media. |
| linkedin_delete_postA | Delete one of your own posts by URN. Irreversible. |
| linkedin_callA | Call any LinkedIn endpoint directly. LinkedIn publishes no machine-readable spec, so this server does not claim a complete catalogue — this is how you reach the rest of the API. Paths are relative to https://api.linkedin.com. A /rest/ path automatically gets the version and protocol headers. ⚠️ Comments are NOT reachable, whatever scopes you hold. See the README. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool targets a distinct operation: profile retrieval, post creation, post deletion, and raw API access. The generic linkedin_call is clearly a fallback for reaching untapped endpoints, so there is no meaningful overlap with the specialized tools.
All tools share the linkedin_ prefix and follow a consistent verb-based pattern: get_me, create_post, delete_post, call. The generic call still fits the verb scheme, so there is no naming convention mixing.
Four tools is well-scoped for a server that covers profile lookup and post creation/deletion, backed by a raw API fallback. This is within the ideal range and each tool earns its place.
The server covers basic profile access and post create/delete, but lacks convenient read operations like get_post or list_posts. The raw linkedin_call can fill the gap, but agents are forced to use it for standard tasks, and comments are explicitly unsupported.