Search documentation
Jump to any section of the Crispy docs
API Reference
MCP protocol reference
Crispy uses the Streamable HTTP transport from the MCP specification. Every request is JSON-RPC 2.0 over a single HTTP POST endpoint.
JSON-RPC protocol
Endpoint
POST https://crispy.sh/api/mcpAuthentication
Pass your API key as a Bearer token. OAuth tokens (from Claude.ai / ChatGPT) are also accepted.
Authorization: Bearer crispy_your_api_keyAvailable methods
| Method | Description |
|---|---|
tools/list | List all available tools and their input schemas |
tools/call | Execute a tool with arguments |
prompts/list | List available prompt templates |
prompts/get | Get a prompt template by name |
resources/list | List available resources |
resources/read | Read a resource by URI |
Example: call a tool
curl -X POST https://crispy.sh/api/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_people",
"arguments": {
"keyword": "VP Engineering",
"limit": 5
}
}
}'Documented tools (166)
Your API key's permission scope determines which tools can run. Every tool accepts an optional account_id parameter for multi-account usage.
The directory lists 166 documented tool pages. The default core scope holds 145 names. The default tools/list shows 164 live MCP tools. All 181 callable tools are published as 205 REST routes. Some tools have more than one route. Tools are consolidated by domain, for example get_campaign aggregates campaign state, stats, health, and outreach config in a single call. The rows below are examples, not category totals.
| Category | Examples |
|---|---|
| Profile | get_profile, get_profile_viewers |
| Messaging | list_conversations, get_messages, send_message, send_inmail, react_to_message |
| Network | get_connections, send_invitation, list_invitations, respond_to_invitation, cancel_invitation, get_company_profile, follow_user, get_followers |
| Content | create_post, get_post, list_posts, react_to_post, comment_on_post, list_post_comments, list_post_reactions, get_feed |
| Search | search_people, search_companies, search_posts, get_search_parameters |
| Analytics | get_analytics, get_post_analytics, get_cached_post_analytics, get_activity_analytics, get_comment_reach, get_variant_stats |
| Campaigns | upsert_campaign, get_campaign, preview_campaign_launch, confirm_campaign_launch, archive_campaign |
| Settings | get_account, manage_outreach_settings, update_account_settings |
| Support | contact_support |
Built-in prompts
Crispy includes pre-built workflow prompts. In Claude, these appear as prompt templates you can invoke directly. A selection is below; call prompts/list for the complete, current set.
inbox_zeroCheck unread conversations, summarize them, and draft replies
outbound_prospectingSearch for prospects, review profiles, send personalized invitations
Parameters: criteria (required), message_template (optional)
follow_up_sequenceDaily outreach loop: welcome new connections, check pending invitations, follow up on stale conversations
Parameters: follow_up_days (optional, default: 3)
content_engagementFind high-engagement posts and draft strategic comments
Parameters: topic (optional, leave empty to browse your feed)
post_drafterResearch what's performing on a topic, then draft posts in 3 formats (list, story, hot take)
Parameters: topic (required), tone (optional: professional, casual, provocative, storytelling)
competitor_intelResearch a competitor's LinkedIn presence, content strategy, audience, and key employees
Parameters: company (required)
weekly_reportGenerate a performance report with post analytics, engagement trends, and recommendations
Parameters: profile_id (optional, leave empty for your own profile)
network_pulseSee who's active in your network, find conversation starters and connections to nurture
MCP resources
Resources are read-only data endpoints your AI client can access without calling a tool. A selection is below; call resources/list for the full set and resources/read to fetch one.
crispy://account/infoYour connected LinkedIn account details: name, permission scope, Sales Navigator status, and plan info.
crispy://account/usageToday's API usage and remaining LinkedIn safety limits by action category. Check before running outreach.
crispy://tools/listList of all MCP tools available under your current permission scope, with descriptions.
crispy://account/writing-styleYour AI-generated messaging and posting style guides, based on analysis of your LinkedIn activity.
Error codes
Tool calls return standard HTTP-style status codes in the JSON-RPC error payload.
| Code | Meaning | Retryable |
|---|---|---|
401 | Invalid or expired API key | No |
403 | Tool not allowed by permission scope | No |
404 | Profile, post, or resource not found | No |
408 | Request timed out | Yes |
429 | LinkedIn or plan rate limit reached | Yes (wait) |
502/503 | LinkedIn API temporarily unavailable | Yes |
Hitting a 429? Check your remaining capacity in safety limits, or see troubleshooting.