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.
18 tools: 4 can delete or cancel things and 14 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads14Claude Code: allow: see these tools
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/mcpTools
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.