Skip to content

Errors ​

There are two kinds of errors:

  • Tool errors happen while a tool runs, for example when a quota is used up. They come back as a normal MCP tool result with isError: true, so the assistant can read them and react.
  • HTTP errors happen before any tool runs, for example a missing or invalid credential.

Tool errors ​

The error text has the code in square brackets, a message the assistant can act on and, for some codes, JSON details:

text
Error executing tool search_leads: [quota_exceeded] Daily lead explore limit reached. It resets at 00:00 UTC. {"quota":{"used":2000,"limit":2000,"remaining":0,"resets_at":"2026-10-15T00:00:00+00:00"}}
CodeMeaningWhat to do
invalid_argumentA parameter isn't valid. For example, the minimum salary is above the maximum, a cursor was reused with different filters, or the role to enrich has closed.Fix the arguments. The message says what's wrong.
not_foundNo lead or company has this id.Use an id returned by a search.
not_entitledYour plan doesn't include MCP access right now. The message gives the reason: no paid plan, a trial, an inactive subscription, or a plan without MCP.Manage your plan. Credentials work again as soon as access is restored.
insufficient_scopeThe credential lacks a scope the tool needs. In practice, leads:enrich for enrich_lead.Create an API key with Allow enriching leads ticked, or reconnect the app and approve enrichment.
rate_limitedMore than 60 tool calls in a minute. Details include retry_after_seconds.Wait, then retry.
quota_exceededA daily quota is used up. Details include the quota.Wait for the reset at 00:00 UTC. See Usage and limits.
insufficient_creditsNo enrichment credits left this period. Details include credits.Exploring stays free. Credits renew with your plan.
query_timeoutThe query was too broad to finish in time.Add filters such as location, title or posted_within_days.
unavailableEstel data is temporarily unavailable.Retry after a short wait.
internal_errorSomething went wrong on our side. The message includes a reference id.Retry. If it keeps happening, send the reference to support@estel.tech.

Error messages never include stack traces, SQL or internal names. Unexpected failures are logged on our side under the reference id.

HTTP errors ​

StatusWhenWhat to do
401 UnauthorizedNo credential, or the token or key is invalid, expired or revoked. The WWW-Authenticate header points to the protected resource metadata, which MCP clients use to start sign-in.Sign in again, or check the API key.
429 Too Many RequestsToo many requests or failed sign-in attempts from your IP address.Wait for the time in Retry-After.
413 Payload Too LargeThe request body is larger than 1 MB.Send smaller requests.
421 Misdirected RequestThe Host header isn't mcp.estel.tech.Connect to https://mcp.estel.tech/mcp directly.
403 ForbiddenThe request came from a web page on an origin that isn't allowed. This protects against DNS rebinding.Call the server from your app or backend, not from a browser page.

A 401 example:

http
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer error="invalid_token", error_description="The access token or API key is invalid, expired or revoked", resource_metadata="https://mcp.estel.tech/.well-known/oauth-protected-resource/mcp"