CatchIntent MCP
CatchIntent is an intent layer for B2B outbound that watches real buying-intent signals and resolves them to named buyers. The MCP server exposes 28 typed tools across agents, leads, outreach engagements, workspace, and brands, allowing AI agents to programmatically run the entire outbound motion including lead enrichment and drafted openers.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://engine.catchintent.com/mcpWhat its tools do
14 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to catchintent.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Watch buying-intent signals like job changes and funding rounds
- Resolve signals to warmth-scored leads with fit reasons
- Run outreach engagements programmatically via AI agents
- Manage multi-brand workspaces and isolated outreach accounts
Source and maintenance
Protocol and capabilities
- Server
- catchintent 2.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 14 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
14 advertised
lead_search
Search leads in the workspace. A lead is always a person discovered on LinkedIn. Filter by warmth, status, or text.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"minimum": 1
},
"search": {
"type": "string",
"maxLength": 200
},
"status": {
"type": "array",
"items": {
"enum": [
"new",
"seen",
"saved",
"pushed",
"archived"
],
"type": "string"
}
},
"warmth": {
"type": "array",
"items": {
"enum": [
"hot",
"warm",
"cool"
],
"type": "string"
}
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 200,
"minimum": 1
},
"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)$"
},
"workflowTag": {
"type": "array",
"items": {
"type": "string"
}
}
}
}lead_get
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadId"
],
"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)$"
}
}
}lead_update_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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadId",
"status"
],
"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": {
"enum": [
"new",
"seen",
"saved",
"pushed",
"archived"
],
"type": "string"
}
}
}lead_regenerate_sequence
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadId"
],
"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
}
}
}lead_update_sequence
Replace the lead's outreach sequence steps with edited versions (marks the sequence as edited).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadId",
"steps"
],
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"order",
"channel",
"purpose",
"delayDays",
"body"
],
"properties": {
"body": {
"type": "string"
},
"order": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"channel": {
"type": "string"
},
"purpose": {
"type": "string"
},
"delayDays": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
},
"minItems": 1
},
"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)$"
}
}
}lead_enrich
Trigger full LinkedIn profile enrichment via Apify (~$0.002, idempotent).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadId"
],
"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)$"
}
}
}lead_push_to_crm
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"leadIds"
],
"properties": {
"leadIds": {
"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)$"
},
"maxItems": 50,
"minItems": 1
},
"provider": {
"enum": [
"hubspot",
"close",
"pipedrive",
"zoho"
],
"type": "string"
}
}
}workspace_usage
Current workspace usage vs plan limits: leads delivered this billing period, team members, products, AI compute budget, daily/monthly caps.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}workspace_icp_options
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"field": {
"enum": [
"seniorityLevels",
"jobFunctions"
],
"type": "string"
}
}
}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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}product_get
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"productId"
],
"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)$"
}
}
}product_create
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"icp": {
"type": "object",
"properties": {
"targetRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"jobFunctions": {
"type": "array",
"items": {
"type": "string"
}
},
"seniorityLevels": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"maxLength": 100
},
"offer": {
"type": "object",
"required": [
"headline",
"targetPainPoint",
"uniqueMechanism",
"proofPoints",
"callToAction"
],
"properties": {
"headline": {
"type": "string"
},
"proofPoints": {
"type": "array",
"items": {
"type": "string"
}
},
"callToAction": {
"type": "string"
},
"riskReversal": {
"type": "string"
},
"pricingContext": {
"type": "string"
},
"targetPainPoint": {
"type": "string"
},
"uniqueMechanism": {
"type": "string"
}
}
},
"voice": {
"type": "object",
"required": [
"tone",
"personality"
],
"properties": {
"tone": {
"enum": [
"professional",
"friendly",
"casual",
"authoritative"
],
"type": "string"
},
"doNots": {
"type": "array",
"items": {
"type": "string"
}
},
"personality": {
"type": "array",
"items": {
"type": "string"
}
},
"customInstructions": {
"type": "string"
}
}
},
"domain": {
"type": "string",
"maxLength": 255
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"competitors": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "string",
"maxLength": 1000
}
}
}product_update
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"productId"
],
"properties": {
"icp": {
"type": "object",
"properties": {
"targetRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"jobFunctions": {
"type": "array",
"items": {
"type": "string"
}
},
"seniorityLevels": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"maxLength": 100
},
"offer": {
"type": "object",
"required": [
"headline",
"targetPainPoint",
"uniqueMechanism",
"proofPoints",
"callToAction"
],
"properties": {
"headline": {
"type": "string"
},
"proofPoints": {
"type": "array",
"items": {
"type": "string"
}
},
"callToAction": {
"type": "string"
},
"riskReversal": {
"type": "string"
},
"pricingContext": {
"type": "string"
},
"targetPainPoint": {
"type": "string"
},
"uniqueMechanism": {
"type": "string"
}
}
},
"voice": {
"type": "object",
"required": [
"tone",
"personality"
],
"properties": {
"tone": {
"enum": [
"professional",
"friendly",
"casual",
"authoritative"
],
"type": "string"
},
"doNots": {
"type": "array",
"items": {
"type": "string"
}
},
"personality": {
"type": "array",
"items": {
"type": "string"
}
},
"customInstructions": {
"type": "string"
}
}
},
"domain": {
"type": "string",
"maxLength": 255
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"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)$"
},
"competitors": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "string",
"maxLength": 1000
}
}
}product_delete
Delete a product. Fails only if it's the workspace's only product. Its audience and leads cascade-delete.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"productId"
],
"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)$"
}
}
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1799 ms
- 95th percentile latency
- 1799 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1799 ms · metadata changed · 14 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http catchintent-mcp https://engine.catchintent.com/mcpCodex
codex mcp add catchintent-mcp --url https://engine.catchintent.com/mcpCursor
{
"mcpServers": {
"catchintent-mcp": {
"url": "https://engine.catchintent.com/mcp"
}
}
}Cline
{
"mcpServers": {
"catchintent-mcp": {
"type": "streamableHttp",
"url": "https://engine.catchintent.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"catchintent-mcp": {
"type": "http",
"url": "https://engine.catchintent.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http catchintent-mcp https://engine.catchintent.com/mcpClaude Desktop
https://engine.catchintent.com/mcpWindsurf
{
"mcpServers": {
"catchintent-mcp": {
"serverUrl": "https://engine.catchintent.com/mcp"
}
}
}Let your agent find its tools
Find servers like CatchIntent MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other crm, sales, and marketing servers
Do you run CatchIntent MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.