linkedin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | Port for HTTP transport (default 8000) | 8000 |
| LI_MCP_TOON | No | Use TOON format for responses (true/false) | true |
| LI_MCP_DEDUP | No | Enable engagement deduplication (true/false) | true |
| MCP_TRANSPORT | No | Transport mode: stdio or http (default stdio) | stdio |
| LI_MCP_COMPACT | No | Use compact response shapes (true/false) | true |
| LI_MCP_MAX_POSTS | No | Max posts per day (-1 unlimited, 0 disabled) | 5 |
| LI_MCP_ADMIN_USER | No | HTTP Basic Auth admin username (for HTTP transport) | |
| LI_MCP_STATE_FILE | No | Path to state JSON file | linkedin-mcp-state.json |
| LINKEDIN_CLIENT_ID | Yes | LinkedIn OAuth client ID from developer app | |
| LI_MCP_MAX_DELETES | No | Max post deletions per day (-1 unlimited, 0 disabled) | 3 |
| LI_MCP_MAX_COMMENTS | No | Max comments per day (-1 unlimited, 0 disabled) | 10 |
| LI_MCP_MAX_REACTIONS | No | Max reactions per day (-1 unlimited, 0 disabled) | 30 |
| LINKEDIN_REDIRECT_URI | Yes | OAuth redirect URI (must match LinkedIn app setting) | |
| LI_MCP_ADMIN_PASSWORD | No | HTTP Basic Auth admin password (for HTTP transport) | |
| LINKEDIN_CLIENT_SECRET | Yes | LinkedIn OAuth client secret |
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 |
|---|---|
| get_meA | Get the authenticated LinkedIn member's profile (Person URN, name, email). |
| create_postA | Publish a text post on LinkedIn as the authenticated member. Optionally attach a link (article share). For images use create_image_post. |
| upload_mediaA | Upload an image (base64) and return its image URN for use in create_image_post / create_multi_image_post. |
| create_image_postB | Publish a post with a single image. Provide image_urn (from upload_media) or image_data (base64). |
| create_multi_image_postA | Publish a post with 2-20 images. Each image may be an existing urn or base64 data. |
| reshare_postB | Reshare an existing post (by URN or URL) with your own commentary. |
| comment_on_postB | Add a comment to a post (by URN or URL) as the authenticated member. |
| react_to_postC | React to a post (by URN or URL). Reaction defaults to LIKE. |
| delete_postA | Delete one of your own posts (by URN or URL). Budget-limited; set LI_MCP_MAX_DELETES=0 to disable. |
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 9 tools
Each tool targets a distinct action (comment, create different post types, delete, react, reshare, upload, profile fetch) with no overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case, such as comment_on_post, create_image_post, and react_to_post.
9 tools cover the core LinkedIn posting and engagement actions without being excessive or insufficient.
Covers creation, deletion, commenting, reacting, and resharing posts, but lacks retrieval tools like get_post or list_posts, which is a minor gap.