Security and privacy details

Need the details before you connect? This guide explains how access works, what an assistant can receive, how changes are approved, and how you can review or remove access later.

Last updated

Need the details before you connect? This guide explains how access works, what an assistant can receive, how changes are approved, and how you can review or remove access later.

The short version for your team

The Mintfunnel MCP server is a read-and-write API scoped to a single advertiser account, reached over HTTPS, authenticated with OAuth 2.1. There are no shared secrets to distribute. Every write requires an explicit human approval on a single-use token. Every call is logged to an append-only audit trail. Access can be revoked instantly and unilaterally from the Mintfunnel dashboard.

Endpoints

Everything lives on one host, app.mintfunnel.co:

  • Endpoint: POST /mcp. Purpose: The MCP server itself. Authenticated: Yes, bearer token
  • Endpoint: /oauth/authorize. Purpose: Authorisation and consent screen. Authenticated: User session
  • Endpoint: /oauth/token. Purpose: Token exchange and refresh. Authenticated: Client credentials
  • Endpoint: /oauth/register. Purpose: Dynamic client registration. Authenticated: No, by design (RFC 7591), rate limited to 10 per minute
  • Endpoint: /.well-known/oauth-authorization-server. Purpose: Discovery metadata. Authenticated: No
  • Endpoint: /.well-known/oauth-protected-resource. Purpose: Resource metadata. Authenticated: No

If you allowlist outbound destinations, app.mintfunnel.co over HTTPS on port 443 is the only host involved. Transport is streamable HTTP.

Authentication

OAuth 2.1 authorisation code flow with PKCE, S256 challenge method only. The single scope is mcp:use. Supported grant types are authorization_code and refresh_token.

Client registration is dynamic, which is how MCP clients are expected to work: a client registers itself, then sends the user through the normal browser consent flow. No API key is ever pasted into a client, and no credential is shared between users.

Token lifetimes:

  • Access token: 60 minutes
  • Refresh token: 30 days
  • Personal agent key: 365 days

Personal agent keys exist for clients that cannot open a browser. They are shown once, at creation, and are revocable individually. See Personal agent keys.

Authorisation

Authentication proves who is calling. Four further checks run on every single request before any work happens:

  1. Platform kill switch. Mintfunnel can disable the entire MCP surface without a deploy.
  2. Account state. A suspended account, or one with an unverified email address, is refused.
  3. Role. Advertiser accounts only. Publisher accounts cannot use the server at all.
  4. Grant. The connection must still hold a valid, unrevoked grant. Revoking in the dashboard takes effect on the next request.

Past those, each tool checks the connection's access level before doing anything, and spend-capable tools debit the daily allowance before calling the underlying service rather than after.

Tenancy

Every request is scoped to the account that approved the connection. Resource identifiers are not trusted from the model: a lookup for a campaign, order, or site belonging to another account returns "not found or not permitted", which is deliberately indistinguishable from a genuinely missing record so the surface cannot be used to enumerate other tenants.

Nothing administrative, cross-tenant, or raw is exposed. There is no SQL access, no file access, no configuration access, and no publisher-side tooling.

What data can leave

Only data from the connected advertiser's own account, and only in response to a request from that account's assistant. Conversion data is deliberately thin on identity:

  • Wallets are returned as an ENS name or a shortened address. Full wallet addresses are never returned.
  • No IP addresses are returned.
  • No personal data about end users is returned.
  • Test-simulator events are excluded from conversion listings.

Mintfunnel does not collect the contents of your conversation with your assistant. The server sees the tool calls your assistant makes, not the chat around them.

Text that comes back from the platform, for example publisher names, site descriptions, and press-release bodies, is supplied by third parties. The server instructs connected assistants to treat that text as data rather than as instructions.

Rate limits

Per token, per minute: 120 read calls and 30 write calls. Dynamic client registration is limited to 10 per minute.

Audit trail

Every call, whether it succeeded, was denied, was invalid, or errored, is written to an append-only activity log with a minimised summary of its arguments. Account owners see it under Account → AI Agents, and it is also surfaced on the account activity page.

Two notifications go out on top of the log: an email when a new agent connects, and an email when any single action commits $250 or more.

Controls you keep

  • Choose a level per connection: read only, manage, or manage and spend.
  • Set a daily spending cap per connection, defaulting to $500 with a $25,000 maximum.
  • Change either at any time.
  • Revoke any connection, or any personal key, instantly.
  • Approve or refuse every individual write, with a preview of exactly what would change.

Answers to the questions that usually come up

Can the AI spend money without us noticing? It cannot spend without a per-action approval, it cannot exceed the daily cap you set, and anything at or above $250 emails the account owner.

Can it move money out of the account? No. It cannot add funds, withdraw funds, or send anything to a third party. The only money movement available is paying for Mintfunnel services from a balance you have already funded.

Can it delete things? It can archive a campaign, which is reversible. It cannot delete an account, a tracked event, or a goal.

What happens if a laptop is lost? Revoke that connection from Account → AI Agents. The next request from it fails.

Where is the data hosted? In the same infrastructure as your Mintfunnel dashboard. The MCP server is an interface onto the account you already have, not a separate copy of your data.

If your review needs something not covered here, contact the Mintfunnel team at support@mintfunnel.co.

Still need help?

Ask Maren about billing, campaign setup, or anything not covered.

Ask the community →