Keap MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Keap MCP ServerCreate a contact: John Doe, john@doe.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Keap MCP Server
Complete Model Context Protocol server for Keap (formerly Infusionsoft) with 111 tools and 22 React apps.
Features
🛠️ Comprehensive Tool Coverage (111 tools)
Contacts: Full CRUD, search, tagging, custom fields, bulk operations, merge, email opt status
Companies: CRUD, search, company-contact associations
Opportunities: Complete sales pipeline (CRUD, stages, stage moves, search, bulk operations)
Tasks: CRUD, completion tracking, search, bulk updates
Appointments: CRUD, scheduling, calendar integration, search
Campaigns: CRUD, sequence management, contact additions, achievement tracking
Tags: CRUD, category management, contact tagging/untagging, bulk operations
Notes: CRUD, contact/opportunity associations, search
Emails: Send transactional and marketing emails, templates, tracking, opt status
Files: Upload, retrieve, associate with contacts/companies
E-commerce: Products, orders, subscriptions, payments, refunds, transaction history
Automations: Campaign builder sequences, goal tracking, link triggers
Settings: Account info, user management, custom fields, settings configuration
Affiliates: Program management, commissions, payouts, clawbacks, summaries
🎨 MCP Apps (22 React Apps)
Contact Dashboard - Contact list with metrics and search
Contact Detail - Comprehensive contact profile view
Contact Grid - Data grid with filtering and bulk actions
Contact Timeline - Activity timeline and interaction history
Company Dashboard - Company overview and metrics
Company Detail - Detailed company information
Company Grid - Companies data grid with search
Deal Dashboard - Sales pipeline overview
Deal Detail - Opportunity details and stage tracking
Pipeline Kanban - Visual drag-and-drop pipeline management
Pipeline Funnel - Conversion funnel visualization
Task Manager - Task list with priorities and due dates
Appointment Calendar - Calendar view with scheduling
Campaign Dashboard - Campaign performance metrics
Campaign Detail - Campaign sequence and analytics
Email Composer - Rich email composition interface
Tag Manager - Tag organization and bulk tagging
Automation Dashboard - Campaign builder overview
Product Catalog - E-commerce product management
Order Dashboard - Order tracking and fulfillment
Order Detail - Detailed order information
Revenue Dashboard - Revenue analytics and reporting
Related MCP server: MySQL MCP Server
Installation
npm install @mcpengine/keapConfiguration
Environment Variables
KEAP_API_KEY=your_personal_access_tokenPersonal Access Token Setup
Log in to your Keap account
Navigate to Admin → Settings → Application
Click on API tab
Generate a new Personal Access Token
Copy the token and use it as
KEAP_API_KEY
MCP Settings (Claude Desktop)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"keap": {
"command": "npx",
"args": ["-y", "@mcpengine/keap"],
"env": {
"KEAP_API_KEY": "your_personal_access_token"
}
}
}
}Usage Examples
Create a Contact
{
"tool": "keap_create_contact",
"arguments": {
"given_name": "John",
"family_name": "Doe",
"email": "john.doe@example.com",
"phone": "555-0123",
"company_name": "Acme Corp",
"job_title": "CTO",
"tag_ids": [123, 456]
}
}Search Contacts
{
"tool": "keap_search_contacts",
"arguments": {
"email": "john@example.com",
"given_name": "John",
"order": "email",
"limit": 50
}
}Create an Opportunity
{
"tool": "keap_create_opportunity",
"arguments": {
"title": "New Website Project",
"contact_id": 12345,
"stage_id": 789,
"projected_revenue": 15000,
"opportunity_notes": "Interested in complete redesign"
}
}Move Opportunity Stage
{
"tool": "keap_move_opportunity_stage",
"arguments": {
"opportunity_id": 98765,
"stage_id": 790,
"notes": "Proposal sent, awaiting review"
}
}Tag Contacts
{
"tool": "keap_apply_tags_to_contacts",
"arguments": {
"contact_ids": [123, 456, 789],
"tag_ids": [10, 20]
}
}Send Email
{
"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."
}
}Create a Product
{
"tool": "keap_create_product",
"arguments": {
"product_name": "Premium Subscription",
"product_price": 99.99,
"product_desc": "Monthly premium access",
"sku": "PREM-001",
"status": 1
}
}Create an Order
{
"tool": "keap_create_order",
"arguments": {
"contact_id": 12345,
"order_items": [
{
"product_id": 456,
"quantity": 2,
"price": 99.99
}
],
"order_title": "Q1 Subscription"
}
}Tool Reference
Contact Tools (19 tools)
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 emails
Company Tools (5 tools)
keap_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 criteria
Opportunity Tools (9 tools)
keap_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 information
Task Tools (8 tools)
keap_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 tasks
Appointment Tools (6 tools)
keap_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 criteria
Campaign Tools (7 tools)
keap_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 data
Tag Tools (5 tools)
keap_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 categories
Note Tools (6 tools)
keap_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 criteria
Email Tools (7 tools)
keap_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 configuration
File Tools (4 tools)
keap_upload_file- Upload file to Keapkeap_get_file- Download file by IDkeap_list_files- List uploaded fileskeap_delete_file- Delete file
E-commerce Tools (15 tools)
keap_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 history
Automation Tools (6 tools)
keap_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 automation
Settings Tools (5 tools)
keap_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 field
Affiliate Tools (9 tools)
keap_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 criteria
Architecture
src/
├── 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/API Coverage
✅ Contacts API (complete)
✅ Companies API (complete)
✅ Opportunities API (complete)
✅ Tasks API (complete)
✅ Appointments API (complete)
✅ Campaigns API (complete)
✅ Tags API (complete)
✅ Notes API (complete)
✅ Emails API (complete)
✅ Files API (complete)
✅ E-commerce API (complete - products, orders, subscriptions, payments)
✅ Automations API (campaign sequences, goals, triggers)
✅ Settings API (account info, users, custom fields)
✅ Affiliates API (complete)
Rate Limiting
The Keap API enforces rate limits:
Burst limit: 10 requests per second
Daily limit: 10,000 requests per day (may vary by plan)
The MCP client automatically handles rate limiting with:
Exponential backoff on 429 responses
Request queuing
Automatic retry logic
Error Handling
All tools provide comprehensive error messages:
{
"isError": true,
"content": [
{
"type": "text",
"text": "Error: Contact not found (ID: 12345)"
}
]
}Common error scenarios:
Invalid authentication (401)
Rate limit exceeded (429)
Resource not found (404)
Validation errors (400)
Server errors (500)
Development
Build from source
git clone https://github.com/BusyBee3333/mcpengine
cd mcpengine/servers/keap
npm install
npm run buildRun in development mode
npm run devType checking
npx tsc --noEmitBuild React apps
cd src/ui/react-app
npm install
npm run buildBest Practices
Contact Management
Use tags effectively: Organize contacts with meaningful tags for segmentation
Custom fields: Leverage custom fields for industry-specific data
Merge duplicates: Regularly use
keap_merge_contactsto maintain data qualityOpt-in compliance: Always check opt status before sending marketing emails
Sales Pipeline
Consistent stage moves: Use
keap_move_opportunity_stageto track progressionRevenue tracking: Keep projected revenue updated for accurate forecasting
Pipeline hygiene: Regularly review and close stale opportunities
Automation
Campaign sequences: Build automated follow-up sequences for lead nurturing
Goal tracking: Set clear goals to measure campaign effectiveness
Link triggers: Use link-based triggers for behavior-based automation
E-commerce
Product catalog: Maintain accurate SKUs and pricing
Order tracking: Use order IDs consistently across systems
Subscription management: Monitor subscription status and renewal dates
Payment reconciliation: Regular transaction history reviews
Keap Plans & Features
Different Keap plans provide varying API capabilities:
Lite: Basic contact and email tools
Pro: Full CRM, sales pipeline, and automation
Max: E-commerce, advanced automations, affiliate management
Max Classic: Legacy features, additional e-commerce capabilities
Ensure your plan supports the features you intend to use via the API.
Troubleshooting
Authentication Issues
# Verify your API key
curl -H "X-Keap-API-Key: YOUR_API_KEY" https://api.infusionsoft.com/crm/rest/v1/account/profileRate Limiting
If you encounter frequent rate limits:
Reduce concurrent request volume
Implement longer delays between operations
Consider upgrading your Keap plan for higher limits
Contact Not Found
Ensure contact IDs are valid:
// First search for the contact
const result = await keap_search_contacts({
email: "user@example.com"
});
// Then use the returned IDMigration from Infusionsoft XML-RPC
If migrating from the legacy XML-RPC API:
Authentication: Replace legacy keys with Personal Access Tokens
Endpoints: Update from XML-RPC to REST API patterns
Data format: Convert XML structures to JSON
Field mappings: Review custom field IDs (may have changed)
License
MIT
Support
For issues and feature requests, please visit: https://github.com/BusyBee3333/mcpengine/issues
Related
Changelog
Version 1.0.0
Initial release
111 tools across 14 categories
22 React apps for visual interfaces
Full Keap REST API coverage
Rate limiting and error handling
Comprehensive TypeScript types
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BusyBee3333/keap-mcp-2026-complete'
If you have feedback or need assistance with the MCP directory API, please join our Discord server