Substack MCP vs Linkedin MCP Server

A side-by-side look at the Substack MCP and Linkedin MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Substack MCP logoSubstack MCPSocial Media · Local subprocess (stdio)MCP server for Substack — read posts, manage drafts, publish Notes, get comments, and upload images. Safe by design: cannot publish or delete posts.68GreatAuth: other
L
Linkedin MCP ServerSocial Media · Local subprocess (stdio)
Open-source MCP server for LinkedIn. Give Claude and any MCP-compatible AI agent access to profiles, companies, jobs, and messages.67GreatAuth: other

Verdict: choose Substack MCP for social media work as a local process; choose Linkedin MCP Server for social media as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Substack MCP logoChoose Substack MCP when

  • You need dedicated capabilities in the Social Media domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: other.
  • You have the keys it needs: SUBSTACK_PUBLICATION_URL, SUBSTACK_SESSION_TOKEN, SUBSTACK_USER_ID, SUBSTACK_MCP_HOME.
  • You want tools like get_subscriber_count, list_published_posts, list_drafts.
Explore Substack MCP

L
Choose Linkedin MCP Server when

  • You need dedicated capabilities in the Social Media domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: other.
  • You want tools like get_person_profile, search_people, connect_with_person.
Explore Linkedin MCP Server

Feature & specification comparison

Rows where the two servers differ are marked.

SpecSubstack MCP logoSubstack MCP
L
Linkedin MCP Server
CategorySocial MediaSocial Media
Quality signal68/100 · Great67/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
Authotherother
PricingFreeFree
Required env varsSUBSTACK_PUBLICATION_URLSUBSTACK_SESSION_TOKENSUBSTACK_USER_IDSUBSTACK_MCP_HOMENone listed
Verified ownerCommunity listingCommunity listing
GitHub stars443,961
Directory activity 6 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools1420

Tools & capabilities

Substack MCP tools 14

  • get_subscriber_countGet the current subscriber count for your Substack publication. Returns `precision`: 'exact' when the API reports a true count, 'approximate' when only Substack's rounded value is available (the real number is that or higher — render it hedged, e.g. '1,000+'), or 'unavailable' with count -1. Never treat an approximate value as exact.
  • list_published_postsList published posts with pagination. Returns title, date, slug, and URL for each post.
  • list_draftsList draft posts. Returns title, creation date, and audience for each draft.
  • get_postGet the full content of a published post by ID. Returns title, body HTML, metadata.
  • get_draftGet the full content of a draft post by ID. Returns title, body, metadata.
  • get_post_commentsGet comments on a published post. Returns commenter name, comment body, date, and reaction counts.
  • get_sectionsList your publication's sections (categories). Returns each section's id and name. Use a section id as `section_id` when creating or updating a draft to file it under that section.
  • get_post_analyticsGet performance stats (views, emails sent/delivered/opened, signups, subscribes, estimated value, comments, reactions) for a published post by ID. Substack has no per-post stats endpoint, so this searches your 500 most recent published posts for the ID; returns a not-found note if it isn't among them.
  • list_scheduled_postsList posts scheduled for future publication, soonest first. Read-only visibility into what's queued — scheduling itself is done in Substack's editor (this server does not schedule, publish, or delete long-form posts). Returns id, title, audience, and scheduled time (`trigger_at`).
  • create_draftCreate a new draft post. Accepts markdown body which is converted to Substack's format. Does NOT publish — creates a draft only.
  • update_draftUpdate an existing draft post. Only works on unpublished drafts. Accepts markdown body.
  • upload_imageUpload an image to Substack's CDN. Provide exactly one of `image_base64` (a base64 data URI) or `image_path` (a local file path). Returns a hosted image URL that is publicly fetchable by anyone with the link (an unlisted asset — not attributed to you or added to your feed).
  • +2 more on the listing page

Linkedin MCP Server tools 20

  • get_person_profileGet a specific person's LinkedIn profile.
  • search_peopleSearch for people on LinkedIn.
  • connect_with_personSend a LinkedIn connection request or accept an incoming one. The tool is annotated with destructiveHint so MCP clients will prompt for user confirmation before execution.
  • get_sidebar_profilesGet profile links from sidebar recommendation sections on a LinkedIn profile page. Extracts profiles from "More profiles for you", "Explore premium profiles", and "People you may know" sidebar sections. Follows "Show all" links to return the full list from each section. Sections that redirect to linkedin.com/premium are skipped.
  • get_my_profileGet the authenticated user's own LinkedIn profile. Navigates to /in/me/ and resolves the redirect to obtain the real username before reading the profile, so the url field in the result is the actual profile URL (e.g. linkedin.com/in/johndoe/) rather than /in/me/.
  • get_company_profileGet a specific company's LinkedIn profile.
  • get_company_postsGet recent posts from a company's LinkedIn feed.
  • search_companiesSearch for companies on LinkedIn.
  • get_company_employeesList employees at a company from the LinkedIn /people/ page, including the demographics aggregate that this view exposes: where employees live, where they studied, and a function breakdown (Engineering, Sales, Operations, etc.). The demographics are unique to this tool. For filtered search by network degree (1st/2nd/3rd) or location, prefer search_people with current_company set to the company URN id. That path also returns more result pages than the /people/ tab. The optional keywords filter narrows results by name, title, or skill. company_name must be the exact LinkedIn URL slug (the path segment after /company/), not the display name. LinkedIn assigns unique slugs and the display name often does not match. For example, the AI lab Anthropic lives at /company/anthropicresearch/, not /company/anthropic/. If you are unsure of the slug, call search_companies first and pick the slug from the returned references.
  • get_job_detailsGet job details for a specific job posting on LinkedIn.
  • get_job_apply_urlGet how a job posting takes applications, and the employer's application link. Reads the posting without clicking anything.
  • search_jobsSearch for jobs on LinkedIn. Returns job_ids that can be passed to get_job_details for full info.
  • +8 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Substack MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "conorbronsdon-substack-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@conorbronsdon/substack-mcp"
      ],
      "env": {
        "SUBSTACK_PUBLICATION_URL": "YOUR_SUBSTACK_PUBLICATION_URL_HERE",
        "SUBSTACK_SESSION_TOKEN": "YOUR_SUBSTACK_SESSION_TOKEN_HERE",
        "SUBSTACK_USER_ID": "YOUR_SUBSTACK_USER_ID_HERE",
        "SUBSTACK_MCP_HOME": "YOUR_SUBSTACK_MCP_HOME_HERE"
      }
    }
  }
}

Linkedin MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "linkedin-mcp-server-3": {
      "command": "uvx",
      "args": [
        "mcp-server-linkedin"
      ]
    }
  }
}

Frequently asked questions

Substack MCP is categorized under Social Media and uses a local stdio subprocess. Linkedin MCP Server belongs to Social Media and uses a local stdio subprocess. Pick Substack MCP for social media work and Linkedin MCP Server for social media.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Substack MCP is listed as free. Auth: other. Linkedin MCP Server is listed as free. Auth: other. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add conorbronsdon-substack-mcp and linkedin-mcp-server-3 as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Substack MCP has a quality signal of 68/100 (Great) with 6 views, 0 installs and 44 GitHub stars. Linkedin MCP Server has 67/100 (Great) with 1 views, 0 installs and 3,961 GitHub stars.