LinkedIn MCP server guard

LinkedIn MCP, with a guard.

linksmcp is a LinkedIn MCP server guard for people who run outreach from their own LinkedIn profile with an AI agent.

  • Runs on your machineClaude Code, Cursor or OpenClaw
  • Daily limits, pacing, pausesa permit before every action
  • Remembers what was sentso nothing goes twice
  • No price set yetearly access by email

No signup page yet: keys are issued by hand.

Example session on a profile past its warm up. The people and the file are made up, not customers.
Guard ledger
Example ledger, not a real profile.
  1. Connection requestMaya LinAllowedwait 6 min
  2. Connection requestMaya LinSentrecorded
  3. Opener with a linkTom BeckerRefusedno reply yet
  4. ReplyAna SousaAllowedshe wrote back
  5. Connection requestLeo HartDeniedcap reached

An agent with a LinkedIn tool has no brakes.

A LinkedIn MCP server does what your agent asks, as fast as it asks.

Give Claude or any other agent a LinkedIn tool and a list of leads, and it will work through the list. The tool does not know that 20 invitations already went out today, that LinkedIn signed you out an hour ago, or that you messaged this person two hours ago. Without a record of what was sent, the same opener can go twice.

linksmcp is the part that remembers and says no. Every action asks for a permit first. When the answer is no, the call never reaches LinkedIn, and your agent is told why and, when time fixes it, when to try again.

Illustration of the two setups, not a recorded account.

LinkedIn tool on its own
  • Invitations can go out back to back.
  • A first message can carry a link to someone who never replied.
  • The agent can keep sending after LinkedIn shows a security check.
  • A second agent on the same profile can write to the same person.
  • The count for the day is whatever the agent decided.
Through the guard
  • Invitations wait 25 to 40 minutes apart in the first 14 days.
  • The link is refused until the person writes back.
  • A security check starts 48 hours with no outreach. Replies still go.
  • The lead is held for 10 minutes by the first agent that claims it.
  • The day stops at the limit, and the agent gets a retry_at.

The guard sits between your agent and its LinkedIn tool.

Your agent asks the guard. The guard decides, waits, and only then passes the call on.

Your agent
Claude Code, OpenClaw, Cursor or any MCP client
asks
linksmcp guard
Allow with a permit and a wait, or deny with a plain reason and a retry time
limitspacingpausesledger
permit
LinkedIn tool
The open source LinkedIn MCP server, or the Playwright MCP browser server
acts
Your browser
Your own LinkedIn session, on your own internet connection

Every action runs the same loop

  1. 1
    Preflight. The agent asks the guard for a permit for one action on one person.
  2. 2
    The action. With a permit, the guard waits the pacing and passes the call to the LinkedIn tool unchanged.
  3. 3
    record_outcome. The guard writes down what happened, so the count is right and nothing goes twice.

Through the guard, steps 2 and 3 happen on their own. A deny comes with a reason and, when time solves it, a retry_at.

What you install

The guard
A small MCP server that refuses an action without a permit, waits the pacing and records what happened.
A LinkedIn tool
The executor that does the clicking and typing, for example the open source LinkedIn MCP server by stickerdaniel.
The skill
For Claude Code, it teaches the agent the loop.

The guard starts the LinkedIn tool itself. Do not add the tool as a separate server as well: an agent that can reach it directly can go around the guard.

Some of the reasons it gives
  • links_before_reply: this person has not written back, so a link waits.
  • daily_cap_reached: today's limit for this action is used up.
  • invite_gap: too soon after the last invitation.
  • follow_up_gap: less than 24 hours since your last automated message to this person.
  • outside_active_hours: outside today's working window.
  • safety_pause: LinkedIn pushed back recently, so outreach waits. Replies to people who wrote to you still go.
  • lead_claimed: another agent is working on this person right now.
  • unmapped_write: the LinkedIn tool offered an action the guard does not know, so it is refused.

Every refused call says the guard refused it, not LinkedIn.

The rules, with the real numbers.

Conservative daily limits, pacing and pauses modelled on what keeps LinkedIn accounts healthy. These are the default preset as of 19 October 2026.

How many LinkedIn connection requests per day?

20 connection requests a day by default. Each profile gets its own variation of limits and timing per day, so connection requests, profile views and searches land between 70 and 100 percent of the limit. Replies to people who wrote to you are never cut.

Daily limits default preset Each profile gets its own variation of limits and timing per day
Connection requests
20 per day

Today's cap lands between 70 and 100 percent of the limit, so somewhere from 14 to 20.

Messages
100 per day

Openers, replies and follow ups together. Replies to people who wrote to you are never cut.

Warm up for a new profile

A new profile does not start at the full limit. Connection requests start at 5 and add 1 a day. Messages start at 30 (+5 a day), profile views 50 (+15), searches 5 (+2), comments 3 (+1). Seven days without automated work restarts the warm up.

Other actions, per day
Profile views250 1 block = 10 views
On one scale, 1 block = 1 action
  • Searches30
  • Accepting incoming requests20
  • Withdrawing old invitations20
  • Comments15
  • Reactions3
Fixed limitToday's cap lands in this band, 70 to 100 percent
Working hours
08:0014:0020:00

08:00 to 20:00 by default. Each day the window starts up to 45 minutes later and ends up to 45 minutes earlier.

Pacing between actions
  • Most waits are 20 to 60 seconds
  • About one in three is 2 to 5 minutes
  • A longer pause comes after 3 to 5 quick actions

Through the guard the wait happens for you.

Invitation spacing

25 to 40 minutes between invitations in the first 14 days. After that 5 to 8 minutes, stretched so the rest of the day's invitations spread over the rest of the working window, and never more than 3 hours apart.

Slow start after you sign in

For 6 hours after a sign in: at most 3 LinkedIn calls per 10 minutes in the first 2 hours, then 5, then 8. After 3 hours idle, a shorter 45 minute version of the ramp runs.

Pauses after a warning

48 hno outreach after a sign out, a security check, a restriction or a warning
+72 hat most, a write cooldown on top when LinkedIn ends the session itself

Replies still go. Too many requests, or a limit message on a send, counts as a warning. The write cooldown of up to 72 hours ends the next time you sign in, and then a 2 hour quiet window starts where only replies to people who wrote to you go.

Pending invitations

600pending at most, about a month of the profile's own sending at the default limit

Invitations pending 21 days or more are withdrawn oldest first, 5 per batch (up to 10 late in the day), one batch every 4 hours, 20 a day. A weekly reading of your Sent tab adds the invitations you sent by hand.

And on every action

No links before the person has replied
Such a message, invitation note or comment is refused, not edited. Comments and replies on your own posts may carry links.
24 hours between automated messages
To one person, while you spoke last. An accepted invitation is not a reply.
Asked to stop
Someone who asks you to stop is never contacted again.
Profile name and photo
Never changed by the agent. Other sections at most once per 24 hours.
Two leads, one person
Someone found by member id and later by profile address stays one lead.
lead_claim
Holds a lead for 10 minutes so two agents do not write to the same person at once.
Ordinary activity
Every 2 to 3 days, a reminder for a few minutes of ordinary activity: 5 to 10 minutes of feed, at most 3 reactions, your notifications, one profile. It is advice. Nothing is refused when you skip it.
Your connection
It should match the profile's country and working hours. Ask check_ip_fit.
Your own profiles only
One person's own LinkedIn profiles only. Never hired, bought, borrowed or shared ones.
new_account

Stricter preset for new or recently warned profiles

10 connection requests50 messages120 profile views15 searches8 comments10 acceptinga day

Pending invitations capped at 20 days of sending, and slow invitation spacing for 30 days.

A link waits until the person writes back.

The guard refuses the message. It does not quietly edit it.

Example preflight for one message.

  • yesToday's message share left: yes
  • yesInside working hours: yes
  • yesNo pause after a warning: yes
  • noPerson has replied: no
  • yesMessage has a link: yes

Result: refused, links_before_reply. The call never reached LinkedIn.

When the person writes back, the same message gets a permit. Comments and replies on your own posts may carry a link at any time.

Example inbox. Names are made up, not customers.

MessagingYou
Tom BeckerNo reply yet
Monday

You

Thanks for connecting, Tom. Curious how your team runs partner onboarding at the moment.

No reply from Tom yet
Draft from your agent

Following up with the case study I mentioned: yourdomain.com/case-study

Send

Refused: Tom has not written back, so the link waits. The call never reached LinkedIn.

Refusedlinks_before_reply

Local by default. Hosted when one profile has more than one agent.

Most people never need hosted mode. It is not open yet: keys are issued by hand.

Local default Hosted not open yet
Where the ledger livesA SQLite file in ~/.linksmcp on your machine.A linksmcp server, reached with an API key and a server address.
What leaves your machineNothing. No account, no telemetry, no update check.Seat settings, permits, signals, lead identifiers (profile address, member id, name, headline, company) and thread times. Message text never leaves your machine.
Who it is forOne agent on one machine.Two machines, or two or more agents on one profile.
Shared countsNo, each machine keeps its own ledger.Yes. A person one of your profiles is talking to is not contacted by another.
If the server is downNot applicable.If the server cannot be reached, errors or takes over 8 seconds, the guard refuses the LinkedIn action. It never falls back to local on its own.
StatusEarly access. The install comes with your early access key; nothing is public to download yet.Not open yet, keys by hand.

Will this stop my account getting restricted? No guarantee.

What linksmcp does not do.

  1. 01

    It does not make LinkedIn automation safe.

    LinkedIn's User Agreement does not allow automated activity. The limits lower the chance of a warning, they do not remove it.

  2. 02

    It only knows what your agent reports.

    What you do by hand on LinkedIn is invisible to it, except the invitations counted in the weekly Sent tab reading and the messages your agent files for you.

  3. 03

    It does not check an agent that goes around the guard.

    If the LinkedIn tool is also added as its own server, the agent can skip linksmcp entirely.

  4. 04

    With Claude in Chrome and other browser extensions it is advice only.

    They cannot be wrapped, so the agent follows the loop by hand.

  5. 05

    With the Playwright browser server the checks are best effort.

    They read page addresses and button names from the last snapshot, not LinkedIn's own requests.

  6. 06

    It is for your own profiles.

    Hired, bought, borrowed or shared profiles are not what it is for.

Works with the agent you already run.

Any MCP client that can start a stdio server. Early access users get the install with their key. Nothing is public to download yet.

Agents
  • Claude CodeInstalls as a plugin, with the skill that teaches the loop.
  • CursorA JSON config entry.
  • OpenClawA JSON config entry.
  • Other MCP clientsAnything that starts a stdio server, with the same entry.
  • Claude in ChromeAnd other browser extensions: advice only, the guard cannot wrap them.
LinkedIn tools
  • LinkedIn MCP serverThe open source server by stickerdaniel (github.com/stickerdaniel/linkedin-mcp-server, Python package mcp-server-linkedin), pinned at 4.27.0. Every tool is checked by name and argument. Tools it does not know are refused as unmapped_write.complete checks
  • Playwright MCPThe browser server @playwright/mcp, pinned at 0.0.83. It reads page addresses and button names from the last snapshot. On linkedin.com it refuses Follow, Endorse, Remove connection, Block, Report, Repost and Share clicks, page scripts, clicks by screen position, and cookie, storage and network tools.best effort checks
One server in your config, not two
MCP client config (JSON)preview
{
  "mcpServers": {
    "linksmcp": {
      "command": "node",
      "args": ["<path from your early access email>"]
    }
  }
}
Your exact entry comes with your early access key.

The guard is the only server your agent sees. It starts the LinkedIn tool itself.

LinkedIn MCP questions, answered.

Short answers to what people ask before they let an agent near their profile. The numbers are the defaults as of 19 October 2026.

What is a LinkedIn MCP server?

A LinkedIn MCP server is a tool that lets an AI agent such as Claude Code or Cursor act on LinkedIn: search, view profiles, send invitations and messages. One open source one is stickerdaniel/linkedin-mcp-server. On its own it does whatever the agent asks. linksmcp is a guard that sits in front of it and holds every action to daily limits, pacing and pauses.

Is it safe to use a LinkedIn MCP server with Claude for outreach?

No tool makes it safe. LinkedIn's User Agreement does not allow automated activity, and the limits lower the chance of a warning without removing it. What linksmcp adds is enforcement: 20 connection requests a day by default, invitations 25 to 40 minutes apart in the first 14 days, working hours, and 48 hours with no outreach after any sign out, security check, restriction or warning.

How many LinkedIn connection requests can I send per day with an AI agent?

linksmcp allows 20 a day by default, and each day lands between 70 and 100 percent of that. A new profile starts at 5 and adds 1 a day. New or recently warned profiles use a stricter preset of 10 a day.

What is the LinkedIn weekly invitation limit, and how many invitations can be pending?

linksmcp has no weekly cap of its own. It caps pending invitations at about a month of the profile's own sending, 600 at the default limit, and withdraws invitations pending 21 days or more, oldest first, up to 20 a day. A weekly reading of your Sent tab adds the ones you sent by hand.

What happens if LinkedIn signs me out or restricts my account?

Outreach stops for 48 hours, and replies to people who wrote to you still go. If LinkedIn ended the session itself, a write cooldown of up to 72 hours comes on top. It ends at your next sign in, followed by a 2 hour quiet window for replies only.

Can my agent send a link to someone who has not replied yet?

No. A message, invitation note or comment with a link to someone who has not replied is refused, not edited, and never reaches LinkedIn. An accepted invitation does not count as a reply. Comments and replies on your own posts may carry links.

Does linksmcp see my LinkedIn password or cookies?

No. Your agent does the LinkedIn work in your own browser, with your own session, on your own connection. linksmcp never sees a LinkedIn password or cookie and never opens a LinkedIn page. In local mode, the default, nothing is sent anywhere: no account, no telemetry, no update check. Message text never leaves your machine in either mode.

Which agents and LinkedIn MCP servers does it work with? Does it work with Claude in Chrome?

Any MCP client that can start a stdio server: Claude Code as a plugin, Cursor and OpenClaw with a JSON config entry. Checks are complete with the stickerdaniel LinkedIn MCP server and best effort with the Playwright MCP browser server. Claude in Chrome and other browser extensions cannot be wrapped, so with them it is advice only.

How much does linksmcp cost, and how do I get access?

There is no charge during early access and no price has been set. There is no signup page yet: email hi@linksmcp.com with the agent and LinkedIn MCP server you use, and keys are issued by hand. Hosted mode, for more than one agent on one profile, is not open yet.

Give your agent a guard before it gets busy on LinkedIn.

No charge during early access, and no price has been set. Email hi@linksmcp.com with the agent you run and the LinkedIn tool you use, and we send a key by hand.

Guard ledgerExample ledger entry. Ana Sousa is made up, not a customer.
ReplyAna SousaAllowedlink allowed
Wrote back
14:02
Reply
Allowed now
Link
Allowed