Skip to content

Keap MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

List and create Keap contacts, companies, tasks, opportunities, orders, tags and campaigns.

Deletes · 4

18 tools: 4 can delete or cancel things and 14 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http keap https://keap.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

18 tools

Deletes or cancels 4Claude Code: deny
  • keap_apply_tagAPPLY a tag to one or more contacts (segments them / can trigger automation).No findings

    Why it is in this group

    • The name "keap_apply_tag" says "apply": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    APPLY a tag to one or more contacts (segments them / can trigger automation). Keap: POST /tags/{tag_id}/contacts:applyTags.

    Annotations the server declares

    • title: Apply tag to contacts
    • destructiveHint: true
  • keap_create_contactCREATE a new contact in the Keap CRM.No findings

    Why it is in this group

    • The name "keap_create_contact" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    CREATE a new contact in the Keap CRM. Provide any of given_name, family_name, email_addresses, phone_numbers, company_id, plus an optional `extra` object of any other Keap fields. Keap: POST /contacts.

    Annotations the server declares

    • title: Create contact
    • destructiveHint: true
  • keap_create_taskCREATE a task (follow-up / to-do), optionally linked to a contact.No findings

    Why it is in this group

    • The name "keap_create_task" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    CREATE a task (follow-up / to-do), optionally linked to a contact. Keap: POST /tasks.

    Annotations the server declares

    • title: Create task
    • destructiveHint: true
  • keap_update_contactUPDATE an existing contact by id.No findings

    Why it is in this group

    • The name "keap_update_contact" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    UPDATE an existing contact by id. Provide any of given_name, family_name, email_addresses, phone_numbers, company_id, plus an optional `extra` object of any other Keap fields (only supplied fields are changed). Keap: PATCH /contacts/{contact_id}.

    Annotations the server declares

    • title: Update contact
    • destructiveHint: true
Only reads 14Claude Code: allow
  • keap_get_companyGet a single company by id.No findings

    Why it is in this group

    • The name "keap_get_company" says "get": a word for reading.
    Description, as the server wrote it
    Get a single company by id. Keap: GET /companies/{company_id}.

    Annotations the server declares

    • title: Get company
    • readOnlyHint: true
  • keap_get_contactGet a single contact by id.No findings

    Why it is in this group

    • The name "keap_get_contact" says "get": a word for reading.
    Description, as the server wrote it
    Get a single contact by id. Keap: GET /contacts/{contact_id}.

    Annotations the server declares

    • title: Get contact
    • readOnlyHint: true
  • keap_get_opportunityGet a single opportunity by id.No findings

    Why it is in this group

    • The name "keap_get_opportunity" says "get": a word for reading.
    Description, as the server wrote it
    Get a single opportunity by id. Keap: GET /opportunities/{opportunity_id}.

    Annotations the server declares

    • title: Get opportunity
    • readOnlyHint: true
  • keap_get_taskGet a single task by id.No findings

    Why it is in this group

    • The name "keap_get_task" says "get": a word for reading.
    Description, as the server wrote it
    Get a single task by id. Keap: GET /tasks/{task_id}.

    Annotations the server declares

    • title: Get task
    • readOnlyHint: true
  • keap_list_affiliatesList referral-program affiliates.No findings

    Why it is in this group

    • The name "keap_list_affiliates" says "list": a word for reading.
    Description, as the server wrote it
    List referral-program affiliates. Supports filtering, ordering, and cursor pagination. Keap: GET /affiliates.

    Annotations the server declares

    • title: List affiliates
    • readOnlyHint: true
  • keap_list_campaignsList marketing campaigns (automation sequences).No findings

    Why it is in this group

    • The name "keap_list_campaigns" says "list": a word for reading.
    Description, as the server wrote it
    List marketing campaigns (automation sequences). Supports filtering, ordering, and cursor pagination. Keap: GET /campaigns.

    Annotations the server declares

    • title: List campaigns
    • readOnlyHint: true
  • keap_list_companiesList companies in the Keap CRM.No findings

    Why it is in this group

    • The name "keap_list_companies" says "list": a word for reading.
    Description, as the server wrote it
    List companies in the Keap CRM. Supports filtering, ordering, field selection, and cursor pagination. Keap: GET /companies.

    Annotations the server declares

    • title: List companies
    • readOnlyHint: true
  • keap_list_contactsList contacts in the Keap CRM.No findings

    Why it is in this group

    • The name "keap_list_contacts" says "list": a word for reading.
    Description, as the server wrote it
    List contacts in the Keap CRM. Supports filtering, ordering, field selection, and cursor pagination (page_size / page_token). Keap: GET /contacts.

    Annotations the server declares

    • title: List contacts
    • readOnlyHint: true
  • keap_list_opportunitiesList sales opportunities (deals) in the pipeline.No findings

    Why it is in this group

    • The name "keap_list_opportunities" says "list": a word for reading.
    Description, as the server wrote it
    List sales opportunities (deals) in the pipeline. Supports filtering, ordering, field selection, and cursor pagination. Keap: GET /opportunities.

    Annotations the server declares

    • title: List opportunities
    • readOnlyHint: true
  • keap_list_ordersList e-commerce orders.No findings

    Why it is in this group

    • The name "keap_list_orders" says "list": a word for reading.
    Description, as the server wrote it
    List e-commerce orders. Supports filtering, ordering, and cursor pagination. Keap: GET /orders.

    Annotations the server declares

    • title: List orders
    • readOnlyHint: true
  • keap_list_productsList products in the catalog.No findings

    Why it is in this group

    • The name "keap_list_products" says "list": a word for reading.
    Description, as the server wrote it
    List products in the catalog. Supports filtering, ordering, and cursor pagination. Keap: GET /products.

    Annotations the server declares

    • title: List products
    • readOnlyHint: true
  • keap_list_subscriptionsList recurring subscriptions / payment plans.No findings

    Why it is in this group

    • The name "keap_list_subscriptions" says "list": a word for reading.
    Description, as the server wrote it
    List recurring subscriptions / payment plans. Supports filtering, ordering, and cursor pagination. Keap: GET /subscriptions.

    Annotations the server declares

    • title: List subscriptions
    • readOnlyHint: true
  • keap_list_tagsList tags defined in the account (used to segment contacts).No findings

    Why it is in this group

    • The name "keap_list_tags" says "list": a word for reading.
    Description, as the server wrote it
    List tags defined in the account (used to segment contacts). Supports filtering, ordering, and cursor pagination. Keap: GET /tags.

    Annotations the server declares

    • title: List tags
    • readOnlyHint: true
  • keap_list_tasksList tasks (follow-ups / to-dos).No findings

    Why it is in this group

    • The name "keap_list_tasks" says "list": a word for reading.
    Description, as the server wrote it
    List tasks (follow-ups / to-dos). Supports filtering, ordering, and cursor pagination. Keap: GET /tasks.

    Annotations the server declares

    • title: List tasks
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http keap https://keap.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__keap__keap_list_contacts",
      "mcp__keap__keap_get_contact",
      "mcp__keap__keap_list_companies",
      "mcp__keap__keap_get_company",
      "mcp__keap__keap_list_opportunities",
      "mcp__keap__keap_get_opportunity",
      "mcp__keap__keap_list_tags",
      "mcp__keap__keap_list_tasks",
      "mcp__keap__keap_get_task",
      "mcp__keap__keap_list_subscriptions",
      "mcp__keap__keap_list_orders",
      "mcp__keap__keap_list_products",
      "mcp__keap__keap_list_campaigns",
      "mcp__keap__keap_list_affiliates"
    ],
    "ask": [],
    "deny": [
      "mcp__keap__keap_create_contact",
      "mcp__keap__keap_update_contact",
      "mcp__keap__keap_create_task",
      "mcp__keap__keap_apply_tag"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as keap. Review it before you use it.