Troubleshooting MCP
Find what you see in the first column. Most problems are the sign-in, a permission the connection lacks, or a limit your plan shares with the CLI. An app shows a tool's error to you in its own words, so look for the code, such as busy, in what it quotes.
Signing in
What you see | Why | Fix |
|---|---|---|
The app asks you to sign in again and again | Chartnaut refuses the app's token with | Remove Chartnaut in the app and add it again. Check Connected apps on the Developers page for the connection. For a key, make a new one |
The Chartnaut page says This request has expired | The sign-in request is over 10 minutes old, or its link is incomplete | Start the connection again from the app |
The Chartnaut page says This request was already answered | Allow or Cancel was already clicked on it, perhaps in another tab | If the app is not connected, start again from the app |
A page titled This sign-in link can't be used | Chartnaut does not know the app's registration, or the return address is not one the app registered | Remove Chartnaut in the app and add it again, so it registers afresh |
API access is included on Starter and above when you click Allow | Your plan is Free | Upgrade, then click Allow again within the 10 minutes, or start again from the app |
Too many sign-in attempts | More than 60 sign-in starts from your IP address in a minute | Wait a minute |
The browser never opens a Chartnaut page | The app does not support signing in to remote MCP servers, or needs you to start it | Look for a sign-in or authenticate action in the app's MCP settings, or connect with an API key |
The connection disappeared
A connection leaves Connected apps, and the app has to be approved again, for one of three reasons:
Someone clicked Disconnect on it.
The app ended it itself, as some do when you remove Chartnaut from them.
A refresh token was used again more than 30 seconds after it was swapped. Chartnaut cannot tell a stale copy from a stolen one, so it ends the connection. This happens when an app's settings are restored from a backup, or when two installs share a copied token file. If neither applies, check where else the app runs. Tokens and replay
A connection that has not been used for 30 days stays in the list, but the app has to sign in again.
Tool errors
Code or message | Why | Fix |
|---|---|---|
| Your plan is Free | Upgrade. The connection works again within a minute, without connecting again |
| That call would pass a plan cap: scripts of that kind, stored definition events, and so on | Upgrade, or delete scripts or events in the app to make room. |
| The connection or key lacks the permission this tool needs, for example an app that asked only to read, or a key made without | Reconnect and allow the permission, or use a key with that scope. Permissions lists which tool needs which |
| Past your plan's requests a minute, shared with the CLI and your API keys. Or 30 failed token checks from your IP address in a minute, usually a stale key retried by a config file | Wait 10 seconds, or 60 after failed checks. Find the stale key and replace it |
| Past your heavy calls at once, often the CLI validating or saving at the same moment, or your run queue is full | Wait the seconds the error gives and retry once. Limits and cost |
| The script was saved elsewhere, often in the app, since the model read it | Nothing to fix: the app reads it again, re-applies its change and saves. Nothing was overwritten |
| You already have a script with that slug | Ask the app to change that script, which it does with |
| The code does not lint or resolve. Nothing was saved or run | The app reads the diagnostics and fixes them. Ask it to validate before saving |
| The symbol does not exist, or the window ends before the history your plan reaches | Ask the app to look it up with |
| Results were asked for before the run succeeded | The app calls |
| A browser-based client on a site Chartnaut does not recognise | Use Claude, ChatGPT or a desktop app, or run local tools on |
| Your account is not active yet | Wait for access |
Runs and results
What you see | Why | Fix |
|---|---|---|
| The run took longer than the 25 seconds a tool waits, or your plan's long polls at once were all in use, so it answered straight away | Ask the app to check again. It calls |
| A long window takes longer than one call waits | Ask again in a minute. |
A result ends with | The answer was over 40 KB | Ask for less: a time range, particular outputs or result keys, or the next page. The note says how |
| The source is over 40 KB | Edit it in the app, or with the CLI: |
A study run fails with | Every one of your runs at once was in use. A study run never waits | Wait for another run to finish, often the Agent working in the app, and run it again |
Claude Code, Cursor and Codex
What you see | Why | Fix |
|---|---|---|
| The CLI tries | Check |
| Chartnaut is already added to Claude Code |
|
no API key to write | The CLI is not signed in |
|
Cursor lists no Chartnaut tools |
| Fix the file, switch the server on, or set the variable and restart Cursor. Cursor |
…is not valid JSON… nothing was changed from | The CLI will not edit a file it cannot read | Fix the JSON, or add the server by hand |
Codex lists no Chartnaut tools, or gets |
| Export the variable in that shell. Check Codex's MCP docs for your version. Codex |
Your own MCP client
Status | Why | Fix |
|---|---|---|
|
| Send both types in |
| No bearer token, or it is expired or revoked | Follow |
|
| Send every message as its own |
| The request is over 3 MB | Send less. A script's files are at most 2 MB |
Call the MCP server and How the MCP server works cover the protocol. If something here does not match what you see, write to [email protected] with the app, the time and the error text.
