{
  "id": "05-catchintent",
  "slug": "catchintent",
  "normalized_name": "catchintent",
  "name": "CatchIntent",
  "vendor_url": "catchintent.com",
  "category": "signals-intent-abm",
  "what_it_does": "A B2B intent tool that monitors social and web sources for buying signals, ranks the people behind them by warmth, enriches the profiles and drafts personalised openers, then pushes leads to a CRM or outreach account.",
  "ai_features": "The vendor names \"Bedrock-powered enrichment\" to fill buyer profiles and AI-drafted openers matching brand voice; the signal detection itself is listening plus ranking. Its changelog frames the MCP server as the agent surface: \"Connect Claude, Cursor, or any MCP-compatible AI tool to your CatchIntent workspace.\"",
  "mcp_status": "official",
  "mcp_url": "https://engine.catchintent.com/mcp (vendor page: https://catchintent.com/mcp; changelog v3.0.0 dated 2026-05-13: https://catchintent.com/changelog/) ; repo https://github.com/CatchIntent/skills",
  "mcp_auth": "oauth. The vendor's MCP page states \"One-time OAuth 2.1 authorization. Your MCP client opens a browser, you sign into CatchIntent, pick the workspace, and approve the requested scopes.\"",
  "api_gate": "paid - the vendor's MCP page states \"MCP access is included on every plan, Growth, Scale, and Enterprise. The free 7-day trial includes full MCP access.\" The pricing page lists Growth (1,000 leads/month), Scale (4,000 leads/month) and Enterprise (25,000+ leads/month) without dollar figures, plus a Done-for-You service \"Starting at $1,999/mo, 3-month minimum\"; \"Card on file is required\" for the trial. No free plan.",
  "revops_role": "A signal-to-outreach layer for small teams: social-listening intent in, ranked warm leads with drafted openers out, feeding a CRM or a sequencer.",
  "tier": "RESEARCHED",
  "last_checked": "2026-09-07",
  "sources": "https://catchintent.com/mcp, https://catchintent.com/changelog/, https://catchintent.com/pricing, https://engine.catchintent.com/mcp",
  "notes": "Verified 2026-09-07: POST of an MCP initialize to https://engine.catchintent.com/mcp with no credentials returned HTTP 200 with a JSON-RPC result, serverInfo name \"catchintent\" version \"2.0.0\"; the control POST to /zzz-not-a-route returned 404 with a JSON body reading \"Cannot POST /zzz-not-a-route\". Live first-party server; initialize is open and the OAuth gate sits at tool-call time. The vendor's own MCP page says \"28+ typed tools across six surfaces\" while the v3.0.0 changelog line says \"27 typed tools\"; both vendor figures are recorded as found, not reconciled. The pricing page publishes plan sizes but no plan prices, so the api_gate is paid on the vendor's own statement that every plan is paid, with the amount unknown. The catchintent.com/mcp page is not linked from the homepage; it was reached via the registry listing that named the endpoint. 2026-09-07: https://engine.catchintent.com/mcp returned 200 with a JSON-RPC initialize result to an MCP initialize POST (https://engine.catchintent.com/mcp). 2026-09-12 (P6-04 repo sweep): first-party repository recorded at https://github.com/CatchIntent/skills - first-party agent skills that wire the hosted server, NOT the server source. Evidence: the org CatchIntent, whose profile site is catchintent.com, and whose README install line is \"claude mcp add catchintent --transport http https://engine.catchintent.com/mcp\", which is the endpoint this entry already records.",
  "mcp_status_bucket": "official",
  "api_gate_bucket": "paid",
  "mcp_urls": [
    "https://engine.catchintent.com/mcp",
    "https://catchintent.com/mcp",
    "https://catchintent.com/changelog/",
    "https://github.com/CatchIntent/skills"
  ],
  "source_urls": [
    "https://catchintent.com/mcp",
    "https://catchintent.com/changelog/",
    "https://catchintent.com/pricing",
    "https://engine.catchintent.com/mcp"
  ],
  "source_annotations": [],
  "vendor_domain": "catchintent.com",
  "display_name": "CatchIntent",
  "docs_url": null,
  "jobs": [],
  "jobs_tagged_by": null,
  "jobs_tagged_on": null,
  "github_url": null,
  "github_stars": null,
  "github_last_commit": null,
  "github_archived": null,
  "github_fetched_on": null,
  "github_candidates": [
    "https://github.com/CatchIntent/skills"
  ],
  "docs_digest": null,
  "docs_last_crawled": null,
  "submission": null,
  "mcp_tools": [
    {
      "name": "lead_enrich",
      "description": "Trigger full LinkedIn profile enrichment via Apify (~$0.002, idempotent).",
      "required_params": [
        "leadId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "lead_get",
      "description": "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.",
      "required_params": [
        "leadId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "lead_push_to_crm",
      "description": "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.",
      "required_params": [
        "leadIds"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "lead_regenerate_sequence",
      "description": "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.",
      "required_params": [
        "leadId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "lead_search",
      "description": "Search leads in the workspace. A lead is always a person discovered on LinkedIn. Filter by warmth, status, or text.",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "lead_update_sequence",
      "description": "Replace the lead's outreach sequence steps with edited versions (marks the sequence as edited).",
      "required_params": [
        "leadId",
        "steps"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "lead_update_status",
      "description": "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.",
      "required_params": [
        "leadId",
        "status"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "product_create",
      "description": "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 fi",
      "required_params": [
        "name"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "product_delete",
      "description": "Delete a product. Fails only if it's the workspace's only product. Its audience and leads cascade-delete.",
      "required_params": [
        "productId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "product_get",
      "description": "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.",
      "required_params": [
        "productId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "product_list",
      "description": "List every product/brand tracked by this workspace. Each product has its own brand profile, audience, and leads. Returns id, name, and timestamps.",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "product_update",
      "description": "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 i",
      "required_params": [
        "productId"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "workspace_icp_options",
      "description": "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.",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "workspace_usage",
      "description": "Current workspace usage vs plan limits: leads delivered this billing period, team members, products, AI compute budget, daily/monthly caps.",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "spend"
    }
  ],
  "mcp_tool_count": 14,
  "mcp_tools_evidence": "live-list",
  "mcp_tools_repo": null,
  "mcp_tools_repo_party": null,
  "mcp_catalog_shape": "fixed",
  "mcp_catalog_note": null,
  "mcp_tools_fetched_on": "2026-09-27",
  "cli_status": "none-found",
  "cli_party": null,
  "cli_binary": null,
  "cli_install": [],
  "cli_login": null,
  "cli_commands_seen": [],
  "cli_docs_url": null,
  "cli_repo": null,
  "cli_packages": [],
  "cli_evidence": null,
  "cli_checked_on": "2026-09-27",
  "github_org": "CatchIntent",
  "github_org_status": "resolved",
  "github_org_url": "https://github.com/CatchIntent",
  "github_org_evidence": {
    "rule": "rule 3",
    "url": "search q=CatchIntent",
    "matched_domain": "catchintent.com",
    "via": "website",
    "detail": "account website https://catchintent.com has the vendor's domain",
    "confidence": "strong",
    "candidates_rejected": []
  },
  "github_org_repos": 1,
  "github_org_repos_mcp": 1,
  "github_org_repos_cli": 0,
  "github_org_latest_activity": "2026-06-30T10:09:47Z",
  "github_org_recent_repos": [
    {
      "name": "skills",
      "url": "https://github.com/CatchIntent/skills",
      "kind": "other",
      "description": "📡 The intent layer for B2B outbound.",
      "stars": 0,
      "pushed_at": "2026-06-30",
      "latest_release": null
    }
  ],
  "github_org_checked_on": "2026-09-08",
  "mcp_endpoint": null,
  "mcp_docs_url": null,
  "endpoint_status": "not-probed",
  "endpoint_http_status": null,
  "endpoint_last_probed": null,
  "endpoint_wall_note": null,
  "canonical": true,
  "canonical_id": "05-catchintent",
  "also_listed_in": [],
  "source_file": "05-signals-intent-abm.md",
  "source_line": 668,
  "file_index": 28,
  "category_num": "05",
  "category_slug": "signals-intent-abm",
  "category_label": "Signals & Intent",
  "heading": "CatchIntent",
  "missing_schema_fields": [],
  "extra_fields": {},
  "display_rank": 73
}
