Skip to main content
The checks depend on how you connected, so start with the section that matches.

The server does not appear in the client

Most clients read their MCP configuration only at startup. Fully quit and reopen it - reloading a window is not always enough. In Claude Code, run /mcp to see the current state.
These differ by client and are the most common mistake:Gemini CLI’s url means SSE, so a server configured with it will not connect over HTTP. Codex uses TOML rather than JSON: [mcp_servers.neetoplaydash] in ~/.codex/config.toml.
It is https://connect.neetoplaydash.com/mcp/messages - the /mcp/messages path matters, and it is not your workspace subdomain. Confirm the host is reachable:
That returns JSON on a healthy server, without any credential.
A trailing comma or an unquoted key makes the whole file unreadable, and most clients fail silently rather than reporting it. Run the file through a JSON validator, or jq . ~/.cursor/mcp.json.

OAuth connections

Most clients trigger the sign-in when the server first challenges them, not when you save the config. Send a prompt that uses the tools, or trigger it explicitly: /mcp in Claude Code, codex mcp login neetoplaydash for Codex, /mcp auth neetoplaydash for Gemini CLI.
An OAuth connection reaches only the workspaces you approved during sign-in. Ask the assistant to run ListWorkspaces to see what it actually has. To change the set, revoke the connection in your client and sign in again, approving the workspaces you want.
Refreshing the access token needs the offline_access scope. If your client requested only read, it has no refresh token and must sign in again each time the access token expires. Remove and re-add the server so it registers afresh.
The grant belongs to whichever NeetoPlaydash user approved it. Sign out of NeetoPlaydash in your browser, remove the server from your client, then add it again and approve as the right account.

API key connections

The header must read Authorization: Bearer YOUR_API_KEY - the Bearer prefix included, the literal placeholder replaced. Check the key has not been revoked on your workspace’s API keys screen, and that you copied it whole.
An API key belongs to exactly one workspace, and that is the only one it reads. Generate a key in the workspace you meant, or connect with OAuth, which can span the workspaces you approve.
bearer_token_env_var takes the name of an environment variable, not the key. Set NEETOPLAYDASH_API_KEY in the environment Codex runs in, and leave the config naming the variable.

Tool errors

An id must name an entity the given run recorded. One that ran only in other runs is refused rather than returned with a placeholder status. Ask the assistant to list the run’s test entities first.
kind accepts exactly spec or test. status on ListRuns accepts exactly one of running, passed, failed, passing, failing, timedOut, interrupted; on ListTestEntities it takes a comma-separated list drawn from passed, failed, interrupted, timed_out, skipped, not_run, flaky, passing, failing, running, pending. A different case is refused rather than coerced.
A run that reported no test attempts is still listed and still carries its commit, branch, and status, but it has no entities and its run_statistics is empty. That is the run, not the connection.
Cascade allows up to 100 tools across every connected server. Turn off servers you are not using.

Still stuck?

Contact support@neetoplaydash.com or visit the help center. Include which client you are using, whether you connected with OAuth or an API key, and the exact error text.