100+ integrations are ready to connect to your AI.Connect your first MCP

Attentive MCP server for your AI

Opt customers in or out, build API-managed segments, fire browse and purchase events that trigger journeys, and check what any subscriber is eligible to receive.

PopMCPAttentive

Which of our recent product catalog uploads failed and why

Supported Attentive tools

Every subscription, segment, event, catalog and webhook operation your agent can call, plus the triggers it can listen for.

attentive_bulk_segment_members

Add members (users) to an API-managed segment in bulk, addressed by the segment's externalId.

attentive_create_segment

Create an API-managed segment (audience) you can later add members to.

attentive_list_segments

List API-managed segments, filterable by name or externalId and by last-updated time.

attentive_create_webhook

Subscribe to a webhook: Attentive will POST the listed events to your URL.

attentive_list_webhooks

List the webhook subscriptions configured on the account.

attentive_add_to_cart_event

Record that an user added a product to their cart (an eCommerce event used to power cart-abandonment journeys).

attentive_create_or_update_user

Create or update ONE user in a single call — attributes, subscriptions, and identifiers together (the unified V2 user endpoint).

attentive_get_subscription_status

Get an user's subscription eligibility — every subscription type and channel they are (or aren't) eligible for.

attentive_product_view_event

Record that an user viewed a product (an eCommerce event used to power browse-abandonment journeys).

attentive_purchase_event

Record that an user completed a purchase/order (an eCommerce event used for post-purchase journeys and to suppress abandonment flows).

attentive_subscribe_user

Opt an user in to an SMS and/or email subscription.

attentive_unsubscribe_user

Unsubscribe an user.

attentive_get_custom_attributes

Retrieve all custom attributes associated with an user, queried by phone OR email.

attentive_get_me

Test Authentication: verify the connected API key and return the Attentive account it belongs to.

attentive_post_custom_attributes

Set or update custom attribute (property) data on an user — e.g.

attentive_identify_user

Identity resolution: associate a clientUserId or custom identifier(s) with an user, so those external ids can later be used in place of phone/email across the other APIs.

attentive_post_custom_event

Ingest a custom event representing an user action — this is the primary way to trigger Attentive journeys from your own events.

attentive_delete_segment

Delete an API-managed segment by externalId.

attentive_get_segment

Retrieve a single API-managed segment by the externalId you assigned it at creation.

attentive_update_segment

Update an API-managed segment's name and/or description, addressed by externalId.

attentive_delete_webhook

Remove a webhook subscription.

attentive_update_webhook

Update a webhook — change its destination url, its subscribed events, or disable it.

attentive_bulk_user_attributes

Bulk create/update up to 256 users in one async request.

attentive_get_bulk_job

Retrieve the status of a bulk ingestion job.

attentive_get_catalog_upload

Look up a single catalog upload's ingestion status by uploadId.

attentive_list_catalog_uploads

List recent product-catalog uploads with their statuses (in creation order), including errors, products received/processed, and each upload's expiry.

attentive_upload_product_catalog

Start a product-catalog upload.

attentive_create_delete_request

Create a privacy (CCPA) deletion request for a subscriber.

attentive_get_delete_request

Get a CCPA deletion request by id.

attentive_get_me_v2

Test Authentication (V2).

attentive_add_coupons

Add discount codes to an existing offer (coupon pool).

Connect Attentive to your AI

Credentials off one Attentive screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

Create a custom app in Attentive and paste the key it shows into the API Key field. No OAuth popup, redirect URL or token refresh. The key is scoped to one Attentive company, so the connection is locked to it.

API Key••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • Which of our recent product catalog uploads failed and why

    • list_catalog_uploads
    • get_catalog_upload
  • Bulk-update loyalty tier for these customers and tell me when the job finishes

    • bulk_user_attributes
    • get_bulk_job
  • Create a Black Friday VIP segment and add these 200 customers to it

    • create_segment
    • bulk_segment_members
    • get_segment
  • For this phone number, what attributes do we store and what can we send them

    • get_custom_attributes
    • get_subscription_status

Use Attentive from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Attentive MCP server questions

What teams ask before putting Attentive behind an AI client.

How does PopMCP connect to Attentive — is there an OAuth flow?

No OAuth. You create a custom app in Attentive, and it shows the API key on a single screen; you paste that value into the API Key field on the connect form. PopMCP sends it server-side over HTTPS as an Authorization: Bearer header, so there is no redirect URL to register and no token refresh to babysit.

Is the connection limited to one Attentive company?

Yes. An Attentive API key is scoped to a single company, so the MCP server is locked to whichever company issued the key you pasted. Anything outside that company is simply not reachable through the connection.

Can the agent change subscriber records, or only read them?

It can do both, and you decide which. Writes include subscribe_user and unsubscribe_user, create_or_update_user for a full record in one call, post_custom_attributes for property data, and identify_user to attach a clientUserId so external ids work in place of phone or email later. CCPA deletion requests are available too, which is exactly the kind of write worth putting behind approval or ruling out with read-only mode.

Can it trigger Attentive journeys from events in my own systems?

That is what post_custom_event is for — it ingests a custom event representing a user action and is the primary way to kick off a journey from your own data. For commerce specifically there are dedicated events: product_view_event for browse abandonment, add_to_cart_event for cart abandonment, and purchase_event for post-purchase flows. Recording a purchase also suppresses the abandonment flows, so order your calls accordingly.

How many users can it update in a single bulk request?

bulk_user_attributes creates or updates up to 256 users per async request. Because it is asynchronous, the call returns a job rather than finished work — poll get_bulk_job to see whether the ingestion succeeded. For a single record, create_or_update_user handles attributes, subscriptions and identifiers together in one call.

Why does every segment call want an externalId?

The segment tools work on API-managed segments, and each one is addressed by the externalId you assign at creation, not by its name. get_segment, update_segment, delete_segment and bulk_segment_members all key off that id, so losing track of it is the usual stumbling block. Use list_segments first — it filters by name or externalId and by last-updated time — and let the agent resolve the id before it writes.

Do I have to run or host the Attentive MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

Why do only 17 of the 31 tools load by default?

Loading 31 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 17-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.

What is the difference between a tool and a trigger?

A tool is something your AI calls — there are 31 here. A trigger is something PopMCP watches for you: 12 Attentive events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Attentive.

Connect Attentive to your AI in minutes

Launch a hosted MCP endpoint for Attentive, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP