Skip to content

Database Provider Failures

Orbit’s Project Database panel connects to external providers — Neon (Postgres), Firestore (Firebase), and others — using credentials stored in the Vault. Most failures trace to missing or misconfigured vault entries.

Orbit resolves Neon connections by calling the Neon API with your API key. If the key is missing, every Neon call fails immediately:

All Neon connection candidates failed:
- neon_api_key: not_configured

Fix: store your Neon API key in the Vault:

orbit_vault_set('neon_api_key', '<your-neon-api-key>')

The key is looked up as neon_api_key or NEON_API_KEY.

If the key exists but the Neon API returns 401 or 403, Orbit reports:

AUTH_FAILED: Neon API key is invalid. Verify 'neon_api_key' in vault.

Generate a new API key from the Neon dashboard and update the vault entry.

Orbit scans your Neon projects for one matching the Orbit project slug. If none matches:

All Neon connection candidates failed:
- neon-api:<project>: no_matching_project

This means your Orbit project slug does not match any Neon project name. Either rename the Neon project to match, or add a neon_project_id entry to the Vault to pin it to a specific Neon project ID directly.

Firestore — firebase_credentials_missing

Section titled “Firestore — firebase_credentials_missing”

Firestore requires a Firebase service account stored in the Vault. If it’s absent:

firebase_credentials_missing: No Firebase service account in vault for project "<project>".
Set it via: orbit_vault_set('firebase_service_account', '<full service account json>', { project: '<project>' })

Download the service account JSON from Firebase Console → Project Settings → Service Accounts → Generate new private key, then store the entire JSON string as the vault value.

Firestore — firebase_credentials_invalid

Section titled “Firestore — firebase_credentials_invalid”

If the stored value is not valid JSON:

firebase_credentials_invalid: firebase_service_account in vault is not valid JSON

Re-paste the service account JSON. Ensure there are no line-break or encoding issues — paste the raw JSON string exactly as downloaded.

Firestore — AUTH_FAILED (permission denied)

Section titled “Firestore — AUTH_FAILED (permission denied)”

If credentials parse correctly but Firestore returns a permission error:

AUTH_FAILED: Firestore permission denied — check service account IAM roles

The service account exists but lacks the required IAM role. In Google Cloud Console → IAM, grant the service account the Cloud Datastore User role (or Firebase Admin SDK Administrator Service Agent for full access). Changes propagate within a few minutes.

Project Database write confirmation not appearing

Section titled “Project Database write confirmation not appearing”

When Orbit writes to the Project Database from an MCP tool call, it logs a confirmation in the response. If you don’t see a confirmation:

  • The call may have succeeded silently. Check your database directly — query the collection or table that should have been written.
  • If the call returned an error, the error code and message are included in the MCP response. Treat those as the starting point for the above credential fixes.

The Godot integration runs as a local MCP proxy process. If the proxy fails to start, tool calls return:

Godot MCP proxy failed to connect: <reason>

Common causes:

  • Godot is not running when the proxy tries to connect. Launch Godot first, then retry.
  • The Godot editor version does not support the MCP plugin. Check that the plugin version matches your editor version.

Individual tool calls that fail after the proxy is running return:

Godot MCP tool '<toolName>' failed: <reason>

The tool name and reason identify which operation failed. These are usually transient — the editor scene may not be in the expected state.

These providers read credentials from the Vault, not a service account JSON. See Watch Deploy Health for the required vault keys (appstore_issuer_id, appstore_key_id, playstore_service_account).