Reference
Errors
Errors come from three places: the MCP endpoint, the tools themselves, and Nylon’s sign-in.
MCP endpoint (HTTP)
Section titled “MCP endpoint (HTTP)”| Status | Body | Meaning | What to do |
|---|---|---|---|
401 |
{"error":"invalid_token","error_description":"…"} with WWW-Authenticate: Bearer error="invalid_token", …, resource_metadata="…" |
No token, or the token is expired, malformed or for another audience. | Refresh the access token and retry. With no token, start the sign-in flow. |
400 |
JSON-RPC -32000 “Bad Request: no valid session ID” |
A request other than initialize arrived without an Mcp-Session-Id header. |
Send initialize first, then reuse the session ID. |
404 |
JSON-RPC -32001 “Session not found” |
The session expired after 2 hours idle, was closed or replaced, or the server restarted. | Send a new initialize. |
500 |
{"error":"server_error"} |
An unexpected error while checking the token. | Retry. If it persists, contact support. |
500 |
Empty | An unexpected error while handling the request. | Retry. If it persists, contact support. |
Tool results
Section titled “Tool results”Tool problems come back as a normal tool result with text, so the assistant can read it and retry or explain. Some set isError: true.
| Text starts with | isError |
Cause |
|---|---|---|
MCP error -32602: Input validation error: |
true |
The arguments don’t match the tool’s schema: a missing documentId, more than 5 searches, an out-of-range limit or an unrecognised filter value. The schemas are on each tool page. |
MCP error -32602: Tool … not found |
true |
The tool name doesn’t exist. |
Search failed. |
not set | One search in a search_library batch failed. Other searches in the batch still return results. A search without q fails with “q is required: provide the query text for this search.” |
Read failed. |
not set | A read_document call failed, for example when phrase and extractId are both set. |
No results for this search. |
not set | The search ran but matched nothing. Loosen the filters or rephrase. |
No content returned for this read. |
not set | The read ran but returned nothing. Any warnings follow. |
Failure messages can include a request ID. Quote it if you contact support.
Sign-in errors
Section titled “Sign-in errors”Authorisation redirect errors
Section titled “Authorisation redirect errors”Errors at /oauth/authorize come back as a redirect to your redirect_uri with error (and state, if you sent one) in the query string (RFC 6749 §4.1.2.1). An unknown client_id or redirect_uri never redirects: the user sees an error page instead.
error |
Meaning |
|---|---|
access_denied |
The user chose Cancel, their seat doesn’t include AI-assistant connections, or their admin has turned connections off. There’s no description. Once the problem is fixed, the user must connect again. |
invalid_request |
A required parameter is missing, or PKCE isn’t S256. |
invalid_scope |
A scope Nylon doesn’t offer. |
unsupported_response_type |
Use response_type=code. |
server_error |
Something went wrong on Nylon’s side. Try again. |
Token and registration errors
Section titled “Token and registration errors”/oauth/token and /oauth/register return RFC 6749 and RFC 7591 errors as JSON, with Cache-Control: no-store.
error |
Where | Meaning |
|---|---|---|
invalid_client_metadata |
/oauth/register |
No supported assistant uses these redirect URLs, or the body isn’t valid JSON (413 if it’s over 4 kB). See Other MCP clients. |
invalid_redirect_uri |
/oauth/register |
redirect_uris is missing or empty, or includes a URL that isn’t registered for the matched client. |
invalid_request |
/oauth/token |
A required parameter is missing, or the body isn’t form-encoded. |
invalid_grant |
/oauth/token |
The code or refresh token is invalid, expired, already used or revoked, or the user no longer has MCP access (“MCP access is no longer available for this account”). Sign in again. |
invalid_target |
/oauth/token |
resource isn’t https://mcp.usenylon.com/mcp. |
invalid_scope |
/oauth/token |
A refresh asked for more than the original grant. |
unsupported_grant_type |
/oauth/token |
Use authorization_code or refresh_token. |
temporarily_unavailable (429) |
/oauth/register, /oauth/token |
Rate limited. This is temporary: back off and retry, and keep the refresh token. |
What users see
Section titled “What users see”| Message on Nylon’s consent screen | Fix |
|---|---|
| Upgrade to Adviser | The user’s seat is Starter. An admin can move them to Adviser or Elite; then the user connects again. |
| AI tool connections are turned off for your account — contact your administrator. | An admin can turn on Allow AI tool connections in Organisation Settings → Connections; then the user connects again. |
More fixes are in Troubleshooting.