MarStack.MCP endpointEndpoint status

Error reference

Errors are written for the person reading them inside their AI client: what went wrong and where to fix it. HTTP errors stop the request before any tool runs, so no credits are used.

HTTP errors

401No token sent
token_missing

When: The request had no Authorization header.

Fix: Add your token to the AI client config as Authorization: Bearer msk_live_…

{
  "error": "token_missing",
  "message": "No MarStack token was sent. Create one at
    marstack.getinlytics.com/tokens and add it to
    your AI client config."
}
401Not a MarStack token
token_malformed

When: The value does not start with msk_live_ or msk_test_.

Fix: Copy the token again from the Tokens page; it is shown once, when created.

{
  "error": "token_malformed",
  "message": "This is not a MarStack token. Tokens start
    with msk_live_ or msk_test_."
}
401Token not recognised
token_invalid

When: No token with this value exists.

Fix: Create a new token on the Tokens page and replace it in your AI client.

{
  "error": "token_invalid",
  "message": "This token is not recognised. Create a new
    one at marstack.getinlytics.com/tokens."
}
401Revoked token
token_revoked

When: Someone revoked this token on the Tokens page.

Fix: Create a new token and replace it in your AI client.

{
  "error": "token_revoked",
  "message": "This token was revoked on 12 Oct 2026.
    Create a new one at marstack.getinlytics.com/tokens."
}
403No access with this token
token_no_access

When: The token's member left the workspace, lost the role, or the token cannot reach that workspace.

Fix: Ask the account owner for access, or create a new token as a current member.

{
  "error": "token_no_access",
  "message": "... Ask the account owner, or create a new
    token at marstack.getinlytics.com/tokens."
}
403Test token on the live server
token_env_mismatch

When: A msk_test_ token was sent to the hosted server.

Fix: Use a msk_live_ token; test tokens only work on a local MarStack server.

{
  "error": "token_env_mismatch",
  "message": "Test tokens (msk_test_) only work on a
    local MarStack server."
}
429Too many requests
rate_limited

When: More than 100 requests in one minute from the same token.

Fix: Wait the number of seconds given, then try again. AI clients usually retry by themselves.

{
  "error": "rate_limited",
  "limit": "100 requests per minute",
  "retry_after_seconds": 14
}
503Token check unavailable
auth_unavailable

When: MarStack could not reach its database to check the token.

Fix: Try again in a moment. If it lasts, check this page: the status shows the problem.

{
  "error": "auth_unavailable",
  "message": "Token check failed. Try again in a moment."
}

Inside a tool's answer

MCP tool calls always return HTTP 200. When a tool cannot run, its answer says why, and nothing is charged:

CreditsOut of credits

When: the account has fewer credits than the tool costs, or the workspace reached the monthly limit the owner set.

Fix: top up or upgrade at marstack.getinlytics.com/billing, or ask the owner to raise the workspace limit on the Team page.

{
  "isError": true,
  "content": [{ "type": "text", "text":
    "Not enough credits: a GA4 audit needs 10 and
     the account has 4. Top up or upgrade at
     marstack.getinlytics.com/billing." }]
}
RefundA tool failed after charging

When: a platform API or a BigQuery query failed while the tool was running.

Fix: nothing to do: the credits are refunded and the answer ends with "No credits were charged." Try again or follow the message.

{
  "isError": true,
  "content": [{ "type": "text", "text":
    "BigQuery: ... No credits were charged." }]
}