Build AI Agent LinkedNav Claude MCP

July 3, 2026

Last updated: May 2026

TL;DR: LinkedNav ships a native Claude MCP (Model Context Protocol) server that lets Claude programmatically run LinkedIn campaigns, surface signal-driven leads, draft AI replies, manage Unibox approvals, and monitor performance — all from a single Claude conversation. This guide walks through the full setup (API key auth, MCP server config), the 80+ MCP tools exposed, 6 production agent workflows with code, and the best practices that prevent runaway automation. LinkedNav Standard is $49/month; Pro with native sender rotation is $99/month. The MCP integration is included in all tiers at no extra cost. Live at linkednav.com/claude-mcp-integration.

Why MCP Is the Right Abstraction for LinkedIn Outreach Automation

The Model Context Protocol (MCP) is Anthropic's open standard for letting AI models talk to external tools through a stable, structured interface. For LinkedIn outreach, this matters because:

1. Outreach is a multi-step orchestration problem

A single SDR's daily LinkedIn workflow involves: pulling signal-driven leads, qualifying them against ICP, drafting personalized openers, approving AI-drafted replies in the Unibox, monitoring campaign performance, adjusting prompts when reply rates drop. MCP lets Claude run the entire orchestration as a coherent conversation rather than the SDR context-switching between dashboards.

2. AI-drafted personalization needs prospect context

The reason variable substitution stopped working in 2026 is that recipients can spot generic templates. The reason AI personalization works is that the AI has access to the prospect's actual recent activity. MCP gives Claude live access to LinkedNav's signal data, conversation history, and prospect attributes — so the drafts are grounded in real context, not made up.

3. Approval gates fit naturally into conversation

Every AI-drafted message LinkedNav generates is queued as pending until a human approves it. In a Claude MCP conversation, the SDR can review batches of drafts ("show me the 12 pending replies and the prospect context for each") and approve them in bulk — way faster than clicking through a UI. The conversation is the workflow.

4. Custom agent logic is portable

The Claude conversation that orchestrates your outreach is itself reusable. Save it as a Skill, deploy it as an agent, share it across the team. The MCP server stays put; the agent layer evolves on top.


What's Exposed Through the MCP Server

LinkedNav's MCP server exposes 80+ tools spanning the full product surface. The major categories:

Campaign management

  • `get_campaigns`, `get_campaign`, `get_campaigns_summary` — list and inspect campaigns
  • `create_campaign`, `update_campaign`, `duplicate_campaign`, `delete_campaign` — manage campaign lifecycle
  • `activate_campaign`, `pause_campaign` — start/stop without deleting
  • `add_lead_to_campaign`, `add_leads_bulk_to_campaign`, `remove_leads_from_campaign` — manage prospect lists
  • `link_list_to_campaign` — connect a saved prospect list to a campaign

Signal Agent and Social Listening

  • `get_signal_leads`, `get_signal_agent_results`, `get_signal_agent_settings` — retrieve and inspect signal-surfaced leads
  • `set_signal_agent_auto_run` — toggle continuous Signal Agent execution
  • `run_intent_agent` — manually trigger a Signal Agent run on demand
  • `get_social_listening_engagers`, `get_social_listening_posts`, `get_social_listening_qualifying_posts` — inspect Social Listening output
  • `set_social_listening_auto_import`, `trigger_social_listening_auto_import` — manage Social Listening cadence
  • `track_competitor`, `track_influencer` — add competitors / influencers to track
  • `get_social_listening_stats` — get aggregate Social Listening metrics

Pending replies and pending comments (the AI-approval queue)

  • `get_pending_replies`, `get_pending_replies_count` — list AI-drafted replies awaiting approval
  • `approve_pending_reply`, `deny_pending_reply`, `regenerate_pending_reply`, `update_pending_reply` — act on individual drafts
  • `get_pending_comments`, `get_pending_comments_count`, `approve_pending_comment`, `deny_pending_comment`, `update_pending_comment`, `retry_pending_comment` — same workflow for AI-drafted comments

Unibox and conversation management

  • `get_unibox`, `get_unibox_task_status`, `get_unibox_unread_count` — inspect inbox state
  • `mark_unibox_thread_read`, `send_unibox_reply`, `sync_unibox` — act on conversations

AI Setup and ICP

  • `get_ai_setups`, `get_ai_setup`, `select_ai_setup` — manage AI Setup configurations
  • `create_ai_setup`, `update_ai_setup`, `delete_ai_setup` — CRUD on configurations
  • `generate_ai_setup_icp` — auto-infer ideal customer profile from offer description

Prompts (AI message templates)

  • `get_prompts`, `get_prompt` — list / retrieve AI prompts
  • `create_prompt`, `update_prompt` — manage prompt library

Contacts and lists

  • `get_contacts`, `get_contact`, `get_contacts_summary` — list contacts
  • `create_contact`, `update_contact`, `delete_contact`, `bulk_delete_contacts`, `bulk_move_contacts` — manage contacts in bulk
  • `create_lead`, `create_leads_bulk` — direct lead creation
  • `get_lists`, `get_list_contacts`, `create_list`, `update_list`, `delete_list` — list management
  • `enrich_contact_email`, `enrich_contacts_email_bulk`, `get_enrichment_status` — email enrichment

LinkedIn account management

  • `get_linkedin_accounts` — list connected LinkedIn senders
  • `get_account_status`, `get_integration_status` — health checks

Performance and reporting

  • `get_performance_analytics`, `get_dashboard_summary` — campaign and account-level metrics
  • `get_billing_summary` — usage and billing data
  • `get_scheduled_sends`, `update_scheduled_send_status` — inspect / cancel scheduled outbound

Tasks and async operations

  • `get_tasks`, `get_agent_run_status`, `cancel_task`, `retry_task` — manage long-running operations

The full surface is the same product surface as the LinkedNav app, exposed programmatically.


Setup: API Key + MCP Server in 10 Minutes

The integration uses API key authentication. Setup is straightforward.

Step 1 (2 min): Generate an API key in LinkedNav

  1. Open the LinkedNav app at linkednav.com/app/integrations
  2. Navigate to "API keys"
  3. Click "Generate new key" — give it a descriptive name (e.g., "claude-desktop-local")
  4. Copy the key (shown once; can't be retrieved later if lost)

Step 2 (3 min): Configure Claude Desktop's MCP settings

For Claude Desktop on macOS, edit `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json { "mcpServers": { "linkednav": { "command": "npx", "args": ["-y", "@linkednav/mcp-server"], "env": { "LINKEDNAV_API_KEY": "ln_live_xxxxx_your_key_here" } } } } ```

For Claude Desktop on Windows, the config path is `%APPDATA%\Claude\claude_desktop_config.json` with the same structure.

For programmatic Claude API usage (custom agents), use the MCP server URL pattern documented at linkednav.com/claude-mcp-integration with the API key passed as a header.

Step 3 (2 min): Restart Claude Desktop

Quit and re-open Claude Desktop. The MCP server should appear in the conversation tools panel.

Step 4 (3 min): Verify the connection

In a new Claude conversation, ask:

``` List my LinkedNav campaigns. ```

Claude should call `get_campaigns` and return the list. If you see an authentication error, double-check the API key. If you see "MCP server not found," check the config JSON for syntax issues.


6 Production Agent Workflows With Code

These are the workflows mature LinkedNav users implement on day one. Each is a Claude conversation that runs the full operation end-to-end.

Workflow 1: Daily Signal Triage

The pattern: every morning, Claude pulls overnight signal-surfaced leads, qualifies them against ICP, and presents a triage queue.

``` You: Show me the new high-intent signals from the last 12 hours. Match them against my ICP and rank by likelihood of fit. For each, summarize why they're high-intent. ```

Claude orchestrates:

  1. `get_signal_leads(since: '12h')` — pull recent surfaced leads
  2. `get_ai_setup` — get current ICP definition
  3. For each lead: cross-reference attributes against ICP, score
  4. Return ranked list with one-sentence "why intent" per lead

The SDR scrolls the list, picks 12 to add to active campaigns. Claude calls `add_leads_bulk_to_campaign` with the selected IDs.

Workflow 2: Pending Reply Batch Review

The pattern: review all AI-drafted replies pending approval and approve / regenerate / deny in one pass.

``` You: List all pending replies. For each, show me the prospect's last message and the AI's draft response. Group by sentiment. ```

Claude orchestrates:

  1. `get_pending_replies` — pull all pending drafts
  2. For each, retrieve the prior conversation context
  3. Run sentiment analysis client-side (Claude's own capability)
  4. Return grouped batches: positive / neutral / negative

The SDR can then say "approve all the positives, regenerate the neutrals with a more direct CTA, deny the negatives." Claude calls the appropriate `approve_pending_reply`, `regenerate_pending_reply`, `deny_pending_reply` for each ID.

Workflow 3: Campaign Performance Audit

The pattern: weekly performance review surfaces underperforming campaigns and suggests adjustments.

``` You: Audit my campaigns from the last 14 days. Identify any with acceptance rate below 25% or reply rate below 10%. For each underperformer, suggest a likely cause and a specific action. ```

Claude orchestrates:

  1. `get_performance_analytics(window: '14d')` — pull campaign metrics
  2. Filter underperformers
  3. For each: `get_campaign(id)` to retrieve config, compare against high-performing peers
  4. Diagnose likely cause (prompt drift, ICP mismatch, sender exhaustion, sequence step issue)
  5. Return prioritized action list

The SDR confirms the actions; Claude executes via `update_campaign`, `update_prompt`, etc.

Workflow 4: Bulk ICP Generation From Offer Description

The pattern: spinning up new campaigns for new offers requires defining ICP from scratch — Claude can do this in one prompt.

``` You: I'm launching outreach for our new product feature targeting engineering leaders at B2B SaaS companies with 50-500 employees. Generate the ICP and seed prompts. ```

Claude orchestrates:

  1. `generate_ai_setup_icp(description: '...')` — call LinkedNav's ICP generator with the offer description
  2. Receive structured ICP (titles, industries, seniority, company size, prompts)
  3. Present for SDR review

If the SDR approves, Claude calls `create_ai_setup` to save the ICP and `select_ai_setup` to activate it.

Workflow 5: Comment Campaign Approval

The pattern: comment campaigns drift in tone faster than DMs because comments are public-facing. Reviewing batches before posting maintains brand voice.

``` You: List pending comments. Group by post URL. Flag any that feel salesy or off-brand. ```

Claude orchestrates:

  1. `get_pending_comments` — pull all pending comment drafts
  2. Group by `post_url`
  3. Run brand-voice check (using the SDR's tone guidelines from prompt context)
  4. Return flagged + clean lists

SDR approves the clean batch; regenerates flagged ones with revised prompts. Claude calls `approve_pending_comment` / `update_pending_comment` / `retry_pending_comment` per ID.

Workflow 6: Cross-Campaign Lead De-Duplication

The pattern: a prospect surfaced via Signal Agent might also be in a Social Listening import. Without de-dup, they get double-touched.

``` You: Find all contacts that appear in more than one active campaign. For each, show me which campaigns and recommend which one to keep them in. ```

Claude orchestrates:

  1. `get_contacts(filter: { campaigns: '>1' })` — list contacts in multiple campaigns
  2. For each, `get_contact(id)` — retrieve full attribution
  3. Analyze: which campaign's signal context is strongest?
  4. Recommend keeping in highest-context campaign, removing from others

SDR confirms; Claude calls `remove_leads_from_campaign` for the redundant memberships.


Try LinkedNav free — start your first AI agent today

You've read this far because manual click-through workflows aren't scaling. LinkedNav's Claude MCP integration lets Claude run your entire LinkedIn outreach orchestration as a conversation.

  • Free tier: $0, no credit card. API key included.
  • Standard: $49/month. Full MCP access, unlimited tool calls.

Best Practices for Building on Top of LinkedNav MCP

Production agents have a few patterns that separate them from naive prompts:

1. Always require human approval on outbound

Never let Claude auto-call `approve_pending_reply` or `approve_pending_comment` without explicit human confirmation. The pending-approval queue exists because AI drafts need human gating; bypassing it defeats the safety architecture and risks LinkedIn restriction. The MCP server doesn't enforce this — your agent design must.

2. Rate-limit bulk operations in your agent layer

`add_leads_bulk_to_campaign` accepts hundreds of leads at a time. If your agent calls it on every signal surfacing without rate-limiting, you'll hit LinkedIn's ~100/week per-account cap fast. Build agent-side limits: e.g., "no more than 100 leads added per campaign per week without explicit override."

3. Cache reads, don't re-call

`get_campaigns` and `get_dashboard_summary` are heavy operations. If your agent calls them on every conversation turn, you're wasting API budget and user time. Cache for 5-10 minutes within an agent session, refresh on explicit request.

4. Surface confidence levels on AI suggestions

When Claude suggests a campaign action ("update this prompt to fix the low reply rate"), have it surface its confidence. Low-confidence suggestions should default to "draft for review" rather than "execute." Calibrating this prevents runaway agent behavior.

5. Log every tool call

In production agents, log every MCP tool call with timestamp, inputs, outputs, and downstream actions. Required for debugging when an agent does something unexpected, and useful for auditing AI-driven changes to campaigns.

6. Test on a sandbox campaign first

Spin up a 5-prospect test campaign in a sandbox AI Setup before pointing your agent at production campaigns. Catches prompt issues, race conditions, and integration bugs before they affect live outreach.

7. Respect the auto-withdraw window

The auto-withdraw feature pulls back unaccepted invitations after a configured window. Your agent shouldn't fight against it — adding a prospect to a new campaign right after they were auto-withdrawn from a previous one is a detection signal. Check `get_contact(id)` for recent withdrawal history before re-targeting.


MCP vs REST API: When to Use Which

LinkedNav exposes its product surface through both MCP and a REST API. Choosing the right interface matters:

Use MCP when:

  • The workflow is conversational / interactive — Claude is in the loop, the SDR is talking through actions
  • You want Claude to compose multiple tool calls into one operation ("audit campaigns, fix the underperformers, summarize what changed")
  • You're building agent-style workflows where the LLM is doing the orchestration
  • Prompt engineering matters — MCP's structured tool schemas let Claude reason about which tool to call when

Use REST API direct when:

  • The workflow is fully programmatic — no LLM in the loop, just code
  • You're integrating with existing automation infrastructure (e.g., a custom dashboard or internal tool)
  • Performance matters per call — direct REST is lower-latency than MCP-via-Claude
  • You're triggering events from external systems (webhooks, CRM workflows) and don't need the LLM to interpret them

Most mature deployments use both. Conversational SDR workflows go through MCP; CRM-triggered automation goes through REST. They share the same underlying API key and quota.


Debugging Common MCP Issues

When something doesn't work, check these in order:

Issue 1: "MCP server not found"

The Claude Desktop config has a syntax error or wrong path. Validate the JSON. Confirm `npx` is on PATH (`which npx` should return a path). Restart Claude Desktop.

Issue 2: "Authentication failed"

The API key is wrong, expired, or has been revoked. Generate a fresh key in linkednav.com/app/integrations and update the config.

Issue 3: Tool calls succeed but data is empty

The API key is for a different LinkedNav workspace than expected (common when teams have multiple workspaces). Check `get_account_status` — confirm workspace ID matches what you intend to operate on.

Issue 4: Rate limit / "too many requests"

The agent is calling tools faster than reasonable (typically a runaway loop). Add agent-side rate limiting; check for unintended retries.

Issue 5: Claude doesn't know which tool to call

The user's natural-language request is ambiguous. Either rephrase more specifically ("Show me campaigns with reply rate below 10%" instead of "Show me campaigns") or update the agent's system prompt to disambiguate common requests.

Issue 6: Tool output too large

`get_contacts` on a large workspace can return thousands of records, blowing the conversation context. Use pagination parameters or filters to scope the request: `get_contacts(filter: { campaign_id: 'xyz', limit: 50 })`.


Real Agent Patterns: Sample Prompts From Production Use

The prompts that production teams actually use day-to-day:

Daily morning standup prompt

``` Good morning. Run my daily LinkedNav check-in:

  1. New signal-surfaced leads from the last 24 hours, grouped by signal type
  2. Pending replies count and top 5 most urgent (longest-waiting positive replies)
  3. Pending comments count and any flagged for review
  4. Campaign performance: any campaigns with acceptance below 25% in last 7 days

Format as a bulleted briefing I can read in 60 seconds. ```

Weekly campaign audit prompt

``` Audit my LinkedNav campaigns. For each active campaign:

  1. Acceptance rate, reply rate, meetings booked (last 14 days)
  2. Compared to its 30-day baseline
  3. Flag any with >20% week-over-week decline
  4. For flagged campaigns, retrieve the recent prompts and suggest specific changes

Skip campaigns with < 50 sends in the period (insufficient data). ```

Pre-launch new campaign prompt

``` I'm spinning up a new campaign for [offer description]. Help me:

  1. Generate the ICP via generate_ai_setup_icp
  2. Create starter prompts for connection request, follow-up, and reply
  3. Suggest 3-5 Signal Agent triggers most likely to surface high-fit leads
  4. Estimate expected acceptance rate range based on similar past campaigns

Don't activate anything yet — just propose; I'll approve. ```

End-of-week reflection prompt

``` Summarize my LinkedNav week:

  1. Total touches, accepts, replies, meetings booked
  2. Top 3 highest-converting signal sources this week
  3. Top 3 underperforming campaigns and their issues
  4. Any LinkedIn account warnings or restrictions
  5. Recommendations for next week's focus

```

These prompts get reused; teams maintain a library of them as Claude artifacts or shared snippets.


How LinkedNav's 4 Differentiators Surface Through MCP

Every differentiator is accessible programmatically:

  1. 24-hour intent signals — `get_signal_leads(since: '24h')` returns leads with full signal context. Agents can filter, score, and act on them in real time. The Signal Agent runs continuously; agents query as needed.
  1. AI follow-ups with human approval — `get_pending_replies` + `approve_pending_reply` (or `regenerate_pending_reply`) is the exact approval queue exposed as tools. Agents can present batches for review; humans approve in conversation; the system sends.
  1. Comment campaigns / Social Listening — `get_social_listening_engagers`, `track_competitor`, `track_influencer`, plus the comment approval surface (`get_pending_comments`, `approve_pending_comment`). The whole Social Listening pipeline is agent-accessible.
  1. Auto-withdraw — Configurable per campaign; agents can read and update via `get_campaign` / `update_campaign`. Recent withdrawals visible per contact via `get_contact` history.

Production Architecture: Where the Agent Lives

For most teams, the right deployment pattern depends on use case:

Pattern A: Local Claude Desktop (best for individual SDRs)

Each SDR runs Claude Desktop with the MCP server configured locally. Personal API key. Conversations stay on the SDR's machine. Lowest setup overhead, doesn't scale to team-shared workflows.

Pattern B: Custom agent via Claude API (best for team workflows)

Build a custom agent using the Claude API, with the MCP server configured at the API level. Deploy as a Slack bot, internal web app, or automation cron. Team members invoke shared agent workflows ("approve all positive replies", "audit campaigns") from a single interface.

Pattern C: Claude Skills / Connectors (best for non-technical users)

Package the agent workflows as a Claude Skill or Connector that non-technical SDRs can use without writing prompts each time. The Claude LinkedIn Automation page has examples of this pattern. Users get one-click access to common workflows; the prompts are pre-engineered.

Pattern D: Background automation (best for monitoring)

Scheduled Claude API calls running off-hours: nightly campaign audits, daily Signal Agent triage summaries posted to Slack, weekly performance reports. Pattern uses the MCP server but doesn't require human conversation — the agent's outputs feed downstream workflows.

Most mature deployments use combinations: Pattern A for individual SDR work, Pattern B for shared team workflows, Pattern D for monitoring. Pattern C lowers the barrier for non-technical team members.



Frequently Asked Questions

Do I need to be a developer to use the MCP integration?

No, for basic Claude Desktop usage — anyone who can edit a JSON config file can connect Claude to LinkedNav and start running natural-language workflows. For custom agents (Pattern B-D above), some developer skills help but aren't required if you're using the Claude LinkedIn Automation Skills which package common workflows.

What's the difference between the MCP server and the Claude Skills?

The MCP server is the underlying tool surface — it exposes 80+ tools that any MCP-compatible client (Claude Desktop, custom agents, Skills) can call. Claude Skills are pre-packaged agent workflows built on top of the MCP server, designed for one-click use without writing prompts. Most users start with Skills, then graduate to custom MCP-backed agents as their needs become specific.

Are there rate limits on MCP tool calls?

The MCP server itself is generous on rate limits — designed for interactive conversational use plus reasonable automation. The downstream LinkedIn outreach is rate-limited by LinkedIn's enforcement (~100 invites/week per account), which the agent should respect via tool-design (not by ignoring the underlying constraints).

Can I see the source / contribute to the MCP server?

The MCP server runs as a hosted service from LinkedNav; the npm package wrapper is open for inspection. If you find a bug or want a new tool exposed, contact LinkedNav support.

Does the MCP integration cost extra?

No. All LinkedNav tiers (Free, Standard $49, Pro $99) include MCP access at no additional charge. Tool-call volume is unlimited within the underlying campaign / outreach quotas.

Can I run the MCP server from a non-Claude AI client?

Yes — MCP is an open standard. Any MCP-compatible client can use the LinkedNav MCP server. Claude is the most-tested client today; OpenAI Agents SDK, Cline, and other MCP clients should also work.

What about security — is my API key safe?

The API key is sensitive — treat it like a password. Don't commit to git, don't share publicly, rotate if exposed. The Claude Desktop config stores it in plain text on your local machine — same security model as SSH keys. For team deployments (Pattern B), use environment variables and secret managers.

Does the MCP server expose data I shouldn't share with Claude?

It exposes the same data the LinkedNav app exposes to you — your campaigns, your contacts, your signals, your replies. Claude has access to this through the MCP server; treat your conversations accordingly. For especially sensitive workflows (e.g., enterprise deals with NDAs), use ephemeral conversations and don't save them.

Can the agent run continuously without human in the loop?

Technically yes (Pattern D background automation), but you should never let an agent auto-approve outbound messages or comments. The pending-approval queue is the safety architecture; bypassing it forfeits the human oversight that prevents AI-drafted outbound from going off-brand or off-spec. Agents can auto-execute read operations and suggestion operations; send operations should always have human gating.

What's a good starter prompt to test the integration?

``` Show me my campaign performance for the last 7 days. Identify the top 3 by reply rate and the bottom 3 by acceptance rate. For each underperformer, suggest one specific change. ```

This uses `get_performance_analytics`, `get_campaigns`, and Claude's reasoning together — a good test that the integration is working end-to-end.

Can I version-control my agent prompts?

Yes. Most production teams keep prompts in a git repo, alongside any custom integration code. Prompts are essentially configuration — they evolve as your offer evolves and your understanding of the ICP sharpens. Treating them as code means review processes, change history, and the ability to roll back when a prompt update tanks reply rates. Pair this with the LinkedNav prompt management surface (`get_prompts`, `update_prompt`) so the canonical prompts live in LinkedNav and the version history lives in git.

How does this integration compare to building everything from scratch with the LinkedIn API?

LinkedIn doesn't expose an outreach API for third parties — automation tools like LinkedNav implement the LinkedIn-side execution via server-side headless browsers, then expose their own API on top. Building from scratch means rebuilding the headless-browser layer, the rate-limiting / safety logic, the multi-account session management, the auto-withdraw logic — typically 6-12 engineer-months of work before you can send a single message safely. Using LinkedNav + Claude MCP collapses that to 10 minutes of config because the safety architecture and orchestration layer already exist and you're just wiring in the AI control plane on top. The build-versus-buy math is settled for almost every team in 2026 — buy the platform that handles LinkedIn execution safely, customize the agent layer on top to fit your sales motion.


Sources

  • LinkedNav Claude MCP integration: https://www.linkednav.com/claude-mcp-integration
  • LinkedNav Claude LinkedIn Automation Skills: https://www.linkednav.com/claude-linkedin-automation
  • LinkedNav homepage: https://www.linkednav.com/
  • Anthropic MCP documentation: https://modelcontextprotocol.io/
  • Claude Desktop: https://www.anthropic.com/claude/desktop
  • Claude API: https://docs.anthropic.com/

Build a stronger LinkedIn sales system