# ContentIn, LinkedIn Ghostwriter Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## ContentIn, LinkedIn Ghostwriter

Write and schedule LinkedIn posts in your voice with AI assistance, track engagement and build your content bank.

- Record: https://musedirectory.ai/connector/contentin-linkedin-ghostwriter
- Category: Marketing & Ads
- Developer: ContentIn (https://contentin.io/linkedin-mcp-server/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 288ms, checked 2026-09-28T09:01:18Z
- Endpoint: https://mcp.contentin.io/mcp-server
- Auth: Needs an access key; Pricing: unknown
- Screening: Screened, no issues found (2026-09-25T00:46:01Z)
- Source: Found in the official MCP Registry (io.contentin/linkedin) https://registry.modelcontextprotocol.io/v0/servers?search=io.contentin%2Flinkedin

Connects to your LinkedIn account to help you write posts in your own voice using your past content as style examples. Draft, schedule, publish, and analyze post performance. Capture stories and insights into your content bank for future posts.

Example request: "Help me turn this client win into a LinkedIn post that sounds like me and schedule it for Thursday morning."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use ContentIn, LinkedIn Ghostwriter to help me. It is a free service with an MCP server at https://mcp.contentin.io/mcp-server. It needs an API key from ContentIn; ask me to enter it through your secure credential prompt. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- list_posts: List the posts on this ContentIn profile — drafts, scheduled, published and ideas. Use this to find a post's id before scheduling, publishing, repurposing or pulling analytics for it, and to answer questions about what the user has written or has queued up. Returns a 280-characte
- get_post_analytics: Get LinkedIn performance for one published ContentIn post: impressions, members reached, likes, comments, shares, and a derived engagement rate. IMPORTANT: metrics are fetched on a schedule and only for posts published through a connected LinkedIn account, so a post can legitimat
- list_my_comments: List the comments this user has left on OTHER people's LinkedIn posts, newest first, with the comment urn and a direct link to each one. Use it to review their commenting activity, to find a conversation they joined, or to hand the identifiers to another tool. HOW THIS DATA IS CO
- list_leads: List the people who engaged with THIS user's own LinkedIn posts — their name, headline, LinkedIn profile, how they engaged, what they commented, which posts pulled them in, and ContentIn's ICP fit score. Use it to answer 'who is engaging with me', to find warm contacts, or to see
- write_post_in_my_voice: THE MAIN TOOL. Write a LinkedIn post in this user's own voice, from their own material. Use it whenever the user describes something they want to post about — a story, an opinion, a result, a lesson, a rough brief. It runs ContentIn's voice pipeline: their VoiceDNA, their real pa
- attach_images: Attach one or more images to a ContentIn post that is not published yet. IMAGES ONLY — JPG, PNG or WEBP, at least 200×200px, at most 8 MB each, and at most 5 per post. Video, GIFs, PDFs and document carousels are NOT supported and will be refused, so do not try to attach one. Pas
- repurpose_post: Rewrite an existing post from a new angle, in the user's voice. Pass post_id (a ContentIn post id from list_posts) to repurpose one of their own posts — the current text is read from ContentIn, so you do not need to have seen it. Pass original_post instead to repurpose text you a
- generate_ideas: Generate fresh LinkedIn post ideas for a COLD request — the user wants options but has NOT given you material of their own ('what should I post about this week?', 'ideas for [topic]'). Ideas are grounded in the user's content pillars and their substance bank, so they are theirs r
- capture_substance: Save a piece of the user's first-party substance — a story, an opinion, a data point, or a framework — into their ContentIn content bank, filed under one of their content pillars. This is the highest-leverage thing you can do for them: everything ContentIn writes later is grounde
- schedule_post: Queue a post for automatic publishing to LinkedIn at a given time. TWO-STEP AND DELIBERATELY SO: call it first WITHOUT confirm_token to get back the exact text and a confirm_token; show that exact text to the user, get their explicit go-ahead, then call again with the same argume
- publish_post: Publish a post to the user's LinkedIn immediately. THIS IS IRREVERSIBLE — it is public the moment it succeeds. TWO-STEP AND MANDATORY: call it first WITHOUT confirm_token to get back the exact text that would go out and a confirm_token; show that exact text to the user in full, a

Screening checks:
- MCP handshake: pass (Answered in 757ms)
- Domain against threat feeds (Cloudflare security DNS): pass (mcp.contentin.io, contentin.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: warn (publish_post: Tool text tells the model to take extra steps)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
