AI assistants (MCP)5 min read

MCP limits, privacy and errors

Markdown

What the Mrkr MCP server limits, what it never shares, and what each error means.

Limits

LimitValue
Requests120 per minute per connection. Over the limit returns 429 with Retry-After in seconds.
Request body64 KiB, one JSON-RPC message per POST. Batches are rejected.
Tool result200,000 bytes. Narrow the period, lower limit or add filters.
PeriodUp to 366 days.
Rowslimit 1 to 100, offset up to 1000.
Filters20 values per dimension, 70 expanded values in total.
Time buckets744 per get_timeseries call.
Sites per connection1 to 100.

Privacy and data access

An assistant sees only the sites and permissions you approved, and never more than you can see in Mrkr yourself.

Never available through MCP

  • Session replay recordings.
  • Billing, invoices, plan details and team membership.
  • Stripe credentials, API keys, OAuth secrets, public share tokens and proxy details.
  • Deleting sites or collected data, changing team permissions, sharing or proxy setup. The only deletes are saved funnels, chart annotations and campaign links, with analytics:write.
  • Raw data exports. Tools return bounded aggregates and pages, not a full event dump.
  • Sites you did not approve for that connection.

Shared only with the matching permission

  • visitors:read: individual visitor IDs, their visits, approximate city and coordinates, time to first purchase, and visitor samples in funnel drop-off.
  • events:read: event names, property values and up to 20 recent samples per event. These hold whatever your site sends, so keep personal data out of event properties.
  • settings:read: domain, tracking mode, replay settings and excluded paths.

analytics:read alone returns aggregates only: counts, rates, rankings and trends, with no individual visitor IDs. Mrkr records every change made through MCP (tool, site, app, user and the names of changed fields). It never stores access tokens or the values you sent.

Errors and fixes

Connection errors come back as HTTP status codes with a JSON body { "error": "<code>", "message": "..." }, before any tool runs. Everything else, including permission problems on a single call, comes back as a normal MCP result with isError: true and a message that says what to change.

Status and codeMessage (excerpt)Fix
401 invalid_tokenConnect with OAuth before calling Mrkr tools.The client sent no token. Finish the sign-in, or remove and re-add the server.
401 invalid_tokenThe OAuth access token has expired or is invalid.Let the client refresh, or reconnect.
401 invalid_tokenThe OAuth token was not issued for this MCP resource.The client must request resource=https://mrkr.app/mcp. Use the exact URL, no trailing slash.
403 consent_requiredReconnect this client and approve site access in Mrkr.The connection was revoked or never approved. Connect again.
403 insufficient_scopeThis token has no approved Mrkr permissions.Reconnect and select at least one permission.
429 rate_limitedThis connection has reached 120 requests per minute.Wait for Retry-After seconds. Combine questions into fewer calls.
400 or 413 invalid_requestSend one JSON-RPC message per request; batches are not supported. / MCP request exceeds 64 KiB.Send messages one at a time and keep arguments small.
403 forbidden_originUse the canonical MCP URL and an approved browser origin.Browser-based clients must be allowlisted. Desktop and server clients are not affected.
405Mrkr uses stateless Streamable HTTP. Send MCP requests with POST.There is no SSE stream. Configure the client for Streamable HTTP, not SSE.
503 unavailableMCP authentication is temporarily unavailable.Retry in a minute. If it persists, contact hi@mrkr.app.

Tool errors

Message (excerpt)Fix
site_id is required. Accessible sites: ...The connection has several sites. Pass one of the listed IDs or domains.
No approved site matches "..."Use an ID or domain from list_sites, or edit the connection to add the site.
Site site_... is not approved for this connection.Same as above. The message lists the sites you can use.
This connection needs events:write permission, which was not granted.Reconnect the client and approve that permission. Editing a connection cannot add one.
Your current workspace role does not permit this action. Changes need owner or admin access to the site.Ask a workspace owner to make the change or to change your role.
The demo site is read-only.Use one of your own sites for changes.
Reconnect this client and approve site access in Mrkr.The connection was revoked. Connect again.
The result is too large. Narrow the range, lower the limit or add filters.Shorten the period, lower limit or add filters.
That is N buckets; the maximum is 744.Use a larger interval or a shorter period.
... only available with interval "day".Sub-day intervals support visitors and revenue only.
The range spans N days; the maximum is 366.Split the question into several periods.
range "7d" cannot be combined with from/to.Use a preset, or from and to, not both.
Too many combined filters.Use fewer filter values.
Funnel ... was not foundUse an id from list_funnels. The message lists them.
"..." is an automatic measurement. Only custom event names can be configured.Configure your own custom events only.
Input validation error: Invalid arguments for tool get_breakdown: ...An argument has the wrong name, type or value. Unknown fields are rejected too. Check the tool's parameter table.
Invalid funnel: condition on "plan" needs a value.Fix the step or exclusion the message names.
Mrkr could not complete this request. Retry, or narrow the range or filters.A temporary failure. Retry once, then narrow the query.

Common questions

The assistant says it has no Mrkr tools.

Sign-in did not finish, or the connection was revoked. Reconnect from the client. In Claude Code, run /mcp and authenticate.

Some tools are missing.

Assistants only see tools their permissions allow. list_visitors needs visitors:read, for example. list_sites shows the connection's permissions. See the scope table.

Numbers differ from the dashboard.

Check the time zone, the dates, the filters and the currency. MCP uses the timezone you pass, default UTC; pass the same zone your dashboard uses.

My site is missing from list_sites.

It was not selected for this connection, or you lost access in Mrkr. Edit the connection in AI connections to add it.

Can I connect the public demo?

No. MCP only reaches sites in workspaces you belong to.

Does using MCP count toward my plan?

No. Only tracked pageviews count. See what counts.