Troubleshooting
Fix common Nodaro MCP problems, from a wrong server URL, a failed sign-in and missing tools to failed jobs, uploads and error codes such as client_not_allowed.
This page lists the most common problems with the Nodaro MCP server and how to fix them: connection and sign-in errors, tools that do not appear, jobs that fail or seem stuck, uploads, and the error codes that tools return. Start with the section that matches what you see.
Connecting and signing in
The client shows an OAuth error when you add the connector
- Check that the URL is exactly
https://mcp.nodaro.ai/mcp, with no trailing slash. - Check that
mcp.nodaro.airesolves on your network. - Check the discovery document. This command should return
200with JSON:
curl https://mcp.nodaro.ai/.well-known/oauth-protected-resourceThe same host also serves /.well-known/oauth-authorization-server, which should return 200 with JSON too.
The sign-in never completes, or the URL is wrong
The server answers only at https://mcp.nodaro.ai/mcp. Two common mistakes fail before the sign-in reaches Nodaro:
https://api.nodaro.ai/mcp: this domain does not exist, so the connection fails when it looks up the name.https://app.nodaro.ai/mcp: this is the MCP web page, not the server. APOSTthere returns405with the error codewrong_mcp_host, which names the correct URL.
Claude cannot edit a connector's URL. Delete the broken connector and add it again with https://mcp.nodaro.ai/mcp.
The consent screen shows an orange warning about the client's name
That is expected. A client that registers itself chooses its own name, such as "Claude", and Nodaro does not verify it. The warning reminds you to check that the app asking for access is the one you are setting up before you click Allow.
Registration fails with "Client not allowed"
Your client registered with a name that is not on the list of accepted clients. You can:
- Use a supported client, such as Claude, ChatGPT, Cursor, Cline, Continue or Goose.
- Register a developer app at app.nodaro.ai/settings/developer-apps and use its client id and secret. See Your own client.
- On your own instance, ask the operator to add the client's name to
MCP_DCR_ALLOWLIST, or to setMCP_DYNAMIC_REGISTRATION=open. See MCP on a self-hosted install.
The assistant stopped working after a while
Access lasts 90 days, and there are no refresh tokens. When it expires, calls return 401. Sign in again from your client, or remove the connector and add it again.
Runs you did not start show "via MCP"
A connected MCP client started them on your behalf. Open app.nodaro.ai/settings/developer-apps, review the apps you authorized, and revoke any you do not expect.
Tools are missing
The client is connected but shows no tools, or only some
A tool whose permission you did not grant is left out of the tool list entirely. Remove the connector, add it again and allow every permission on the consent screen. Some tools also need more than one permission:
- The studio generation tools need both
workflows:writeandworkflows:execute. With only one of them, none of these tools appears. - The workspace tools need
workspaces:readandworkspaces:write, which connections authorized before workspaces existed do not have. Reconnect to get them.
Permissions lists which tool needs which permission.
A tool from the docs is not in your list at all
Some tools exist only on Nodaro Cloud, such as the studio production and recast tools, create_explainer, plan_edit, voice_changer_pro and the credit tools. The workspace tools exist only where organizations are switched on, and pro_3d_render only on deployments that can run it. See Tools only on Nodaro Cloud.
Jobs and results
A generation failed
Ask the assistant to call get_job or diagnose_run with the job id. Read retryable and guidance: when retryable is false, the same request will fail again unchanged, so change the settings or the input. When suggestedProvider is present, run the same prompt and references on that model. When a job fails has the details. Credits reserved for a failed job are refunded, except after a failure in post-processing.
A job says pending_review
The deployment holds results for a person to review. The job is still in progress, not failed. Keep checking it, and do not run it again: a duplicate would be held too.
wait_for_job returns timeout
That is not an error. The job was still running when the wait ended, after at most 120 seconds. Call wait_for_job again, or poll get_job every 5 to 10 seconds. Videos usually take 2 to 10 minutes.
The result card does not appear
Cards need a client that displays MCP Apps, such as Claude on the web. In other clients, ask the assistant to check the job with get_job. The result is always saved to your library.
A run was charged twice after a timeout
Pass a client_request_id on run_workflow, run_app, run_component and the production tools, and reuse the same value when you retry. Nodaro then returns the first run instead of starting and charging a second one.
Uploads
prepare_image_upload fails in Claude on the web
The presigned upload needs a client that can reach the storage host from a shell, such as Cursor, Cline, Claude Desktop or Claude Code. In Claude on the web and on Android, use upload_image_widget, or request_image_upload, which gives you a link to open in your browser. See Upload tools.
Workflows
update_workflow_json says the workflow was modified
Someone changed the workflow after you read it. Read it again with get_workflow_json, then send the change again with the new version.
A setting you sent is not the one that was saved
A model does not accept every aspect ratio, resolution or quality. Nodaro changes an unsupported value to a supported one, or removes it, and lists each change under adjustments. Do not send the original value again; choose a model that supports it, using list_models.
The Film Director's canvas stays empty
The skill adds a stage's nodes in one step after you approve the stage. Wait until Claude says it added them, then refresh. More fixes are in Film Director.
Error codes
| Code | Tool | What it means | What to do |
|---|---|---|---|
wrong_mcp_host | The server | The client called the web page at app.nodaro.ai/mcp | Use https://mcp.nodaro.ai/mcp |
client_not_allowed | Registration | The client name is not accepted | Use a supported client or a developer app |
too_many_open_registrations | Registration | Too many unused registrations of one client in open mode | Use the registrations you have, or wait |
dcr_disabled | Registration | The instance turned self-registration off | Use a client id and secret from the operator |
voice_not_found | Speech tools | The voice id does not exist | Use a premade voice name, or a voice you cloned |
advanced_mode_unsupported | Prompt and text tools | advanced_mode was used with a model that is not Gemini | Choose a Gemini model or turn advanced mode off |
locked_field | run_app | inputOverrides tried to change where an output goes | Leave destinations as the app defines them |
portrait_required | generate_character | The character has no approved portrait | Approve a portrait with approve_portrait first |
main_image_required | Location, object and creature tools | There is no approved main image | Approve a main image first |
candidate_object_mismatch, candidate_creature_mismatch | Approval tools | The candidate was not generated for this object or creature | Approve a candidate made for it |
scene_overlap | resolve_shot_sequence | Two scenes have reveals in the same stretch of time | Keep each scene's cues before the next scene's |
not_available | Studio production tools | The deployment does not serve studio productions | Do not retry; the feature is not available there |
studio_preview_unavailable | edit_studio_production | The deployment cannot preview a batch | Nothing was sent; decide with the user whether to apply the batch without a preview |
not_finished | import_studio_production | The plan job is still running | Wait for the job to finish, then import |
cloud_only_feature | combine_videos | smart_cut was used on a self-hosted install | Join the clips without smart_cut |
payer_balance_jwt_only | check_balance, credit_transactions | The deployment's shared billing account cannot be read by a connected client | Read the balance in the app |
Frequently asked questions
Related
Connect a client
Jobs
Your own client
Nodaro MCP
Last updated on