Use Kakiyo with Claude, ChatGPT, Grok, Cursor, and other MCP-compatible AI agents. Covers OAuth custom connectors, API-key setups, and available MCP tools.
Experimental Feature - The MCP Server is currently in beta. APIs and functionality may change.
The Model Context Protocol (MCP) is an open standard that allows AI assistants to interact with external tools and services. Kakiyo’s MCP server enables you to control your LinkedIn automation using natural language through AI assistants like Claude, ChatGPT, Grok, Cursor, and other MCP-compatible clients.
Kakiyo’s MCP server supports two authentication paths:
OAuth (recommended)
Default for Claude, ChatGPT, Grok, Cursor, Claude Code, and any other MCP client that supports remote HTTP. Users log in on Kakiyo, select a team, and approve the connector. No API key is pasted. Manage and revoke these connections from Developer → MCP.
API key header (optional)
Fallback for clients that cannot run OAuth. Uses a 40-character team-scoped API key in the Authorization header.
In the Kakiyo Dashboard, go to Developer → MCP. Copy the MCP server URL (https://api.kakiyo.com/mcp). Most clients, including Claude, ChatGPT, Grok, Cursor, and Claude Code, connect over OAuth and do not need an API key.
Get full prospect details and conversation history
add_prospect
Add a single LinkedIn profile to a campaign. Optional customData (max 3000 chars) is saved on the conversation and available in prompts as {{customData}}
add_prospects_batch
Add multiple prospects at once. Each prospect may include customData (max 3000 chars) for per-conversation prompt context
search_prospects
Advanced search with status, date, and campaign filters
list_campaign_prospects
List campaign prospects with pagination and filters like status=4 for replies
pause_prospect
Pause outreach to a specific person
resume_prospect
Resume a paused conversation
qualify_prospect
Mark a prospect as qualified
update_prospect_custom_data
Update or clear customData on an existing conversation ({{customData}} in prompts; max 3000 chars; empty string clears)
Use customData for freeform outreach context unique to that lead — for example the intent signal, post they engaged with, or research note that explains why you are contacting them now. The agent injects it into openers, replies, and follow-ups whenever the prompt includes {{customData}}.
List prompt templates (id, name, type, model only — no section text)
get_prompt
Get one prompt as sections (context, firstMessage, followUps or comment) plus update guidelines. Call this before update_prompt
update_prompt
Patch those sections. Omitted fields stay stored. followUps replaces the whole array (max 3; delay is 1-30 days after the previous message). A 4th follow-up is rejected
MCP agents should not send a raw prompt JSON blob. Patch context, firstMessage, or followUps separately. The API assembles and validates the stored JSON. To change one follow-up delay, copy the full followUps array from get_prompt first.
Read-only wallet and usage for the connected team. These tools cannot buy credits, change plans, or export CSVs. Agency-client workspaces do not receive the wallet balance.
Tool
Description
get_credits
Remaining included, purchased, reserved, and available credits
get_credit_usage
Usage overview for a date range (default last 30 days, maximum 90 days)
list_credit_requests
Paginated detailed usage (50 per page)
get_credit_request
One request plus generation attempts
Credit tools report the same customer ledger the dashboard Usage page uses. They never expose Stripe IDs or payment methods.
You: How are my campaigns doing?Claude: I'll check your campaign performance.[Calls get_analytics_overview]Here's your outreach performance summary:- Total Prospects: 1,247- Messages Sent: 3,891- Response Rate: 23.4%- Qualified Leads: 89- Active Campaigns: 4
You: Find all prospects who replied but aren't qualified yetClaude: I'll search for replied prospects.[Calls search_prospects with status="replied"]Found 34 prospects who replied:1. Sarah Chen (VP Marketing, TechCorp) - replied 2 days ago2. Mike Johnson (CEO, StartupXYZ) - replied yesterday...Would you like me to qualify any of these?
For campaign-specific replied prospects, use list_campaign_prospects with status=4 and limit=100.
You: Add https://linkedin.com/in/sarahchen to campaign camp_123 with context that she commented on our AI outbound post yesterdayClaude: I'll add Sarah with that customData so the agent can reference it in outreach.[Calls add_prospect with campaignId, linkedinUrl, and customData]Done. customData is saved on the conversation and available in prompts as {{customData}} (max 3000 characters).
You: Set up a new client workspace for Acme Corp and assign Agent-1 to itClaude: I'll create the workspace and assign the agent.[Calls create_workspace with name="Acme Corp"][Calls assign_agent_to_workspace]Done! Created workspace "Acme Corp" and assigned Agent-1.The agent's campaigns will now be visible to Acme Corp clients.Would you like me to invite a client user?
OAuth connections are listed on Developer → MCP in the dashboard. Each row shows the client (Claude, ChatGPT, Grok, Cursor, or a generic MCP client), the granted scopes (mcp:read, mcp:write), and the team it can access.Revoking a connection deletes that client’s refresh tokens for the workspace. The client must approve Kakiyo again to reconnect. One-hour access tokens expire on their own.API-key clients are managed from Developer → API Keys, not from the MCP connections list.
Open Developer → MCP in the Kakiyo dashboard and revoke the connected session. Clients using an API key are disconnected by deleting that key under Developer → API Keys.
Claude says 'Couldn't reach the MCP server'
Confirm https://api.kakiyo.com/mcp is reachable and returns 401 with a WWW-Authenticate header
Remove the existing custom connector in Claude and re-add it using the same URL
Make sure you’re not trying to paste a raw API key in the Claude custom connector dialog — use the OAuth flow for claude.ai/Claude Desktop
Claude OAuth flow opens but approval fails
Sign in to app.kakiyo.com first, then retry the Claude connector flow
Make sure your user account has access to at least one Kakiyo team
Approval binds the connector to the team selected on the consent screen; switching teams later requires reconnecting
Connection refused or timeout
Check that you’re using https://api.kakiyo.com/mcp with Streamable HTTP
For OAuth clients (Cursor, Claude Code, Claude, ChatGPT, Grok), add the URL without an Authorization header and complete the Kakiyo consent screen
If you chose the API-key path, verify the key is 40 characters and prefixed with Bearer
Authentication failed
For OAuth: revoke and reconnect from Developer → MCP, and confirm you approved the correct team
For API keys: the key is team-specific, 40 characters, and must be prefixed with Bearer
Generate a new key from the dashboard if you are on the header path and issues persist
Tool not found
The MCP server has 49 tools — some operations (like agent creation) require the dashboard
Use verify_api_key to confirm your connection is working
Agency tools not working
Workspace tools require an Agency plan
Verify your team is on the correct plan in the dashboard