Skip to main content
Glama
MSPbotsAI

keap-mcp

by MSPbotsAI

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AUTH_MODENogateway = token per-request via header (SOP-compliant); env = shared token from env var (local dev only)gateway
MCP_HTTP_PORTNoHTTP server port8080
MCP_TRANSPORTNostdio (Claude Desktop) or http (gateway)stdio
KEAP_ACCESS_TOKENNoKeap Personal Access Token or Service Account Key

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
keap_list_contactsA

List contacts.

    API: GET /contacts

    Args:
        given_name: Filter by first name.
        family_name: Filter by last name.
        email: Filter by email address.
        limit: Max results per page (default 20).
        offset: Pagination offset.
        order: Sort field, e.g. "id", "date_created", "last_updated", "name", "email".
    
keap_get_contactA

Retrieve a single contact by ID.

    API: GET /contacts/{id}

    Args:
        contact_id: The contact's unique ID.
        optional_properties: Comma-separated list of extra fields to include,
            e.g. "custom_fields,job_title,lead_source_id".
    
keap_create_contactA

Create a contact. Must include at least one email address or phone number.

    API: POST /contacts

    Args:
        given_name: First name.
        family_name: Last name.
        email_addresses: List of dicts, e.g. [{"email": "a@b.com", "field": "EMAIL1"}].
        phone_numbers: List of dicts, e.g. [{"number": "555-0100", "field": "PHONE1"}].
        addresses: List of dicts, e.g. [{"line1": "...", "locality": "...", "region": "...",
            "postal_code": "...", "country_code": "US", "field": "BILLING"}].
        custom_fields: List of dicts, e.g. [{"id": 1, "content": "value"}].
    
keap_list_contact_tagsA

List the tags applied to a contact.

    API: GET /contacts/{contactId}/tags

    Args:
        contact_id: The contact's unique ID.
        limit: Max results per page.
        offset: Pagination offset.
    
keap_apply_tags_to_contactA

Apply one or more tags to a contact.

    API: POST /contacts/{contactId}/tags

    Args:
        contact_id: The contact's unique ID.
        tag_ids: Required. List of tag IDs to apply.
    
keap_list_tagsA

List all tags defined in the app.

    API: GET /tags

    Args:
        category: Filter by tag category ID.
        name: Filter by tag name.
        limit: Max results per page.
        offset: Pagination offset.
    
keap_list_opportunitiesA

List sales opportunities (deals).

    API: GET /opportunities

    Args:
        user_id: Filter by the owning user's ID.
        stage_id: Filter by pipeline stage ID.
        search_term: Free-text search.
        limit: Max results per page.
        offset: Pagination offset.
        order: Sort field, e.g. "next_action", "opportunity_name", "contact_name", "date_created".
    
keap_get_opportunityA

Retrieve a single opportunity by ID.

    API: GET /opportunities/{opportunityId}

    Args:
        opportunity_id: The opportunity's unique ID.
        optional_properties: Comma-separated list of extra fields to include.
    
keap_create_opportunityB

Create a sales opportunity (deal).

    API: POST /opportunities

    Args:
        contact_id: Required. The contact ID this opportunity is for.
        stage_id: Required. The pipeline stage ID to place it in.
        opportunity_title: Required. Title of the opportunity.
        user_id: The owning user's ID.
        next_action_date: ISO 8601 date/time for the next action.
        next_action_notes: Notes for the next action.
        opportunity_notes: General notes on the opportunity.
        estimated_close_date: ISO 8601 date for the estimated close.
        projected_revenue_low: Low end of the projected revenue range.
        projected_revenue_high: High end of the projected revenue range.
    
keap_list_notesB

List notes.

    API: GET /notes

    Args:
        contact_id: Filter by contact ID.
        user_id: Filter by the note's owning user ID.
        limit: Max results per page.
        offset: Pagination offset.
    
keap_create_noteA

Create a note on a contact. Must include at least a title or body.

    API: POST /notes

    Args:
        contact_id: Required. The contact this note is attached to.
        title: Note title.
        body: Note body text.
        type: One of "Appointment", "Call", "Email", "Fax", "Letter", "Other".
        user_id: The owning user's ID.
    
keap_list_tasksA

List tasks.

    API: GET /tasks

    Args:
        contact_id: Filter by related contact ID.
        user_id: Filter by the assigned user's ID.
        completed: Filter by completion status.
        has_due_date: Filter to tasks that have (or don't have) a due date.
        limit: Max results per page.
        offset: Pagination offset.
        order: Sort field.
    
keap_create_taskA

Create a task. Must include at least a title and due date.

    API: POST /tasks

    Args:
        title: Required. Task title.
        due_date: Required. ISO 8601 date/time the task is due.
        description: Task description.
        type: Task type/category.
        priority: Task priority.
        contact_id: Related contact ID.
        user_id: Assigned user's ID.
        remind_time: Minutes before due_date to remind, one of
            5/10/15/30/60/120/240/480/1440/2880.
    
keap_list_campaignsA

List marketing/automation campaigns.

    API: GET /campaigns

    Args:
        search_text: Free-text search on campaign name.
        limit: Max results per page.
        offset: Pagination offset.
        order: Sort field, e.g. "id", "name", "published_date", "status", "category".
    
keap_list_usersB

List users of the Keap app.

    API: GET /users

    Args:
        include_inactive: Include inactive users.
        include_partners: Include partner users.
        limit: Max results per page.
        offset: Pagination offset.
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/MSPbotsAI/keap-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server