LinkedIn MCP server Let your AI agent run your LinkedIn.

Schedule posts, answer comments and messages, invite leads and search people and companies from your AI agent. It works in your own signed-in LinkedIn, so there is no API key or developer app. Cotlet runs it hosted, around the clock.

  • Free 7-day trial, no card
  • Not affiliated with LinkedIn
LinkedIn logo LinkedIn Cloud Browser

15 tools Read and write

Posting to follow-up

What can your AI agent do in LinkedIn? Posts, replies, invitations and messages.

  • Schedule a week of posts

  • Reply to comments on your posts

  • Invite a lead list to connect

  • Follow up with leads in messages

  • Build a prospect list from company search

  • Clean up pending invitations

API yes, MCP no

Does LinkedIn have an MCP server or an API? An API for approved apps, no MCP server for your agent.

LinkedIn has no official MCP server, and most of its official API needs an approved application (checked 6 Nov 2026). Cotlet adds 15 LinkedIn tools for Claude, ChatGPT and scripts: no API key to request, no developer app to register, hosted all day, and one account for your other apps too.

  • The open permissions are sign-in and Share on LinkedIn: any app registered in the developer portal can post, comment and like for the member who signs in. Messages, invitations, connections and people search are not among them.
  • The Community Management API covers Company Page posts, comments and analytics. It is a vetted product with a development tier and a standard tier, and reading member posts is a closed permission. Advertising, Sales Navigator and Talent need partner approval.
  • Zapier has a LinkedIn app with two actions, Create Share Update and Create Company Update, and no triggers. Zapier MCP exposes the same two. n8n has a LinkedIn node for posting.
The LinkedIn API, a GitHub MCP server and Cotlet compared
What you need Official APIGitHub serverCotlet
Post and comment as yourself Yes, your own app Depends on the server Yes, after your OK
Send messages and invitations No Some servers Yes, after your OK
Search people and companies No Yes Yes
No developer app to register Register and apply Yes Yes
Runs with your computer off Yes Mostly no Yes, hosted
Inside the Claude and ChatGPT apps You build the tools Claude Desktop and Code Yes

Checked 6 Nov 2026. Sources: Microsoft Learn: Getting Access to LinkedIn APIs · Microsoft Learn: Community Management API overview · Zapier: LinkedIn integrations · Zapier MCP for LinkedIn

Set up once

How does the LinkedIn MCP server work? Your login, your account, your agent.

  1. 1Sign in to LinkedIn

    Once, in a browser we run for you.

  2. 2Connect your AI agent

    Paste one address.

  3. 3Ask in plain words

    The agent works in your account.

We never see or store your LinkedIn password, and every post, comment, message or invitation waits for your OK. Who can see your session

Any MCP client

How to connect LinkedIn to your AI agent

Three steps, then one code block for your client.

  1. 1

    Enable LinkedIn for agents. Sign up, sign in to LinkedIn in its Cloud Browser with your own login, then press Enable for agents.

  2. 2

    Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as a custom MCP server or connector in your agent.

  3. 3

    Approve the connection. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts use an API key from the console.

One shared address, https://cotlet.dev/mcp/v1, also carries LinkedIn next to your other apps. Turned LinkedIn on after connecting? Refresh the connector so the agent sees the 15 new tools.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-linkedin \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-linkedin": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet-linkedin]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: linkedin_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: linkedin_write
9 read, 6 write

All 15 LinkedIn MCP tools

Posts and comments4

A post can go out now or at a set time. Give as_page to work as a Company Page you administer.

  • list_my_posts Your recent posts with reactions, comment count and date, newest first. read

    Returns posts from your profile activity, newest first. Pass as_page to read the posts of a Company Page you administer. Each post has a post_id for list_post_comments and comment_on_post, and the counts LinkedIn shows under the post. Scheduled posts are listed with status scheduled and their publish time.

    MCP calllinkedin_read → list_my_posts

    REST endpointGET https://cotlet.dev/api/v1/linkedin/my-posts

    Parameters

    Parameters: list_my_posts
    NameTypeDescription
    as_page string string Name of a Company Page you administer, to act as that Page. Leave out to act as yourself.
    limit integer integer How many results to return. Default: 10.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "posts": [
        {
          "post_id": "p_7390001",
          "text": "Why we dropped the weekly report",
          "status": "published",
          "reactions": 58,
          "comments": 12,
          "posted_at": "2026-11-03T08:00:00Z",
          "url": "https://www.linkedin.com/feed/update/p_7390001"
        },
        {
          "post_id": "p_7390002",
          "text": "Three questions to ask before hiring an agency",
          "status": "published",
          "reactions": 94,
          "comments": 31,
          "posted_at": "2026-10-30T08:00:00Z",
          "url": "https://www.linkedin.com/feed/update/p_7390002"
        }
      ],
      "next_cursor": "c_3"
    }
  • list_post_comments Comments on one post, with author, text and whether you replied. read

    Returns the comments under one post in the order LinkedIn shows them, with the commenter name, headline and comment text. replied is true when you already answered that comment. Pass comment_id to comment_on_post to reply in the thread.

    MCP calllinkedin_read → list_post_comments

    REST endpointGET https://cotlet.dev/api/v1/linkedin/post-comments

    Parameters

    Parameters: list_post_comments
    NameTypeDescription
    post_id string required string Post ID from list_my_posts.
    limit integer integer How many results to return. Default: 10.
    cursor string string Next page cursor from the previous call.

    Example input

    {
      "post_id": "post_8c41d2"
    }

    Example response

    {
      "comments": [
        {
          "comment_id": "c_5521",
          "author": "Jonas Weber",
          "headline": "Head of Growth at Example GmbH",
          "text": "How long did the switch take?",
          "replied": false,
          "posted_at": "2026-11-04T09:12:00Z"
        }
      ],
      "next_cursor": null
    }
  • create_post Publishes or schedules a post on your profile or a Company Page. writeasks first

    Creates a text post, with a link in the text if you add one. visibility is anyone or connections, and comments is anyone, connections or off, as in the post settings. Set schedule_at to schedule it instead of publishing now. Returns the post_id and the post URL. By default you confirm each call; you can switch that off for this tool.

    MCP calllinkedin_write → create_post

    REST endpointPOST https://cotlet.dev/api/v1/linkedin/posts

    Parameters

    Parameters: create_post
    NameTypeDescription
    text string required string Post text.
    visibility enum enum anyone or connections. Default: anyone.
    comments enum enum Who can comment: anyone, connections or off. Default: anyone.
    schedule_at datetime datetime ISO 8601 time to publish at. Leave out to post now.
    as_page string string Name of a Company Page you administer, to act as that Page. Leave out to act as yourself.

    Example input

    {
      "text": "Three questions to ask before hiring an agency. 1) Who does the work? 2) How do you report? 3) What happens if we stop?",
      "visibility": "anyone",
      "comments": "anyone",
      "schedule_at": "2026-11-10T09:00:00+01:00"
    }

    Example response

    {
      "post_id": "p_7390010",
      "status": "scheduled",
      "publish_at": "2026-11-10T09:00:00+01:00",
      "url": "https://www.linkedin.com/feed/update/p_7390010"
    }
  • comment_on_post Adds a comment to a post, or replies to a comment. writeasks first

    Posts a text comment under a post as you, or as a Company Page you administer. Pass comment_id to reply inside a thread. Returns the new comment_id. By default you confirm each call; you can switch that off for this tool.

    MCP calllinkedin_write → comment_on_post

    REST endpointPOST https://cotlet.dev/api/v1/linkedin/posts/{post_id}/replies

    Parameters

    Parameters: comment_on_post
    NameTypeDescription
    post_id string required string Post ID from list_my_posts or a post URL.
    text string required string Comment text.
    comment_id string string Comment ID from list_post_comments, to reply to that comment.
    as_page string string Name of a Company Page you administer, to act as that Page. Leave out to act as yourself.

    Example input

    {
      "post_id": "post_8c41d2",
      "text": "text"
    }

    Example response

    {
      "comment_id": "c_5530",
      "post_id": "p_7390002",
      "status": "published"
    }

Connections and invitations5

A withdrawn invitation tells nobody. LinkedIn blocks a new invitation to the same person for up to three weeks.

  • list_connections Your connections, newest first, with headline and the date you connected. read

    Reads My Network, Connections, in the order LinkedIn shows it (recently added first). Each row has the name, headline, profile URL and connected_at. Use search to filter by name, company or title.

    MCP calllinkedin_read → list_connections

    REST endpointGET https://cotlet.dev/api/v1/linkedin/connections

    Parameters

    Parameters: list_connections
    NameTypeDescription
    search string string Filter by name, company or title.
    limit integer integer How many results to return. Default: 10.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "connections": [
        {
          "name": "Marta Nowak",
          "headline": "Founder at Example Studio",
          "connected_at": "2026-10-28",
          "url": "https://www.linkedin.com/in/marta-nowak-example"
        }
      ],
      "next_cursor": "c_2"
    }
  • list_invitations Pending invitations you received or sent, with the note and the date. read

    Reads My Network, Manage invitations. direction is received or sent. Each row has an invitation_id for accept_invitation or withdraw_invitation, the person, their headline, the note if there is one and the date.

    MCP calllinkedin_read → list_invitations

    REST endpointGET https://cotlet.dev/api/v1/linkedin/invitations

    Parameters

    Parameters: list_invitations
    NameTypeDescription
    direction enum enum received or sent. Default: received.
    limit integer integer How many results to return. Default: 10.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "invitations": [
        {
          "invitation_id": "i_4410",
          "direction": "received",
          "name": "Tom Becker",
          "headline": "Operations Manager at Sample Logistics",
          "note": "Saw your post on reporting.",
          "sent_at": "2026-11-04"
        }
      ],
      "next_cursor": null
    }
  • send_invitation Invites a person to connect, with an optional note. writeasks first

    Sends a connection invitation from the person's profile, with a note if you give one. The person gets it in My Network, Manage invitations. It stays pending until they accept or you withdraw it. Returns the invitation_id. By default you confirm each call; you can switch that off for this tool.

    MCP calllinkedin_write → send_invitation

    REST endpointPOST https://cotlet.dev/api/v1/linkedin/invitations

    Parameters

    Parameters: send_invitation
    NameTypeDescription
    profile string required string Profile URL or the part after /in/.
    note string string Optional note shown with the invitation.

    Example input

    {
      "profile": "profile"
    }

    Example response

    {
      "invitation_id": "i_4502",
      "status": "pending",
      "name": "Anna Keller"
    }
  • accept_invitation Accepts an invitation you received, which connects you. writeasks first

    Accepts one received invitation from Manage invitations. The person becomes a connection and LinkedIn tells them. Returns the new connection. By default you confirm each call; you can switch that off for this tool.

    MCP calllinkedin_write → accept_invitation

    REST endpointPOST https://cotlet.dev/api/v1/linkedin/invitations/{invitation_id}/accept

    Parameters

    Parameters: accept_invitation
    NameTypeDescription
    invitation_id string required string Invitation ID from list_invitations.

    Example input

    {
      "invitation_id": "invitation_8c41d2"
    }

    Example response

    {
      "invitation_id": "i_4410",
      "status": "accepted",
      "name": "Tom Becker"
    }
  • withdraw_invitation Withdraws an invitation you sent that is still pending. write

    Withdraws one sent invitation from Manage invitations. The person is not notified, and one call undoes nothing for anyone else, so it needs no confirmation. LinkedIn does not allow a new invitation to the same person for up to three weeks after a withdrawal.

    MCP calllinkedin_write → withdraw_invitation

    REST endpointPOST https://cotlet.dev/api/v1/linkedin/invitations/{invitation_id}/withdraw

    Parameters

    Parameters: withdraw_invitation
    NameTypeDescription
    invitation_id string required string Invitation ID from list_invitations with direction sent.

    Example input

    {
      "invitation_id": "invitation_8c41d2"
    }

    Example response

    {
      "invitation_id": "i_4502",
      "status": "withdrawn"
    }

Messages3

You message connections directly. People outside your network need InMail, a Premium feature.

  • list_conversations Your message threads, newest first, with the last message and who wrote it. read

    Reads Messaging and returns the threads in the order LinkedIn shows them. Each has a conversation_id, the people in it, the last message and last_from, which is you or them. unread_only returns only threads with unread messages.

    MCP calllinkedin_read → list_conversations

    REST endpointGET https://cotlet.dev/api/v1/linkedin/conversations

    Parameters

    Parameters: list_conversations
    NameTypeDescription
    unread_only boolean boolean Only threads with unread messages. Default: false.
    limit integer integer How many results to return. Default: 10.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "conversations": [
        {
          "conversation_id": "m_8802",
          "with": "Tom Becker",
          "last_message": "Thanks, can you send the pricing?",
          "last_from": "them",
          "unread": true,
          "last_at": "2026-11-05T14:20:00Z"
        }
      ],
      "next_cursor": null
    }
  • read_conversation The messages of one thread, oldest first. read

    Returns the messages of one thread in order, each with the sender, text and time. Opening a thread marks it as read in LinkedIn, the same as opening it yourself.

    MCP calllinkedin_read → read_conversation

    REST endpointGET https://cotlet.dev/api/v1/linkedin/conversations/{conversation_id}/read

    Parameters

    Parameters: read_conversation
    NameTypeDescription
    conversation_id string required string Conversation ID from list_conversations.
    limit integer integer How many results to return. Default: 10.
    cursor string string Next page cursor from the previous call.

    Example input

    {
      "conversation_id": "conversation_8c41d2"
    }

    Example response

    {
      "messages": [
        {
          "from": "you",
          "text": "Hi Tom, thanks for connecting.",
          "sent_at": "2026-11-04T10:00:00Z"
        },
        {
          "from": "Tom Becker",
          "text": "Thanks, can you send the pricing?",
          "sent_at": "2026-11-05T14:20:00Z"
        }
      ],
      "next_cursor": null
    }
  • send_message Sends a message to a connection, or into an existing thread. writeasks first

    Sends a text message as you. Give conversation_id to answer in a thread, or recipient (a profile URL) to start one. LinkedIn lets you message your connections directly; for people you are not connected to it needs InMail, a Premium feature. Returns the message time. By default you confirm each call; you can switch that off for this tool.

    MCP calllinkedin_write → send_message

    REST endpointPOST https://cotlet.dev/api/v1/linkedin/messages

    Parameters

    Parameters: send_message
    NameTypeDescription
    text string required string Message text.
    conversation_id string string Conversation ID from list_conversations. Use this or recipient.
    recipient string string Profile URL of a connection. Use this or conversation_id.

    Example input

    {
      "text": "text"
    }

    Example response

    {
      "conversation_id": "m_8802",
      "status": "sent",
      "sent_at": "2026-11-06T09:15:00Z"
    }
Encrypted, revocable

Who can see my LinkedIn session, and how do I revoke it?

  • What we store

    Your signed-in LinkedIn browser profile, encrypted with AES-256-GCM, in Finland. We never see or store your password.

  • What your agent gets

    The 15 LinkedIn tools. Never the cookie or the login.

  • What the session sees

    Your own LinkedIn: feed, posts, messages, connections and invitations, and the Company Pages you administer.

  • What no tool touches

    Billing, Premium, password, two-step verification, account settings and ads.

  • If LinkedIn asks to verify

    A code goes to you by email or phone. You type it in, we never do.

  • How to cut access

    Disable for agents, reset the browser or delete the API key. The next call fails.

cotlet.dev gets A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results). There is no SOC 2 report or third-party pentest yet.

Follows your role

Can my agent work as a Company Page? Yes, with an admin role on the Page.

What LinkedIn asks of your role and your timing
ActionWhat LinkedIn says
create_post as yourselfA post can be scheduled from 10 minutes to 3 months ahead. Events, Jobs and Services posts cannot be scheduled.
create_post with as_pageOnly a super admin or a content admin of the Page can schedule. Posts can be scheduled from an hour to three months ahead.
comment_on_post with as_pageLinkedIn lets you react or comment as the Page: pick the Page next to your profile picture on the post.
create_post, visibilityAnyone, Connections only or a Group. Who can comment: anyone, connections only or off. A post holds up to 3,000 characters.

What that means for you

  • The agent sees only the Pages your account administers
  • A call your role may not make fails and costs nothing
  • Page posts wait for your OK like your own
  • No developer app or Page review to apply for

Scheduled posts are the safe start: you see each one in LinkedIn's scheduled posts list before it goes out.

Tested every 12 h

What happens when LinkedIn changes? We repair the tool; your prompts stay the same.

between tests of the LinkedIn tools
12 h
for a call to a LinkedIn tool paused for repair
$0

The tools read each screen as your account shows it. When LinkedIn moves a button or renames a field, the fix is on our side. status.cotlet.dev checks the site, console and API every 3 minutes.

5 tools ask first

Approvals, undo and mistakes Nobody hears from you until you say so.

  1. 01 Reads the new comments list_post_comments shows who asked what and what you already answered.
  2. 02 Drafts each reply One short answer per question, in your words from the prompt.
  3. 03 Waits for your OK Each reply shows up in your Cotlet console first.
  4. 04 Reports back Which comments got a reply and which it left alone.
Which LinkedIn actions can be undone
ActionUndo
Publish a postDelete or edit it in LinkedIn; people who saw it have seen it
Schedule a postChange or delete it in LinkedIn before it goes out
Comment on a postDelete your comment in LinkedIn; the author may have been told
Send a messageNo tool unsends it
Send an invitationwithdraw_invitation; a new one to the same person waits up to three weeks
Accept an invitationRemove the connection in LinkedIn; the person was told

5 of 15 tools ask first: create_post, comment_on_post, send_message, send_invitation and accept_invitation, the ones that reach another person. withdraw_invitation tells nobody, so it runs at once with the 9 reads. Turn the wait off per tool for a scheduled run, such as a weekly post.

A withdrawn invitation cannot be bulk-withdrawn in LinkedIn and the person is not told.

MCP call
{
  "name": "create_post",
  "arguments": {
    "text": "Three questions to ask before hiring an agency. 1) Who does the work? 2) How do you report? 3) What happens if we stop?",
    "visibility": "anyone",
    "comments": "anyone",
    "schedule_at": "2026-11-10T09:00:00+01:00"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/linkedin/posts \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Three questions to ask before hiring an agency. 1) Who does the work? 2) How do you report? 3) What happens if we stop?","visibility":"anyone","comments":"anyone","schedule_at":"2026-11-10T09:00:00+01:00"}'
Tool output
{
  "post_id": "p_7390010",
  "status": "scheduled",
  "publish_at": "2026-11-10T09:00:00+01:00",
  "url": "https://www.linkedin.com/feed/update/p_7390010"
}

Scripts and cron jobs reach the same tools over REST at /api/v1/linkedin, with the same key and price. A write answers 202 while it waits for your OK. Each row in the tools table shows its REST path.

Pay per call

How much does the LinkedIn MCP server cost?

About $37 a monthfor one person who runs LinkedIn as a channel, 6,360 credits. Your LinkedIn plan is billed by LinkedIn as before.

A month of LinkedIn jobs for one account, in credits
JobCallsCredits
Schedule the week's 5 posts5 × 4200
Reply to new comments, workdays8 × 221,760
Search, read profiles, invite 10 leads22 × 4880
Follow up in messages, workdays7 × 221,540
Tidy invitations, weekly12 × 4480
Cloud Browser, 30 days1,500
Total6,360
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • One-time packs, valid 12 months, no subscription

The month is our example: a post every workday, replies and message follow-ups on workdays, 10 invitations a week. LinkedIn publishes no typical account activity, so the volume is our assumption. LinkedIn sells Premium and Sales Navigator by subscription; Cotlet works on a free account too. Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

LinkedIn MCP server: API, Zapier, GitHub or hosted Own the developer app, run a server, or sign in as yourself.

LinkedIn MCP options, checked 6 Nov 2026
OptionWhat it doesWhere it stops
LinkedIn APIOfficial: sign-in, Share on LinkedIn for posts, comments and likes, and approved programs for Pages, ads, sales and talent.You register an app and apply; no messages, invitations or people search in the open permissions.
Zapier MCP for LinkedInThe Zapier LinkedIn app as an MCP server: Create Share Update and Create Company Update.Two post actions and no triggers; nothing for comments, messages or invitations.
stickerdaniel/linkedin-mcp-serverOpen-source server that uses your own browser session: profiles, companies, jobs, conversations and connection requests. Apache 2.0, 4,128 stars, last commit 4 Nov 2026.Runs on your computer; you install and update it.
eliasbiondo/linkedin-mcp-serverOpen-source server for people, company and job search and profile data. MIT, 212 stars, last commit 24 Oct 2026.Runs on your computer; built around search and reading.
gtm-apiManaged server with 160+ typed LinkedIn actions over MCP and REST. Its repository holds the public interface; MIT, 68 stars, last commit 6 Nov 2026.A paid service; we did not check its price.
TalkToHumansHosted server for Claude, ChatGPT and Cursor that reads your inbox and network and drafts messages you review and send. MIT, 36 stars, last commit 5 Nov 2026.A paid service; we did not check its price.

If you have a developer and only need to publish posts from your own system, the LinkedIn API and its Share on LinkedIn permission are the direct route. Cotlet is for the founder, marketer or sales lead who wants an agent in Claude or ChatGPT working in their own account, with no app to register.

EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the LinkedIn tools.

LinkedIn MCP server: questions

How do I connect LinkedIn to ChatGPT or Claude?

Sign up at cotlet.dev, sign in to LinkedIn once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your LinkedIn account through Cotlet, in their phone apps too.

What can ChatGPT do in LinkedIn?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in LinkedIn: schedule a week of posts; reply to comments on your posts; invite a lead list to connect. You ask in plain words, and anything that reaches other people waits for your OK first.

Is there a LinkedIn connector for ChatGPT or Claude?

LinkedIn has no connector of its own for Claude or ChatGPT that works in your account (checked 6 Nov 2026). Cotlet adds one to both: you add Cotlet once and ChatGPT or Claude works in your own LinkedIn.

How do I get a LinkedIn API key?

LinkedIn gives API keys to a registered developer app, and most products need LinkedIn to approve the app first. With Cotlet you need no LinkedIn API key: you sign in to LinkedIn once and your agent uses the Cotlet tools.

How do I get access?

Create a free account at https://cotlet.dev, open LinkedIn under Integrations in the console and sign in to LinkedIn in its Cloud Browser. The trial starts with your first app, no card asked.

Does LinkedIn have an MCP server?

We found none from LinkedIn for your own AI agent (checked 6 Nov 2026). LinkedIn has an official API for approved apps. Cotlet gives Claude, ChatGPT and scripts the LinkedIn tools above, hosted.

Can my agent post as a Company Page?

Yes, if your account has an admin role on the Page. LinkedIn lets Page super admins and content admins post and schedule from the Page admin view, and react or comment as the Page. Pass as_page to create_post and comment_on_post.

Can it message people I am not connected to?

It does what your account can do in LinkedIn. You message connections directly. For people outside your network LinkedIn needs InMail, a Premium feature, so send_invitation is the usual first step.

Do I need a developer app or Premium to connect?

No. Cotlet registers no LinkedIn app for you and needs no API key from LinkedIn. You sign in with your own login. What the account can do in LinkedIn is what the agent can do, so messaging people outside your network still needs InMail.

Does LinkedIn send events to my agent?

Not through Cotlet. Cotlet reads and writes when your agent asks. For a morning check of new comments and unread messages, run your agent on a schedule.

Is the MCP server different from the REST API?

Only the door is different. Both expose the same 15 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and cron jobs use REST.

Is Cotlet affiliated with LinkedIn?

No. Cotlet is independent and not affiliated with LinkedIn Corporation or Microsoft.

Give your agent access to LinkedIn.

Free 7-day trial with 2,000 credits, no card needed.