linkedin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LINKEDIN_ENGINE_HOME | No | Where the credentials live. The token is read from the credential store used by linkedin-engine; it is never a tool argument. | ~/.config/linkedin-engine |
| LINKEDIN_ENGINE_PROFILE | No | The written profile to diff against. | content/profile.json |
| LINKEDIN_ENGINE_VISIBILITY | No | The default visibility for a post. | PUBLIC |
| LINKEDIN_ENGINE_ALLOW_PUBLISH | No | Set to `1` to let the server write to LinkedIn. Publishing is off by default: reads always work, but writes require this to be set to `1` in the server's environment. | off |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| linkedin_get_profileA | Read the authenticated member's LinkedIn profile: name, headline, about and location. Use this before editing the profile, so you know what is live rather than guessing. |
| linkedin_update_profileA | Update the headline, the about section or the location on the profile. This is a dry run unless publishing has been enabled on the server, so it reports what would change before it changes anything. Returns the diff against the live profile. |
| linkedin_check_postA | Run the quality gate over a draft post and return what is wrong with it. Errors block publishing: the announcement formulas, emoji used as punctuation, a first line that is a greeting rather than a claim, a post with no link in it, and a length that says nothing. Warnings do not block. Use this before every post. |
| linkedin_publish_postA | Publish a text post to the member's feed. The quality gate runs first and refuses to publish a draft that fails it. This is a dry run unless publishing has been enabled on the server. Prefer linkedin_check_post first, so you can fix the problems it finds. |
| linkedin_token_statusA | Report what the stored LinkedIn token is allowed to do: whether it has expired, whether it can be refreshed, and which scopes were granted. Use this when publishing fails, to find out whether the application is missing the Share on LinkedIn product. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| linkedin_draft_post | Draft a LinkedIn post about something that actually happened, and run it through the quality gate. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Live profile | The live LinkedIn profile of the authenticated member. |
| Written profile | The written profile, as text, ready to paste into LinkedIn. The server keeps the profile in a versioned file so a change is a pull request rather than an edit in a form. |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: reading the profile, updating it, checking a draft post, publishing a post, and inspecting token status. The get/update and check/publish pairs are naturally separated by read-vs-write and validate-vs-execute semantics. There is no meaningful overlap that would cause misselection.
All tools use the linkedin_ prefix and mostly follow a verb_noun pattern: update_profile, check_post, publish_post, get_profile. linkedin_token_status is a noun-style status tool rather than a verb-led action, which is a minor but sensible deviation.
Five tools is well-scoped for a LinkedIn profile-and-posting server. Each tool earns its place across the read, validate, publish, update, and auth-diagnostic workflow.
The surface covers the core lifecycle: read profile, update profile, validate a draft, publish it, and diagnose token scopes. Minor gaps remain around managing already-published posts, such as listing, editing, or deleting them, but the main workflows are covered.