MCP Server
Connect AI assistants like Claude and ChatGPT to your Able CDP data using the Model Context Protocol. Ask questions about your customers, revenue, and attribution in plain language and get answers without writing queries or building reports.
The Model Context Protocol (MCP) is an open standard that lets AI assistants connect securely to external data sources. Able CDP provides an MCP server that gives AI assistants direct, read-only access to your tracking and attribution data — so you can ask questions about your customers, revenue, and marketing performance in plain language and get answers without writing queries or building reports.
Instead of navigating dashboards, you describe what you want to know in everyday language, and the AI assistant uses Able’s MCP tools to retrieve the right data, apply the correct attribution model, and return a clear answer.
What can you do with it?
Once connected, you can ask your AI assistant questions like:
- “What was my total revenue from Google Ads last month?” — queries purchase events with first-touch attribution filtered to Google Ads
- “Show me the top 10 customers by lifetime value” — retrieves visitors ranked by total purchase amount
- “Break down this week’s leads by UTM source” — groups lead events by traffic source with date filtering
- “Which campaigns drove the most purchases in Q4?” — aggregates revenue by campaign with attribution
- “Find all visitors who came from Facebook and made a purchase” — combines attribution filtering with event type queries
The AI assistant translates each question into the appropriate tool calls, handles attribution, applies filters, and returns formatted results.
Charts and visualizations
Both Claude and ChatGPT can execute code to turn your Able data into charts and visualizations on the fly. Because the assistant has direct access to the raw data through MCP, it can query the numbers it needs and immediately generate graphics without any export or copy-paste step. For example:
- “Plot monthly revenue for the last 12 months as a bar chart” — the assistant queries monthly purchase totals and renders a chart using its code execution environment
- “Show me a pie chart of revenue by UTM source for Q1” — queries first-touch attributed purchases grouped by source, then generates a pie chart
- “Create a line chart comparing leads vs purchases week over week” — runs two grouped queries and plots both series on the same timeline
- “Visualize the customer acquisition trend — new visitors per month with their LTV” — combines visitor creation dates with lifetime value calculations in a dual-axis chart
Claude generates interactive charts directly in the conversation using its analysis tool. ChatGPT uses its Code Interpreter (Advanced Data Analysis) to produce charts with Python and can provide them as downloadable images.
Custom reports and documents
You can ask the AI assistant to compile your data into a formatted report document. The assistant queries the data, performs calculations, and uses code execution to produce a downloadable file. For example:
- “Create a PDF report of this month’s marketing performance with charts and a summary” — the assistant queries revenue by channel, lead volume, conversion rates, and top campaigns, then generates a formatted PDF with tables, charts, and written analysis
- “Build a weekly executive summary as a PDF — revenue, top 5 campaigns, lead sources, and month-over-month trends” — pulls multiple data points, computes comparisons, and assembles a multi-section report
- “Export the top 50 customers by LTV with their email and source into a spreadsheet” — queries visitor data with keys and attribution, then outputs a CSV or Excel file
- “Give me a cohort analysis — group customers by the month they first visited and show cumulative revenue over the following 6 months” — combines visitor and event queries to build a cohort table and formats it as a heatmap or downloadable report
This is particularly useful for recurring reports. You can refine the format in conversation (“add a section for refund rate” or “break the campaigns table down by ad platform”) and the assistant will regenerate the report with the same data connection.
Connecting with Claude
Claude supports Able’s MCP server as a Custom Connector. The setup takes under a minute and requires no technical knowledge.
- Add a Custom Connector in Claude. In your Claude settings, navigate to the Connectors section and choose “Add Custom Connector.” Enter the Able MCP endpoint URL: https://app.ablecdp.com/mcp
- Authorize access. Claude will automatically discover Able’s authentication settings. You’ll be redirected to an Able authorization page where you grant Claude permission to read your data. Click Authorize to proceed.
- Start asking questions. Claude now has access to your funnels and tracking data. Open a new conversation and start asking questions about your customers, revenue, and traffic sources.
Claude uses the OAuth standard with PKCE to connect. Your password is never shared. Access is limited to the mcp scope, and you can revoke it at any time from your Able account settings. Refresh tokens keep the connection alive so you don’t need to re-authorize frequently.
Connecting with ChatGPT
ChatGPT supports remote MCP servers through its Apps feature (formerly called Connectors). To connect Able CDP to ChatGPT, you need a ChatGPT Plus, Pro, Business, or Enterprise account with Developer Mode enabled.
- Enable Developer Mode. Open ChatGPT, go to your profile settings, and enable “Developer Mode” under Advanced settings. For Business and Enterprise accounts, your workspace admin may need to enable this in Workspace Settings → Permissions & Roles first.
- Create a custom connector. Navigate to Settings → Connectors → Create. Enter a name (for example, “Able CDP”) and a description such as “Query marketing attribution data, customer events, and revenue from Able CDP.” Enter the server URL: https://app.ablecdp.com/mcp
- Configure authentication. Set Authentication to “OAuth.” ChatGPT will discover Able’s OAuth metadata automatically and handle the authorization flow. Confirm that you trust the application, then click Create.
- Authorize access. You’ll be redirected to an Able authorization page. Grant the mcp scope to allow ChatGPT to query your data, then return to ChatGPT.
- Start asking questions. Open a new conversation. ChatGPT will display the available tools from Able and you can begin asking questions about your customers, revenue, and attribution data. ChatGPT will show tool-call details in the interface so you can see what data is being requested.
Note: with Developer Mode enabled, ChatGPT supports the full set of Able MCP tools. Without Developer Mode, ChatGPT is limited to servers that implement specific search and fetch tools, which Able’s MCP server does not use.
Connecting with other MCP clients
Any AI application that supports the Model Context Protocol can connect to Able. The server supports automatic OAuth discovery per RFC 8414 and RFC 9728, so compatible clients will detect authentication requirements from the endpoint URL alone.
The MCP endpoint URL for all clients is:
https://app.ablecdp.com/mcp
The connection flow follows a standard pattern: the client calls the MCP endpoint and receives a 401 response with a WWW-Authenticate header pointing to the OAuth metadata. It then fetches the authorization server metadata, registers itself via Dynamic Client Registration if needed, and proceeds with the authorization code flow using PKCE. Once the user authorizes, the client receives an access token and can call MCP tools.
Available tools
The MCP server exposes three tools that AI assistants use to retrieve your data. You don’t need to call these yourself — the AI assistant selects the right tool based on your question. This reference is provided so you understand what’s available.
list_funnels
Returns all funnels (properties / datasets) you have access to, along with the event types tracked in each one. The AI assistant typically calls this first to understand what data is available before running queries.
| Returned field | Description |
|---|---|
| funnel_id | Unique identifier for the funnel, used in all other tool calls |
| name | Display name of the funnel (e.g. “Main Website”) |
| event_types | List of event types tracked — Purchase, Lead, PageView, etc. |
| base_currency | Currency used for revenue values (e.g. USD, EUR) |
| timezone | Funnel timezone for date-based queries |
query_events
The primary reporting tool. Queries events (purchases, leads, page views, and others) with filtering, grouping, aggregation, and optional attribution. This is what powers most analytical questions.
| Parameter | Description |
|---|---|
| funnel_id * | Which funnel to query. Use a value from list_funnels. |
| event_types | Filter by event type: Purchase, PageView, Lead, CompleteRegistration, Subscribe, InitiateCheckout, and others. |
| date_range | Filter by date with start and end in YYYY-MM-DD format. |
| attribution_model | How to attribute events to traffic sources. Supported values: first_touch (credits the visitor’s original source), last_touch (credits the most recent source), all_touches (returns every touchpoint for multi-touch analysis), none (no attribution, default). |
| filters | Array of conditions to narrow results. Each filter specifies a field, operator, and value. Supported operators: =, !=, IN, LIKE, IS NOT NULL, IS NULL. |
| group_by | Group results by field names. Supports date functions: DATE(field), date_trunc_day(field), date_trunc_week(field), date_trunc_month(field). |
| aggregations | Aggregation functions when using group_by: SUM, COUNT, COUNT_DISTINCT, AVG, MIN, MAX. Each specifies a function, field, and optional alias. |
| order_by | Sort results, e.g. “deal_value_converted DESC” |
| limit | Maximum rows to return. Default 100, maximum 1,000. |
query_visitors
Queries customer-level data with optional lifetime value calculations, contact detail lookups, and attribution. Use this when you need to understand individual visitors rather than aggregate events.
| Parameter | Description |
|---|---|
| funnel_id * | Which funnel to query. |
| ltv_event_types | Event types to include in lifetime value calculation. For example, [“Purchase”] sums all purchase values per visitor as lifetime_value. |
| include_keys | Contact identifiers to include in results: email, phone, gclid, fbp, fbc, msclkid, ttclid, uid. |
| attribution_model | first_touch, last_touch, or none (default). |
| filters | Same filter syntax as query_events. Use visitor. prefix for visitor fields and attribution. prefix for attribution fields. |
| order_by | Sort results, e.g. “lifetime_value DESC” |
| limit | Maximum rows to return. Default 100, maximum 1,000. |
Attribution models
Attribution determines which traffic source gets credit for a conversion. Able’s MCP server supports three models, so you can analyze the same data from different perspectives.
| Model | How it works | Best for |
|---|---|---|
| First touch | Credits the very first source that brought the visitor to your site. This matches Able’s dashboard attribution. | Understanding which channels bring in new customers |
| Last touch | Credits the most recent source with referrer or UTM data before the conversion. | Understanding which channels drive the final purchase decision |
| All touches | Returns every touchpoint for each visitor, enabling custom multi-touch analysis. | Understanding the full customer journey across multiple interactions |
When using attribution, you can filter and group by attribution fields such as attribution.utm_source, attribution.utm_medium, and attribution.utm_campaign to break down results by traffic source.
Security and data access
The MCP server is designed with security as a priority:
- Read-only access — the MCP server can only read data. It cannot modify, delete, or create any records in your account.
- OAuth with PKCE — authentication uses the OAuth 2.0 standard with Proof Key for Code Exchange, the same security standard used by major platforms.
- Scoped to your data — all queries are restricted to funnels your user account has access to. The AI assistant cannot see data from other accounts or funnels you haven’t been granted access to.
- No raw SQL — the AI assistant uses structured parameters, not raw database queries. All inputs are validated and sanitized server-side before execution.
- Revocable access — you can revoke an AI client’s access at any time from your Able account settings under Authorized Applications.
When you use the MCP server with a third-party AI assistant, your query results are processed by that assistant’s provider. Review the AI provider’s data handling policies to understand how your data is treated. Able does not share your data with AI providers except in direct response to queries you initiate.
Revoking access
To disconnect an AI assistant from your Able account, go to your account settings and find the Authorized Applications section. Locate the application you want to remove and click Revoke. The AI assistant will immediately lose access to your data and will need to be re-authorized if you want to reconnect later.
Troubleshooting
The AI assistant says it can’t find my data
Make sure the funnel you’re asking about is accessible to your user account. The AI assistant calls list_funnels to discover available data — if a funnel doesn’t appear there, check your user's permissions in Able.
Authorization keeps failing
Ensure you’re granting the mcp scope when prompted during authorization. If you previously revoked access, try removing the application from Authorized Applications completely and reconnecting from scratch.
Results seem incomplete or limited
By default, queries return up to 100 rows. If you need more results, ask the AI assistant to increase the limit (up to 1,000 rows). For very large datasets, ask the assistant to group or aggregate the data rather than returning individual rows.
Attribution data is missing
Attribution is not applied by default. Ask your question in a way that specifies you want attribution data, for example: “Show me purchases by source” or “What channels drove revenue using first-touch attribution?” The AI assistant will select the appropriate attribution model.
ChatGPT doesn’t show Able’s tools
Make sure Developer Mode is enabled in your ChatGPT advanced settings. Without Developer Mode, ChatGPT only supports a limited subset of MCP server capabilities and will not show Able’s tools. If you’re on a Business or Enterprise plan, ask your workspace admin to enable “Connected Data Developer mode” in the admin settings.