Skip to content

Troubleshooting

This guide covers the problems you’ll most often hit with the Daeda AI Automation Suite.

Use the tables first.

Then use the deeper notes if needed.

SymptomMost likely causeFirst check
MCP server will not connectBad config, bad Node version, or stdout pollution/mcp, Node version, MCP config
Registration failsInvalid key, revoked key, expired trial, or no paid planDaeda AI license key and billing state
No portals appearNo connected client portalsDaeda AI > Master Settings > Connected Portals
Query returns no dataInitial artifact sync still runningstatus(section="schema")
Metadata looks stalePlugin-backed table not refreshedstatus(section="schema") and refresh_plugins
Portal read failsPortal sync disabled and no local DB existsconfigure_sync_controls and status(section="connection")
Write Plan is blockedMissing scopes or missing trial/plan entitlementDaeda AI Write Plan review and re-authorisation
CheckWhat good looks like
Node.jsVersion 20 or newer
Package commandnpx -y @daeda/mcp-pro
Env varDAEDA_LICENSE_KEY is present
MCP client configValid JSON or valid client-specific format

If you see handshake failures, the most important rule is this:

The MCP stdio server must keep stdout clean.

Only MCP protocol frames can go to stdout.

Any normal logging on stdout can break initialisation.

SymptomCauseFix
handshaking with MCP server failed: initialize responseNon-protocol output reached stdoutRemove or redirect any custom wrapper logging; logs must go to stderr only
ProblemFix
Typo in the keyCopy the key again from Daeda AI
Key was regeneratedUpdate your MCP config with the new key
Key was revokedCreate a new key in Daeda AI
Error patternMeaningFix
Free trial expired. Choose a Daeda AI plan in HubSpot to continue.The one-time trial ended and no paid plan is activeChoose a paid plan in Daeda AI
Choose a Daeda AI plan in HubSpot to continue.No active entitlement existsStart with a paid plan, or trigger the unused trial by first real MCP registration

Remember:

The free trial starts on first real MCP registration.

It does not start on install.

If registration succeeds but no useful portals appear, the workspace likely has no connected client portals yet.

CauseFix
No connected client portalsIn Daeda AI, open Master Settings and connect a portal
Wrong workspaceCheck that the license key belongs to the intended Daeda AI workspace
CauseFix
Wrong portal IDUse one of the IDs returned by status(section="connection")
Portal not connected to this workspaceConnect it in Daeda AI

If sync is disabled for a portal:

SituationResult
Local DB already existsReads can use stale local data
No local DB exists yetReads fail

Use:

configure_sync_controls(portalId=<id>, portalEnabled=true, refreshArtifacts=true)

This usually means the initial artifact sync is still in progress.

Run:

status(section="schema")

Then check:

What to inspectWhat it tells you
Database sectionWhether a local DB exists yet
Object sectionsWhich tables are already populated
Connection sectionWhich portal is selected
Error patternMeaningFix
Timed out waiting for portal <id> artifact queue drain.Enabled portal reads waited too long for artifact workRetry, or switch to the selected portal and let it finish syncing
Portal <id> has no synced data yet. Background sync in progress - retry shortly.Local DB is not ready yetWait and retry

This is expected behaviour.

If portal sync is disabled, the Automation Suite will use stale local data only.

If you need current data, enable sync again.

Metadata Looks Old Even Though CRM Data Looks Current

Section titled “Metadata Looks Old Even Though CRM Data Looks Current”

This is the most common confusion.

CRM object tables and plugin tables do not follow the same freshness rules.

DataFreshness behaviour
CRM records, associations, workflowsArtifact-backed
lists, owners, pipelines, forms, sequences, inboxes, subscriptionsPlugin-backed

If plugin-backed metadata matters, refresh it manually.

StepAction
1Call status(section="schema")
2Identify the plugin-backed tables you need
3Call refresh_plugins(pluginNames=[...])
4Poll status(section="schema")
5Wait until the matching job is COMPLETED and the plugin lastRefreshedAt values advance
Error patternMeaningFix
Plugin '<name>' is an artifact-backed plugin.You tried to refresh an artifact-backed data sourceDo not use refresh_plugins for CRM objects, association_schema, or workflows
Unknown plugin '<name>'The plugin name is wrongUse one of the active lightweight plugin names
Portal <id> has sync disabled.Plugin refresh is blocked on disabled portalsEnable portal sync first
No registered master MCP client could accept a plugin refresh requestNo writable master client is available to execute the refreshKeep the main MCP client connected and retry

Use these names with refresh_plugins:

Plugin nameUse for
property-definitionsProperty definitions and groups
pipelinesPipelines and stages
ownersOwner records
portal-infoPortal metadata
action-type-catalogSupported workflow action catalog
workflow-enrollment-triggersWorkflow trigger catalog
listsHubSpot lists
sequencesSequences and steps
communication-subscriptionsCommunication subscription definitions
conversation-inboxesInboxes, channels, and accounts
formsForms and form fields
user-teams-permissionsProvisioning users, teams, and roles

If Daeda AI shows a re-authorisation action, the target portal is missing scopes needed by the plan.

CauseFix
Missing read or write scopeRe-authorise the target portal with the requested scopes
Missing schema write scopeRe-authorise with the object schema write scope
Missing list-specific scopeRe-authorise with both list write scope and HubSpot access-group write scope if requested

Plan Execution Blocked Before Trial Starts

Section titled “Plan Execution Blocked Before Trial Starts”

Write Plan execution can be blocked if the workspace has no paid plan and the trial has not started yet.

The fix is to start the trial through a real MCP license-key connection, or choose a paid plan in Daeda AI.

Error patternMeaningFix
This workspace needs a Daeda AI plan or an unused free trial to connect portalsNo entitlement is availableChoose a plan or use the unused trial
This workspace can only connect X portals right nowPortal allowance is exhaustedBuy more portal capacity or disconnect another portal

Use Daeda AI as the source of truth for the workspace state.

QuestionWhere to check
Current planDaeda AI > Billing
Trial status and end dateDaeda AI > Billing or Master Settings
Portal allowanceDaeda AI > Billing and Connected Portals
License key count and entitlementDaeda AI > Master Settings

Sometimes the MCP process serving your request is not the writable owner of the live local DB.

In that case it uses the published read replica.

BehaviourWhat it means
Queries still workReads are coming from the replica
Some sync work is deferred or relayedThe writable master client owns local mutation work
Plugin refresh may be relayedKeep the main MCP client connected

Use this order:

StepCommand or check
1/mcp
2status(section="connection")
3set_portal(portalId=<id>) if needed
4status(section="schema")
5refresh_plugins(...) if plugin-backed metadata matters
6status(section="schema") again until refresh is replica-verified
7query(...)

Escalate to Daeda support when:

SituationWhy it matters
A refresh job stays stuck in REPLICATING or RUNNING for a long timeReplica publication or writable-client execution may be blocked
Artifact-backed data never appears after repeated retriesInitial sync may be failing server-side
Re-authorisation loops even after approving scopesThe portal may still be missing a required HubSpot scope
Registration fails for a clearly valid key with a paid workspaceAccount or portal mapping may be wrong

How The Local Read Database Works