Keap Mcp 2026 Complete — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Keap Mcp 2026 Complete (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Complete Model Context Protocol server for Keap (formerly Infusionsoft) with 111 tools and 22 React apps.
npm install @mcpengine/keapKEAP_API_KEY=your_personal_access_tokenKEAP_API_KEYAdd to your claude_desktop_config.json:
{
"mcpServers": {
"keap": {
"command": "npx",
"args": ["-y", "@mcpengine/keap"],
"env": {
"KEAP_API_KEY": "your_personal_access_token"
}
}
}
}{
"tool": "keap_create_contact",
"arguments": {
"given_name": "John",
"family_name": "Doe",
"email": "[email protected]",
"phone": "555-0123",
"company_name": "Acme Corp",
"job_title": "CTO",
"tag_ids": [123, 456]
}
}{
"tool": "keap_search_contacts",
"arguments": {
"email": "[email protected]",
"given_name": "John",
"order": "email",
"limit": 50
}
}{
"tool": "keap_create_opportunity",
"arguments": {
"title": "New Website Project",
"contact_id": 12345,
"stage_id": 789,
"projected_revenue": 15000,
"opportunity_notes": "Interested in complete redesign"
}
}{
"tool": "keap_move_opportunity_stage",
"arguments": {
"opportunity_id": 98765,
"stage_id": 790,
"notes": "Proposal sent, awaiting review"
}
}{
"tool": "keap_apply_tags_to_contacts",
"arguments": {
"contact_ids": [123, 456, 789],
"tag_ids": [10, 20]
}
}{
"tool": "keap_send_email",
"arguments": {
"contact_ids": [12345],
"subject": "Welcome to our service!",
"html_content": "<h1>Welcome!</h1><p>Thank you for joining us.</p>",
"text_content": "Welcome! Thank you for joining us."
}
}{
"tool": "keap_create_product",
"arguments": {
"product_name": "Premium Subscription",
"product_price": 99.99,
"product_desc": "Monthly premium access",
"sku": "PREM-001",
"status": 1
}
}{
"tool": "keap_create_order",
"arguments": {
"contact_id": 12345,
"order_items": [
{
"product_id": 456,
"quantity": 2,
"price": 99.99
}
],
"order_title": "Q1 Subscription"
}
}keap_create_contact - Create new contactkeap_get_contact - Get contact by IDkeap_update_contact - Update contact detailskeap_delete_contact - Delete contactkeap_list_contacts - List all contacts (paginated)keap_search_contacts - Search contacts by criteriakeap_get_contact_emails - Get contact's email addresseskeap_create_contact_email - Add email to contactkeap_update_contact_email - Update email addresskeap_delete_contact_email - Remove email addresskeap_apply_tags_to_contact - Tag a single contactkeap_remove_tags_from_contact - Remove tags from contactkeap_get_contact_tags - List contact's tagskeap_merge_contacts - Merge duplicate contactskeap_apply_tags_to_contacts - Bulk tag multiple contactskeap_remove_tags_from_contacts - Bulk remove tagskeap_get_contact_opt_status - Check email opt-in statuskeap_opt_in_contact - Opt in contact for emailskeap_opt_out_contact - Opt out contact from emailskeap_create_company - Create new companykeap_get_company - Get company by IDkeap_update_company - Update company detailskeap_list_companies - List all companies (paginated)keap_search_companies - Search companies by criteriakeap_create_opportunity - Create new opportunitykeap_get_opportunity - Get opportunity by IDkeap_update_opportunity - Update opportunity detailskeap_list_opportunities - List opportunities (paginated)keap_search_opportunities - Search opportunities by criteriakeap_move_opportunity_stage - Move opportunity to new stagekeap_get_opportunity_pipeline - Get pipeline stageskeap_bulk_update_opportunities - Update multiple opportunitieskeap_get_opportunity_stage_details - Get stage informationkeap_create_task - Create new taskkeap_get_task - Get task by IDkeap_update_task - Update task detailskeap_delete_task - Delete taskkeap_list_tasks - List tasks (paginated)keap_search_tasks - Search tasks by criteriakeap_complete_task - Mark task as completekeap_bulk_update_tasks - Update multiple taskskeap_create_appointment - Create new appointmentkeap_get_appointment - Get appointment by IDkeap_update_appointment - Update appointment detailskeap_delete_appointment - Delete appointmentkeap_list_appointments - List appointments (paginated)keap_search_appointments - Search appointments by criteriakeap_create_campaign - Create new campaignkeap_get_campaign - Get campaign by IDkeap_list_campaigns - List campaigns (paginated)keap_add_contact_to_campaign - Add contact to campaign sequencekeap_remove_contact_from_campaign - Remove contact from campaignkeap_get_campaign_sequence - Get campaign sequence detailskeap_get_campaign_achievements - Get campaign completion datakeap_create_tag - Create new tagkeap_get_tag - Get tag by IDkeap_list_tags - List all tagskeap_create_tag_category - Create tag categorykeap_list_tag_categories - List tag categorieskeap_create_note - Create new notekeap_get_note - Get note by IDkeap_update_note - Update note contentkeap_delete_note - Delete notekeap_list_notes - List notes (paginated)keap_search_notes - Search notes by criteriakeap_send_email - Send email to contactskeap_create_email_template - Create email templatekeap_get_email_template - Get template by IDkeap_list_email_templates - List email templateskeap_send_template_email - Send templated emailkeap_get_email_stats - Get email sending statisticskeap_check_email_deliverability - Check email configurationkeap_upload_file - Upload file to Keapkeap_get_file - Download file by IDkeap_list_files - List uploaded fileskeap_delete_file - Delete filekeap_create_product - Create new productkeap_get_product - Get product by IDkeap_update_product - Update product detailskeap_delete_product - Delete productkeap_list_products - List products (paginated)keap_create_order - Create new orderkeap_get_order - Get order by IDkeap_update_order - Update order detailskeap_list_orders - List orders (paginated)keap_create_subscription - Create recurring subscriptionkeap_get_subscription - Get subscription by IDkeap_cancel_subscription - Cancel subscriptionkeap_create_payment - Record paymentkeap_refund_payment - Process refundkeap_get_transaction_history - Get payment historykeap_create_campaign_sequence - Create automation sequencekeap_get_campaign_sequence - Get sequence detailskeap_update_campaign_sequence - Update sequencekeap_create_campaign_goal - Create campaign goalkeap_get_campaign_goals - List campaign goalskeap_trigger_link_click - Trigger link-based automationkeap_get_account_info - Get account informationkeap_list_users - List account userskeap_get_user - Get user detailskeap_list_custom_fields - List custom fieldskeap_create_custom_field - Create custom fieldkeap_create_affiliate - Create affiliate accountkeap_get_affiliate - Get affiliate by IDkeap_list_affiliates - List affiliates (paginated)keap_update_affiliate - Update affiliate detailskeap_get_affiliate_commissions - Get commission historykeap_create_affiliate_payout - Create payoutkeap_create_affiliate_clawback - Reverse commissionkeap_get_affiliate_summary - Get performance summarykeap_search_affiliates - Search affiliates by criteriasrc/
├── server.ts # MCP server setup
├── main.ts # Entry point
├── clients/
│ └── keap.ts # Keap API client (REST API, rate limiting, error handling)
├── tools/ # Tool definitions (14 files)
│ ├── contacts-tools.ts
│ ├── companies-tools.ts
│ ├── opportunities-tools.ts
│ ├── tasks-tools.ts
│ ├── appointments-tools.ts
│ ├── campaigns-tools.ts
│ ├── tags-tools.ts
│ ├── notes-tools.ts
│ ├── emails-tools.ts
│ ├── files-tools.ts
│ ├── ecommerce-tools.ts
│ ├── automations-tools.ts
│ ├── settings-tools.ts
│ └── affiliates-tools.ts
├── types/
│ └── index.ts # TypeScript interfaces
└── ui/
└── react-app/ # MCP Apps (22 apps)
├── contact-dashboard/
├── contact-detail/
├── contact-grid/
├── contact-timeline/
├── company-dashboard/
├── company-detail/
├── company-grid/
├── deal-dashboard/
├── deal-detail/
├── pipeline-kanban/
├── pipeline-funnel/
├── task-manager/
├── appointment-calendar/
├── campaign-dashboard/
├── campaign-detail/
├── email-composer/
├── tag-manager/
├── automation-dashboard/
├── product-catalog/
├── order-dashboard/
├── order-detail/
└── revenue-dashboard/The Keap API enforces rate limits:
The MCP client automatically handles rate limiting with:
All tools provide comprehensive error messages:
{
"isError": true,
"content": [
{
"type": "text",
"text": "Error: Contact not found (ID: 12345)"
}
]
}Common error scenarios:
git clone https://github.com/BusyBee3333/mcpengine
cd mcpengine/servers/keap
npm install
npm run buildnpm run devnpx tsc --noEmitcd src/ui/react-app
npm install
npm run buildkeap_merge_contacts to maintain data qualitykeap_move_opportunity_stage to track progressionDifferent Keap plans provide varying API capabilities:
Ensure your plan supports the features you intend to use via the API.
# Verify your API key
curl -H "X-Keap-API-Key: YOUR_API_KEY" https://api.infusionsoft.com/crm/rest/v1/account/profileIf you encounter frequent rate limits:
Ensure contact IDs are valid:
// First search for the contact
const result = await keap_search_contacts({
email: "[email protected]"
});
// Then use the returned IDIf migrating from the legacy XML-RPC API:
MIT
For issues and feature requests, please visit: https://github.com/BusyBee3333/mcpengine/issues
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.