catchintent
The intent layer for B2B outbound. Find, triage, and act on warmth-scored leads.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (4)
- HIGH
- MEDIUMin product_get
- LOWin lead_update_sequence
- LOWin lead_enrich
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"catchintent": {
"url": "https://engine.catchintent.com/mcp"
}
}
}Remote-Endpunkte
https://engine.catchintent.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (14)
🟢lead_search(productId, status, warmth, workflowTag, search, ...)
Search leads in the workspace. A lead is always a person discovered on LinkedIn. Filter by warmth, status, or text.
Eingabe-Schema
{
"type": "object",
"properties": {
"productId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"status": {
"type": "array",
"items": {
"type": "string",
"enum": [
"new",
"seen",
"saved",
"pushed",
"archived"
]
}
},
"warmth": {
"type": "array",
"items": {
"type": "string",
"enum": [
"hot",
"warm",
"cool"
]
}
},
"workflowTag": {
"type": "array",
"items": {
"type": "string"
}
},
"search": {
"type": "string",
"maxLength": 200
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"pageSize": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢lead_get(leadId)
Get full details of one lead: profile, discovery context (fit reason, pain hypothesis, role signals, disqualifiers), the AI-drafted outreach sequence (lead.outreach), warmth score, and status.
Eingabe-Schema
{
"type": "object",
"properties": {
"leadId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"leadId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡lead_update_status(leadId, status)
Move a lead through the triage funnel. Valid transitions: NEW → SEEN/SAVED/PUSHED/ARCHIVED, SEEN ↔ SAVED, SAVED → PUSHED/ARCHIVED, PUSHED → ARCHIVED, ARCHIVED → SEEN. PUSHED is irreversible — it marks handoff to an outreach tool / CRM.
Eingabe-Schema
{
"type": "object",
"properties": {
"leadId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"status": {
"type": "string",
"enum": [
"new",
"seen",
"saved",
"pushed",
"archived"
]
}
},
"required": [
"leadId",
"status"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡lead_regenerate_sequence(leadId, instructions)
Re-draft the lead's AI outreach sequence (LinkedIn/X steps). Optional instructions steer the rewrite. Capped per lead — edit directly once the cap is hit.
Eingabe-Schema
{
"type": "object",
"properties": {
"leadId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"instructions": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"leadId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡lead_update_sequence(leadId, steps)
Replace the lead's outreach sequence steps with edited versions (marks the sequence as edited).
Eingabe-Schema
{
"type": "object",
"properties": {
"leadId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"steps": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"order": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"channel": {
"type": "string"
},
"purpose": {
"type": "string"
},
"delayDays": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"body": {
"type": "string"
}
},
"required": [
"order",
"channel",
"purpose",
"delayDays",
"body"
]
}
}
},
"required": [
"leadId",
"steps"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪lead_enrich(leadId)
Trigger full LinkedIn profile enrichment via Apify (~$0.002, idempotent).
Eingabe-Schema
{
"type": "object",
"properties": {
"leadId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"leadId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡lead_push_to_crm(leadIds, provider)
Push leads to your connected CRM (HubSpot, Close, Pipedrive, Zoho). Each lead becomes a contact / deal in the destination. Lead status does not change automatically — call lead_update_status to mark as `pushed` once CRM confirms.
Eingabe-Schema
{
"type": "object",
"properties": {
"leadIds": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"provider": {
"type": "string",
"enum": [
"hubspot",
"close",
"pipedrive",
"zoho"
]
}
},
"required": [
"leadIds"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢workspace_usage
Current workspace usage vs plan limits: leads delivered this billing period, team members, products, AI compute budget, daily/monthly caps.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡workspace_icp_options(field)
Get the valid Seniority Level and Job Function labels for product targeting (the reach dimensions MCP can set; roles are free text). Call this before product_update — unknown labels are rejected, never silently dropped.
Eingabe-Schema
{
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": [
"seniorityLevels",
"jobFunctions"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢product_list
List every product/brand tracked by this workspace. Each product has its own brand profile, audience, and leads. Returns id, name, and timestamps.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢product_get(productId)
Resolved brand profile for a product, returned as nested sections with human-readable labels: sell (name/description/keywords/competitors/offer), fit (company firmographics), reach (roles/seniority/functions), plus offer, voice, and domain. Drives all AI scoring + outreach drafting for that product.
Eingabe-Schema
{
"type": "object",
"properties": {
"productId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"productId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡product_create(name, description, domain, keywords, competitors, ...)
Create a new product. You can set sell (name/description/keywords/competitors), the structured offer, voice, and reach (roles/seniority/functions). Company firmographics (industries/size/country) are set in the dashboard, not here. Brand fields are optional and can be filled later via product_update.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 100
},
"description": {
"type": "string",
"maxLength": 1000
},
"domain": {
"type": "string",
"maxLength": 255
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"competitors": {
"type": "array",
"items": {
"type": "string"
}
},
"icp": {
"type": "object",
"properties": {
"targetRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"seniorityLevels": {
"type": "array",
"items": {
"type": "string"
}
},
"jobFunctions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"offer": {
"type": "object",
"properties": {
"headline": {
"type": "string"
},
"targetPainPoint": {
"type": "string"
},
"uniqueMechanism": {
"type": "string"
},
"proofPoints": {
"type": "array",
"items": {
"type": "string"
}
},
"callToAction": {
"type": "string"
},
"riskReversal": {
"type": "string"
},
"pricingContext": {
"type": "string"
}
},
"required": [
"headline",
"targetPainPoint",
"uniqueMechanism",
"proofPoints",
"callToAction"
]
},
"voice": {
"type": "object",
"properties": {
"tone": {
"type": "string",
"enum": [
"professional",
"friendly",
"casual",
"authoritative"
]
},
"personality": {
"type": "array",
"items": {
"type": "string"
}
},
"doNots": {
"type": "array",
"items": {
"type": "string"
}
},
"customInstructions": {
"type": "string"
}
},
"required": [
"tone",
"personality"
]
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡product_update(productId, name, description, domain, keywords, ...)
Update a product. Partial — only provided fields change. You can set sell (name/description/keywords/competitors), the structured offer, voice, and reach (roles/seniority/functions). Company firmographics (industries/size/country) are set in the dashboard, not here. Reach labels are resolved strictly to canonical IDs; unknown values rejected.
Eingabe-Schema
{
"type": "object",
"properties": {
"productId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"name": {
"type": "string",
"maxLength": 100
},
"description": {
"type": "string",
"maxLength": 1000
},
"domain": {
"type": "string",
"maxLength": 255
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"competitors": {
"type": "array",
"items": {
"type": "string"
}
},
"icp": {
"type": "object",
"properties": {
"targetRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"seniorityLevels": {
"type": "array",
"items": {
"type": "string"
}
},
"jobFunctions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"offer": {
"type": "object",
"properties": {
"headline": {
"type": "string"
},
"targetPainPoint": {
"type": "string"
},
"uniqueMechanism": {
"type": "string"
},
"proofPoints": {
"type": "array",
"items": {
"type": "string"
}
},
"callToAction": {
"type": "string"
},
"riskReversal": {
"type": "string"
},
"pricingContext": {
"type": "string"
}
},
"required": [
"headline",
"targetPainPoint",
"uniqueMechanism",
"proofPoints",
"callToAction"
]
},
"voice": {
"type": "object",
"properties": {
"tone": {
"type": "string",
"enum": [
"professional",
"friendly",
"casual",
"authoritative"
]
},
"personality": {
"type": "array",
"items": {
"type": "string"
}
},
"doNots": {
"type": "array",
"items": {
"type": "string"
}
},
"customInstructions": {
"type": "string"
}
},
"required": [
"tone",
"personality"
]
}
},
"required": [
"productId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴product_delete(productId)
Delete a product. Fails only if it's the workspace's only product. Its audience and leads cascade-delete.
Eingabe-Schema
{
"type": "object",
"properties": {
"productId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"productId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis