# Chameleon — how to use (mcp.ai)

Connect your Chameleon account and use 14 tools for marketing automation straight from your AI agent. Connect with your own API key. Chameleon is a product adoption platform for building in-app experiences, managing customer data, and analyzing user engagement.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_chameleon?ms=1787296020000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `chameleon_count_customer_records`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/chameleon`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/chameleon/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/chameleon/count/customer/records` — Count Chameleon profiles or companies matching structured filters without retrieving the matching records.
  - body: { filters?: object[], filters_op?: string, segment_id?: string, record_type: string }
- `POST https://api.mcp.ai/api/chameleon/get/account/identity` — Return the Chameleon account ID and admin user ID associated with the connected Account Secret.
- `POST https://api.mcp.ai/api/chameleon/get/delivery` — Retrieve one Chameleon experience delivery by ID without triggering, changing, or cancelling it.
  - body: { delivery_id: string }
- `POST https://api.mcp.ai/api/chameleon/get/experience` — Retrieve one Chameleon tour, microsurvey, launcher, embed, or tooltip by ID without modifying or publishing it.
  - body: { experience_id: string, experience_type: string }
- `POST https://api.mcp.ai/api/chameleon/list/changes` — List one page of Chameleon change history across the account or for one supported experience.
  - body: { limit?: integer, cursor?: string, filter?: string, experience_id?: string, experience_type?: string }
- `POST https://api.mcp.ai/api/chameleon/list/deliveries` — List one page of scheduled Chameleon experience deliveries, optionally filtered by experience or profile, without triggering a new delivery.
  - body: { limit?: integer, cursor?: string, profile_id?: string, experience_id?: string }
- `POST https://api.mcp.ai/api/chameleon/list/domains/or/environments` — List one page of configured Chameleon domains or environments without changing account routing configuration.
  - body: { limit?: integer, cursor?: string, domain?: string, resource_type: string }
- `POST https://api.mcp.ai/api/chameleon/list/experience/analytics` — List one page of tour interactions or microsurvey responses for a specific Chameleon experience.
  - body: { limit?: integer, order?: string, cursor?: string, expand?: object, experience_id: string, analytics_type: string }
- `POST https://api.mcp.ai/api/chameleon/list/experiences` — List one page of Chameleon tours, microsurveys, launchers, embeds, or tooltips without modifying or publishing them.
  - body: { limit?: integer, cursor?: string, experience_type: string }
- `POST https://api.mcp.ai/api/chameleon/list/targeting/metadata` — List one page of Chameleon segments, tags, themes, tracked event names, or profile/company property definitions used to interpret targeting and analytics data.
  - body: { limit?: integer, cursor?: string, integration?: string, metadata_type: string, property_kind?: string }
- `POST https://api.mcp.ai/api/chameleon/lookup/customer/record` — Retrieve one Chameleon profile or company by its Chameleon ID or external identifier. Profiles can also be looked up by email address; provide exactly one identifier.
  - body: { uid?: string|integer, email?: string, record_type: string, chameleon_id?: string }
- `POST https://api.mcp.ai/api/chameleon/search/customer/records` — Search Chameleon profiles or companies with structured filters and return one offset-paginated page of matching records.
  - body: { limit?: integer, cursor?: string, expand?: object, filters?: object[], sort_by?: string, filters_op?: string, segment_id?: string, record_type: string, sort_direction?: string }
- `POST https://api.mcp.ai/api/chameleon/track/event` — Irreversibly record one named event for a Chameleon profile identified by ID or external UID; provide exactly one identifier. The event cannot be deleted, and a new event name also creates a persisten
  - body: { event_name: string, profile_id?: string, properties?: object, profile_uid?: string|integer }
- `POST https://api.mcp.ai/api/chameleon/upsert/customer/record` — Create or update one Chameleon profile or company by external UID and return its Chameleon ID.
  - body: { uid: string|integer, name?: string, email?: string, last_name?: string, first_name?: string, properties?: object, company_uid?: string|integer, record_type: string }

## Example prompts
- "What can I do in Chameleon?"
- "Show me a summary of my Chameleon account"

## More
- Page: https://mcp.ai/chameleon
- Agent spec (llms.txt): https://mcp.ai/chameleon/llms.txt
- Postman collection: https://mcp.ai/chameleon/postman.json
