Skip to main content

Integration Checklist

Version: 1.0 Last Updated: 2026-09-12


This page is the connective tissue between the three resources most integrations need — Prerequisites, the Quick Start (auth + curl examples), and MCP Servers Overview (config JSON, package names, tool counts). It inlines everything in one linear sequence so you (human or agent) never have to cross-reference three pages to assemble a working integration. For deep dives on any step, follow the links out — this page intentionally keeps each step short.

Checklist

  1. Get an API key — zero-auth in 30 seconds, or a permanent account
  2. Authenticate correctlyX-API-Key, not Authorization: Bearer
  3. Pick and configure an MCP server — 7 real servers, package names, tool counts
  4. Prove it works — one curl call and one MCP call, both live

1. Get an API Key

You have two paths. Both work for agents and humans.

Path A — Zero-auth, no signup (fastest)

Call the public instant-db endpoint. No email, no password, no CAPTCHA:

curl -X POST https://api.ainative.studio/api/v1/public/instant-db \
-H "Content-Type: application/json" \
-d '{"agree_terms": true}'
{
"api_key": "tmp_xxx...",
"project_id": "uuid",
"base_url": "https://api.ainative.studio",
"expires_at": "72 hours from now"
}
Must include agree_terms

Omitting "agree_terms": true returns HTTP 451 with a link to the terms. This is the entire zero-auth flow — one call, no other steps required to start making requests.

The returned tmp_ key is fully functional for 72 hours. When you're ready to keep your data, register a real account and claim it — see Quick Start → For AI Agents for the claim flow.

Path B — Permanent account

curl -X POST https://api.ainative.studio/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "your-email@example.com",
"password": "YourSecurePass123!",
"full_name": "Your Name"
}'

Then create a scoped, long-lived API key:

curl -X POST https://api.ainative.studio/api/v1/api-keys \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "My First API Key", "expires_in_days": 90}'

Full walkthrough, including prerequisites for a permanent setup: ainative.studio/getting-started and Quick Start → Full Setup.


2. Authenticate Correctly

Once you have a key (tmp_, sk_, or zdb_live_), send it as X-API-Key:

curl https://api.ainative.studio/api/v1/database/projects \
-H "X-API-Key: YOUR_API_KEY"
The #1 integration trap: Authorization: Bearer is for JWTs, not API keys

Authorization: Bearer <token> is the header for JWT session tokens (issued by /api/v1/auth/login-json or /api/v1/auth/register). API keys (sk_*, tmp_*, zdb_live_*) belong in X-API-Key. Sending an API key as Authorization: Bearer sk_... on a route that expects a JWT returns a 401, even though the key itself is valid — this is a real, easy-to-hit trap, not a hypothetical. If you get an unexplained 401 with a key you know is good, check which header you used before assuming the key is bad.

CredentialHeaderExample
API key (sk_, tmp_, zdb_live_)X-API-KeyX-API-Key: sk_live_...
JWT access token (from register/login)Authorization: BearerAuthorization: Bearer eyJhbGc...

Full reference, including OAuth2 and key rotation: Authentication Guide.


3. Pick and Configure an MCP Server

AINative publishes 7 MCP servers. Pick the one matching what you need:

ServerPackageToolsWhat It Does
ZeroDB Fullpip install zerodb-mcp69+Complete data layer: vectors, memory, tables, files, events, PostgreSQL, graph
ZeroDB Memorynpm i ainative-zerodb-memory-mcp10Agent memory + plan artifacts: store, recall, semantic search, versioned plans
PRD Generatornpm i ainative-prd-mcp18Generate, validate, and manage PRDs with AINative platform awareness + ZeroDB persistence
Sequential Thinkingnpx zerodb-sequential-thinking-mcp3Persistent reasoning chains with cross-session resume — self-provisioning
Design Systemnpm i -g ainative-design-system-mcp-server3Extract tokens, analyze components, generate themes
GTMnpx @ainative/gtm-mcp20Audit, fix, and publish Google Tag Manager containers
Strapi CMSnpm i -g ainative-strapi-mcp-server21Create, update, and publish Strapi content via natural language

Fastest setup — auto-detect

npx zerodb-cli init

Auto-detects Claude Code, Cursor, VS Code, or Windsurf and writes the config for you.

Manual setup — Claude Code

Edit ~/.claude.json (global) or .claude/settings.json (project):

{
"mcpServers": {
"zerodb-memory": {
"command": "npx",
"args": ["-y", "ainative-zerodb-memory-mcp"],
"env": {
"ZERODB_API_KEY": "your-api-key",
"ZERODB_PROJECT_ID": "your-project-id"
}
}
}
}

Note this config uses your API key as an env var directly — the MCP server sends it as X-API-Key under the hood, so the gotcha in Step 2 doesn't apply here.

Full setup for every server, plus Cursor config and hosted remote MCP (no local install): MCP Servers Overview.


4. Prove It Works, End-to-End

Option A — curl (REST)

Using the key from Step 1 and the header from Step 2:

curl -X POST https://api.ainative.studio/api/v1/chat/completions \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "digitalocean",
"model": "Llama-3.3-70B-Instruct",
"messages": [
{"role": "user", "content": "Hello, world!"}
]
}'

A successful response is a standard chat-completion payload with a choices[0].message.content field. If you get a 401, re-check Step 2 — it's almost always the header, not the key.

Option B — MCP tool call

After npx zerodb-cli init (or the manual config from Step 3), ask your agent to call a ZeroDB Memory tool, e.g. "store a memory that says integration test successful." A working setup returns a tool result with a memory ID — no REST call needed, the MCP server handled auth internally using the env vars you configured.


What's Next

Refs #7332