← Back to blog
· 6 min · Fintalio

Build a LinkedIn AI Agent in Claude Desktop: 15-Minute Tutorial

Step-by-step: install the Fintalio MCP server in Claude Desktop, paste your token, and ship a working LinkedIn AI agent in 15 minutes. Copy-paste config included.

tutorial mcp claude-desktop linkedin-ai ai-agent
Build a LinkedIn AI Agent in Claude Desktop: 15-Minute Tutorial

TL;DR

A LinkedIn AI agent in Claude Desktop is the LLM running in your desktop app, plus a remote MCP server (Fintalio) that exposes 19 LinkedIn prospecting tools. Setup is four steps: issue a Fintalio token, edit claude_desktop_config.json with one mcpServers block, restart Claude Desktop, confirm tool discovery. Bundled in the €69/mo Fintalio plan. No code required. The boring 80% of outbound is solved in 15 minutes. The relationship 20% stays human.

What does “LinkedIn AI agent in Claude Desktop” actually mean?

Claude Desktop is the host. The MCP server is the tool layer. According to Anthropic’s Model Context Protocol announcement (November 2024), MCP is an open standard for connecting LLM hosts to data sources and tools. Fintalio publishes a remote MCP endpoint at https://fintalio.com/mcp that exposes 19 LinkedIn-prospecting tools the LLM can call.

It is not a “Claude Desktop plugin.” Plugins do not exist as a public surface. What does exist is the mcpServers config block, documented by Anthropic in the Claude Desktop release notes. You declare a server. Claude Desktop launches the tool-discovery handshake. Your LLM sees the tools and can call them.

The “agent” piece is the loop. The LLM decides which tool to call, when to chain results, and when to ask you. Two layers of approval keep you safe: the LLM proposes, Claude Desktop’s allowlist UI confirms, then the tool actually executes.

A simple architecture sketch

+----------------+    MCP/JSON-RPC over HTTPS    +-------------------+
|  Claude        |  ---- list/call tools ---->   |  Fintalio MCP     |
|  Desktop       |  <---- tool results -------   |  /mcp endpoint    |
|  (LLM host)    |                                |  Sanctum auth     |
+----------------+                                +-------------------+
                                                          |
                                                          v
                                                  +-------------------+
                                                  |  LinkedIn relay   |
                                                  |  (hosted OAuth)   |
                                                  +-------------------+

Read the pillar LinkedIn MCP architecture for the deeper protocol explainer. This tutorial stays tactical.

What do you need before you start?

Five items, no surprises. Anthropic’s MCP quickstart confirms the host must be Claude Desktop for desktop-class agents (Claude.ai web does not load remote MCP servers in the same way). You also need a Fintalio account on the single €69/mo plan, with LinkedIn already connected inside the dashboard via the hosted OAuth flow.

The 5-item checklist

  1. Claude Desktop installed (the free or paid Anthropic plan you already have works).
  2. A Fintalio account on the €69/mo plan. There is no free tier.
  3. A LinkedIn account connected inside Fintalio. The one-time OAuth flow happens in the Fintalio dashboard before you ever touch Claude Desktop.
  4. A text editor for editing one JSON file. VS Code, Sublime, BBEdit, any will do.
  5. About 15 minutes.

If you do not have a Fintalio account yet, the single plan bundles MCP access. There is no separate “MCP tier” to pick.

Step 1: how do you generate your Fintalio MCP token?

Three minutes. In the Fintalio dashboard, go to Settings, then “Tokens API & MCP.” Click “New token,” name it claude-desktop-mac (or claude-desktop-windows), copy the value the moment it appears. The token is shown exactly once. The format is a 60-character Laravel Sanctum personal-access string, per the Sanctum documentation.

If you lose it, you do not recover it. You rotate it and issue a new one. That is not a quirk. It is how Sanctum stores hashed tokens server-side. Plain text never sits in the database.

Where do you keep the token?

Two paths.

The simple path: paste it directly into claude_desktop_config.json. The file lives in your user library, your machine, your filesystem. Most solo developers do this.

The careful path: store the token in your OS keychain (macOS Keychain, Windows Credential Manager) and reference it via an environment variable from the config. This is overkill for a single laptop. It matters if you share machines.

Step 2: how do you edit claude_desktop_config.json?

Five minutes. The config file is per-OS:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

If the file does not exist, create it. If it does exist and already has an mcpServers block, you merge the fintalio key in. Do not overwrite. That is the #1 mistake we see when developers report “my other MCP servers disappeared.”

The exact config block to paste

{
  "mcpServers": {
    "fintalio": {
      "url": "https://fintalio.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN_HERE"
      }
    }
  }
}

Replace YOUR_TOKEN_HERE with the 60-character token from Step 1. Keep the word Bearer. Keep the space. JSON is unforgiving about commas and quotes; if Claude Desktop refuses to load the config, paste it into a JSON linter first.

Step 3: why does Claude Desktop need a full restart?

Two minutes. Closing the window is not enough. Claude Desktop reads claude_desktop_config.json only on cold start. On macOS, use Cmd+Q. On Windows, quit from the system tray. Then relaunch.

When it comes back up, the menu-bar hammer icon (macOS) or the equivalent tool indicator should show Fintalio as connected. If it stays inactive, you have one of three problems: a typo in the token, the wrong URL, or a corporate firewall blocking outbound HTTPS to fintalio.com. We have seen all three this month.

Step 4: how do you confirm tool discovery worked?

Two minutes. Open a fresh chat in Claude Desktop. Type a literal sentence:

List the LinkedIn MCP tools you can see from Fintalio.

You should get back an enumeration of 19 tools (9 read, 9 write, 1 execute) and 3 resources. The exact names matter, because if you ever ask the agent to call a tool that does not exist, it will hallucinate the call and the call will fail.

The verified tool list

These are the only 19 tools Fintalio exposes today. Memorize the categories.

Read (9): ListContacts, GetContact, ListContactGroups, ListSequences, GetSequence, ListSequenceTemplates, GetSequenceTemplate, ListVariables, GetAccountStatus.

Write (9): CreateContactGroup, UpdateContact, PauseSequence, ResumeSequence, StopSequence, ParseCsv, CommitCsv, CreateSequenceTemplate, CreateContact.

Execute (1): LaunchSequence.

Resources (3): ContactResource, SequenceResource, TemplateResource.

There is no SearchProfiles, no SendMessage, no ReadInbox, no PublishPost. Those tools do not exist on Fintalio’s surface. If you ask for them, the LLM may invent the call and the server will return an error.

What are the first useful prompts to try?

Four prompts, in order. Each is designed to verify one layer of the stack before you trust the agent with anything bigger. Run them in a fresh chat after Step 4.

Prompt 1: the diagnostic

Call GetAccountStatus and tell me my LinkedIn connection state and daily action quota.

This confirms three things at once: your token is valid, your LinkedIn account is connected at the relay layer, and Fintalio reports your remaining daily quota. Per config/plans.php, the platform enforces 50 messages and 50 connections per day on the €69/mo plan.

Prompt 2: read-only exploration

List my 10 most recent contacts and group them by company seniority.

This calls ListContacts, then asks the LLM to do the grouping in its own head. No writes. No surprises. Useful for confirming the data you expect is actually there.

Prompt 3: the agent loop, supervised

I have a CSV of 50 prospects at /tmp/prospects.csv. Use ParseCsv to validate it, propose a sequence template (do not send), and show me the first 3 draft messages.

Now the agent is chaining tools. ParseCsv validates structure. The LLM proposes a template using ListSequenceTemplates or CreateSequenceTemplate. You see drafts. Nothing is sent.

Prompt 4: the supervised launch

Create a contact group “Q3-RevOps-leads,” import the validated CSV via CommitCsv, then propose a launch plan. Do NOT call LaunchSequence yet.

The hard rule for your first week: never let the agent call LaunchSequence without your explicit “go.” The point is supervised autonomy, not autonomous outreach.

What goes wrong (and how do you fix it)?

Six failures cover roughly every support ticket we see. Each maps to a clear fix. None require touching code.

The six common failures

  • Hammer icon stays grey. Token typo, URL typo, or you skipped the full quit. Re-verify the JSON, re-quit, relaunch.
  • “401 unauthorized.” The token was rotated, never saved, or had a leading/trailing space. Issue a new one.
  • “429 rate limited.” The MCP endpoint is throttled to 120 requests per minute per token (per routes/ai.php). Wait 60 seconds.
  • Daily action cap hit. 50 messages, 50 connections per 24 hours. That is a platform safety limit, not a bug.
  • “Cannot find tool X.” You (or the LLM) invented a tool name. Only the 19 tools above exist.
  • LinkedIn account disconnected. Re-auth via Fintalio’s hosted OAuth flow in the dashboard, then retry the prompt.

What are the honest limits of “15-minute setup”?

You can set up an agent in 15 minutes. You cannot ship a production outbound motion in 15 minutes. That is a 2 to 4 week iteration loop: template testing, deliverability tuning, response handling, escalation rules to humans. According to LinkedIn’s User Agreement section 8.2, automated access must respect platform rate limits and acceptable use. That is the boundary Fintalio’s quotas exist to keep you inside.

The 80/20 framing

The agent solves the boring 80%: list ingestion, template variable filling, sequence scheduling, status reporting, “did this contact reply yet” lookups. The 20% (the actual relationship, the meeting, the negotiation) stays human. That is not a hedge. That is the design.

Cost reality: €69/mo Fintalio plus whatever you pay Anthropic for Claude Desktop equals your full stack. There is no separate MCP tier, no per-call meter exposed today. The pricing page is honest: one plan, one number.

FAQ

Do I need an Anthropic API key separately, or just Claude Desktop?

Just Claude Desktop. The MCP host model means your existing Anthropic subscription (free or paid) runs the LLM inference. Fintalio supplies the tool layer over HTTPS. No API key issuance, no separate Anthropic developer account. If you have Claude Desktop installed and signed in, you have the host you need.

Can I use this with Claude.ai (the web app) instead of Claude Desktop?

Not the same way. Per Anthropic’s documentation, remote MCP servers integrate with Claude Desktop via the mcpServers config block. Claude.ai web does support some MCP scenarios but the desktop config path is the documented one for third-party tool servers like Fintalio today. Use Claude Desktop for the deterministic setup.

Is the Fintalio token reusable across multiple Claude Desktop machines?

Technically yes, structurally no. You can paste the same token on two laptops, but you lose the audit trail and you cannot rotate just one. Best practice: issue one token per machine (claude-desktop-mac, claude-desktop-windows, claude-desktop-work). If a laptop is lost, you revoke that one token from the Fintalio dashboard.

What happens if my LinkedIn account is restricted while the agent is running?

The relay layer detects the disconnect. GetAccountStatus will report the disconnected state on the next call. Any write tool the agent tries (LaunchSequence, CommitCsv) returns an error rather than failing silently. You re-auth via Fintalio’s hosted OAuth flow, then the agent resumes. Restrictions are LinkedIn’s call, not the platform’s.

Can the agent reply to LinkedIn DMs automatically?

Not today. Fintalio’s 19 tools cover prospecting (contacts, sequences, templates, CSV import) and supervised launch. Inbox-read and inbox-reply tools are not on the surface. That is deliberate: auto-replies to DMs without human review is exactly the pattern that triggers LinkedIn account restrictions. Reply handling stays in your inbox, where it should be.

Wrap-up: what does success look like at minute 15?

Four steps. One token. One config file. One restart. One discovery prompt. The hammer icon is active, the LLM enumerates 19 tools, and your first supervised draft sequence is on screen. The boring 80% of outbound is solved. The 20% that matters (the actual conversation) is still yours.

If you want the conceptual deep-dive on the protocol layer, read LinkedIn MCP architecture. If you want the comparison against other agent platforms, the best MCP servers survey covers the landscape. If you are ready to issue your token, register here. The single plan is €69/mo. MCP access is bundled. No upsell.

The MCP section on the homepage has the one-paste config snippet you just used, plus the verified tool list. Bookmark it.

Plug LinkedIn into your AI agent

Fintalio is the MCP server for LinkedIn. Connect Claude, Cursor, or your custom agent and ship outreach workflows in minutes — with audit logs and rate-limit awareness baked in.

Get started