Connection checklist
Do not use a browser visit to the server as the only health check. A browser does not normally send your API-key header or perform the MCP handshake. A successful
get_workspace call is a stronger connection check than a saved server entry.
Authentication fails
If the connection returns401 or the client reports an authentication failure:
- Verify the URL includes
/mcp. - Verify the header contains
Bearer, one space, and the full key. - Check that the key is active and has not been rotated or revoked.
- If using a secret reference, verify the client process can resolve it.
- Reconnect the client after changing the key or its configuration.
The server is configured but tools are missing
Confirm the server is enabled, the project or user configuration is the one the client actually loads, and no administrator policy or tool allow list is hiding it. Reload or reconnect the server if the catalog has changed. The current catalog contains 30 tools. Clients may show qualified names such as a server prefix plussearch_buyers. Use the client’s tool picker or MCP status view to inspect the live catalog.
For Codex, codex mcp get oneeye checks the saved entry; an actual get_workspace call checks the live path. For Claude Code, inspect /mcp. Other clients expose their own server status and diagnostic logs.
Wrong workspace or missing record
Callget_workspace and compare the returned workspace with the one you intended. The key determines workspace scope. Copy resource IDs from a search or list in that workspace; do not substitute a company name, email, or ID from another resource type.
If a record is unavailable, verify it is still present and visible in the current workspace. Do not infer that an unavailable ID exists elsewhere.
Invalid search arguments
Use only the documented fields and operators. In particular:search_signalsrequires at least one filter rule.- Type-specific signal fields and
triggerrequire a compatiblesignal_typerule in the top-levelallgroup. inandnot_intake non-empty arrays.betweentakes two boundary values.in_lasttakes an object such as{"unit":"day","value":7}.- Timestamps use RFC 3339; boolean fields take
trueorfalse.
attribution_type or attribution_source as filters.
Query timeout
If a tool returnsquery_timeout, reduce the date range, choose a specific signal type, or add relevant buyer filters before retrying. Repeating the same broad query is unlikely to resolve a query-size problem. A small page size alone does not necessarily reduce the cost of finding and counting matches.
Pagination fails or results appear incomplete
Passnext_cursor back unchanged with the same tool, filter, and sort order. Restart the query after changing the search conditions. Read total for the complete match count and data for the current page.
One page of signals cannot establish a complete buyer list or source breakdown when a continuation cursor remains. Deduplicate buyer_id before counting distinct buyers.
Counts disagree with expectations
Check which timestamp was used, the time zone, whether the count is buyers or signals, and whether the answer includes all result pages. Buyer creation time can be later than signal occurrence time. Lifetime signal counts on a buyer are not the same as activity counts within a particular week. For paid traffic, distinguish buyer attribution from the attribution of a particular website visit. A social or organic source is not sufficient evidence that a visit was paid.Rate limits or temporary failures
If the client surfaces a rate-limit response, reduce concurrency and follow any retry guidance returned by the server, includingRetry-After when present. For a temporary read failure, retry with backoff. Before retrying a write whose outcome is unclear, retrieve the affected record to check whether it already succeeded.
The REST Rate Limits and Errors pages describe the REST API. MCP clients may present protocol and tool errors differently; preserve the actual MCP error text instead of assuming the same response envelope or numerical quota.