Integrations5 min read
Connect your AI assistant
Ask your assistant which sources bring revenue, inspect conversion journeys, or configure custom events. Mrkr uses MCP with Clerk OAuth: you choose the sites and permissions before connecting.
Connect
- 1
Copy the endpoint
Open Settings → MCP connections. Copy the endpoint shown there; the production address is
https://mrkr.app/mcp. Use Streamable HTTP with OAuth. - 2
Add it to your assistant
Use one of the client setups below. Your assistant opens Clerk sign-in and the Mrkr consent screen.
- 3
Choose access
Review the requesting app and return destination. Select only the sites and permissions it needs. Start with Read analytics; add visitor or event access when needed. Changing configuration requires owner or admin access.
- 4
Ask a question
Try: ‘For my site, compare revenue by source last month in USD. Include visits, conversion rate and how long buyers took to purchase. Explain missing attribution.’ The assistant first lists the sites you approved.
A working connection requires the deployed endpoint and an activated Clerk OAuth provider. The demo consent screen previews site and permission selection; it does not issue tokens or connect a real assistant.
For self-hosted installations, create Mrkr's six permission scopes in Clerk, assign them to the client, require consent and PKCE, and set Clerk OAuth settings aud_claim_enabled and oauth_jwt_access_tokens to true. Configure the Mrkr /oauth/consent path. The assistant must request resource equal to your exact /mcp endpoint. JWT format alone does not bind a token to that resource; see Clerk's OAuth implementation.
Codex
codex mcp add mrkr --url https://mrkr.app/mcp codex mcp login mrkr
In the IDE extension, open MCP servers, add a Streamable HTTP server with the same URL, then authenticate. See the official Codex MCP guide.
Claude Code
claude mcp add --transport http mrkr https://mrkr.app/mcp
Run /mcp in Claude Code and authenticate in the browser. See Claude Code's MCP guide.
Cursor
{
"mcpServers": {
"mrkr": {
"url": "https://mrkr.app/mcp"
}
}
}Open Cursor's MCP settings and complete the OAuth connection. Your administrator may need to register the client if automatic registration is unavailable. See Cursor's MCP documentation.
ChatGPT
Where your plan and workspace allow custom MCP apps, enable developer mode in Settings → Apps → Advanced settings and create an app using the remote endpoint and OAuth. Workspace administrators may need to enable or publish it. Available actions depend on your ChatGPT plan and workspace policy; see OpenAI's current setup guide.
Permissions
| Permission | Allows |
|---|---|
| analytics:read | Traffic, sources, pages, revenue, AI traffic and live totals. |
| visitors:read | Individual visitors, sessions and conversion timing. |
| events:read | Event definitions, properties and conversion performance. |
| events:write | Create and update event labels, conversions and revenue properties. |
| settings:read | Site configuration, tracking and exclusion rules. No credentials. |
| settings:write | Update approved tracking and site settings. No billing, deletion or team changes. |
The OAuth token and your saved Mrkr selection must both permit an action. Workspace membership and site access are checked again for each tool call. A connection cannot use your active dashboard site as an implicit fallback. Read events includes captured property samples, so only grant it to assistants you trust with that instrumentation.
Manage or disconnect
Open Settings → MCP connections to edit approved sites and permissions or revoke access. Reductions and revocation apply to subsequent authorization checks. Adding permissions that were absent from the OAuth token requires reconnecting; editing a selection cannot enlarge an existing token. A revoked connection needs a new OAuth flow.
Useful requests
- ‘Which sources generated the most USD revenue this month? Show Unattributed separately and compare traffic with converting visits.’
- ‘Show hourly traffic and revenue yesterday in Europe/Zurich. Keep refunds and explain distinct visitors across buckets.’
- ‘Compare visitors referred by AI assistants with AI crawler requests. Keep those populations separate.’
- ‘Find converted visitors and show elapsed time from their first retained visit to their first purchase.’
- ‘Read the current order_completed configuration, then propose a readable label and total as its revenue property. Wait for my approval before changing it.’