Skip to main content

Subject resolution

Every multi-tenant tool accepts an optional user_id argument. When omitted, the call resolves to the API key’s default tenant user. The user_id is validated against the key’s company — a cross-tenant id returns not_found (never leaked). Tool availability and execution are gated by the resolved user’s AccountKit.

Connections (3rd-party apps)

ToolDescription
naive_connections_listList toolkits + status for a user (kit-filtered). Optional user_id.
naive_connections_connectStart an OAuth/API-key flow → redirect URL. Blocked if the kit disallows the toolkit.
naive_connections_disconnectDisconnect a toolkit (purge to delete).
naive_connections_toolsList a toolkit’s tools + input schemas.
naive_connections_executeExecute a tool. Gated by the kit’s toolkit + per-tool filter.

Vault

ToolDescription
naive_vault_putStore/replace an encrypted value for a user.
naive_vault_getDecrypt + return a value (errors if locked/expired).
naive_vault_listList entry keys (values masked).
rotate and delete are REST/SDK-only (PATCH/DELETE /v1/users/{user_id}/vault/{key}, or vault.rotate() / vault.delete() in the SDK). They are intentionally not exposed as MCP tools, so an agent cannot destroy or re-key a stored credential.

Logs

ToolDescription
naive_logs_queryQuery a user’s recent activity events.
AccountKit filtering may reject a connection tool with forbidden and a reason of toolkit_not_allowed, tool_not_allowed, or primitive_disabled_by_kit. Surface the error rather than retrying.

Browser

Cloud browser sessions a user’s agents drive, plus autonomous signup/login backed by the Vault. Every tool takes an optional user_id and is gated by the user’s AccountKit (browser primitive).
ToolDescription
naive_browser_create_sessionOpen a live session scoped to allowed_domains (returns a session_id). 0 credits (time floor billed at close).
naive_browser_navigateNavigate the session to a URL (allowlist + SSRF enforced). 1 credit.
naive_browser_actNatural-language action (click/fill/scroll). Writes require allow_writes. 1 credit.
naive_browser_extractExtract structured data from the page (read-only). 1 credit.
naive_browser_observeList candidate elements/actions (read-only). 1 credit.
naive_browser_screenshotCapture the page → short-lived signed URL. 1 credit.
naive_browser_signupAutonomous account creation: generates + vaults a password, fills + submits. Sensitive (may return pending_approval). 4 credits.
naive_browser_loginAutonomous re-login from the vaulted credential. 3 credits.
naive_browser_save_loginPersist a completed human login as a reusable saved context.
naive_browser_close_sessionClose a session and release the browser (idempotent). Bills a time floor of 1–3 credits by elapsed time (≤5 / ≤15 / ≤30 min).
Credentials never reach the model: signup/login fill the password server-side via variable substitution. There is no agent-facing revoke (destroying a shared saved login is human-only). The live-view URL is never returned to an agent.
Storing a known credential and the user’s profile email are REST/SDK-only (no MCP tool): use POST /v1/users/{user_id}/browser/credentials (saveCredential) to vault an email/password before a later naive_browser_login, and PATCH /v1/users/{user_id} (profile.setEmail) to point the user’s account email at a provisioned inbox so signup verification mail can be received.

Auth & Identity

ToolDescription
naive_whoamiGet current auth context
naive_list_companiesList available companies
naive_identityFull identity summary
naive_list_emailsList email inboxes
naive_list_resourcesAll provisioned resources
Registration, linking, and company selection are REST-only operations (not exposed via MCP). Agents connect to MCP after they already have a key.
Orchestration tools (CEO, tasks, objectives, employees, cron, memory) are available via the REST API and CLI only. They are not exposed as MCP tools because orchestration requires stateful conversation flows that don’t map well to single tool calls.
The following are also REST/SDK (and where noted, CLI) only and have no MCP tools: AccountKits, tenant Users CRUD, Approvals (approve/deny), Sessions, Templates and Template Apps, the profile primitive, and the browser save_credential route. Agents act within a kit/session that an operator has already configured; managing those objects is a control-plane concern.

Domains

ToolDescription
naive_list_domainsList all domains for the company (includes app_connect_status)
naive_connect_domainConnect a custom domain (BYOD)
naive_resend_setup_recordsGet the email-provider setup records the user must add at their registrar to pass verification (read-only)
naive_verify_domainTrigger DNS verification
naive_search_domainCheck domain availability and price
naive_purchase_domainPurchase a domain via checkout
naive_list_dns_recordsList every DNS record on the live DNS zone (with provider record IDs)
naive_set_dns_recordCreate or replace a DNS record (A/AAAA/CNAME/MX/TXT/CAA). Apex A/AAAA writes flip the domain to agent_managed.
naive_delete_dns_recordDelete a DNS record by its provider record ID
The DNS edit tools (naive_list_dns_records, naive_set_dns_record, naive_delete_dns_record) are gated behind AGENT_DNS_EDIT_ENABLED=true on the API. They enforce a strict allowlist (A/AAAA/CNAME/MX/TXT/CAA), block DMARC/DKIM/inbound records, refuse system domains, and rate-limit at 5/min and 20/hr per company.

naive_set_dns_record

{
  "domain_id": "UUID of the domain (required)",
  "type": "A | AAAA | CNAME | MX | TXT | CAA (required)",
  "name": "Record name; '@' or omitted for apex (optional)",
  "value": "Record value (required)",
  "ttl": "TTL in seconds, 60-86400 (optional)",
  "priority": "MX priority 0-65535 (required for MX)",
  "mode": "replace (default) | append (optional)",
  "acknowledge_unowned": "boolean — required when overwriting a record not created by Naive"
}

naive_delete_dns_record

{
  "domain_id": "UUID of the domain (required)",
  "record_id": "Provider record ID from naive_list_dns_records (required)",
  "acknowledge_unowned": "boolean — required when deleting a record not created by Naive"
}

Email

ToolDescription
naive_email_inboxesList sendable inboxes
naive_create_inboxCreate a new email inbox on company domain
naive_delete_inboxDelete (deactivate) an email inbox
naive_send_emailSend email from inbox
naive_email_inboxList received emails
naive_get_emailGet full email body
ToolDescription
naive_web_searchSearch the web
naive_read_urlFetch + extract from URL
naive_researchMulti-source deep research

LLM

OpenRouter-backed chat completions across 300+ models. Billed in Naive credits by the model’s token cost.
ToolDescription
naive_llm_chatRun a chat completion (model + messages, optional models fallback chain, temperature, max_tokens)
naive_llm_modelsList the models OpenRouter can route to (optional search filter) — free

Images

ToolDescription
naive_generate_imagesGenerate images using AI models
naive_image_statusCheck image job status
naive_stock_searchSearch stock photos
naive_image_modelsList available models

Video

ToolDescription
naive_generate_videoGenerate video using AI models
naive_video_statusCheck video job status
naive_video_modelsList available models

Video Clipping

ToolDescription
naive_create_clipsExtract short-form clips from a YouTube video (4 credits)
naive_clips_statusCheck clipping or editing job status
naive_edit_clip_videoAdd captions, effects, zooms, and B-roll (3 credits)

Media Assets

ToolDescription
naive_media_listList and filter media assets (auto-populated from clipping and generation jobs)
naive_media_getGet a single asset by ID
naive_media_upload_urlUpload media from a public URL
naive_media_updateUpdate asset title, description, tags
naive_media_deleteDelete an asset

Social

ToolDescription
naive_social_statusCheck activation + connected accounts
naive_social_activateActivate social media for company
naive_social_connectGet OAuth URL for a platform
naive_social_portalGet portal URL for multi-platform connect
naive_social_accountsList connected accounts
naive_social_disconnectDisconnect an account
naive_social_labelSet a label on an account
naive_social_syncSync connected accounts
naive_social_uploadUpload media from URL
naive_social_create_postCreate a post (draft or publish)
naive_social_list_postsList social posts
naive_social_get_postGet post details
naive_social_edit_postEdit a draft post
naive_social_delete_postDelete a post
naive_social_publish_postPublish a draft
naive_social_post_analyticsGet post analytics
naive_social_post_commentsGet post comments
naive_social_account_analyticsGet account analytics

Verification

ToolDescription
naive_start_verificationStart KYC for members with ownership percentages and responsible party designation
naive_list_verificationsList all verification requests for the company
naive_get_verificationGet verification status + member statuses + ready_for_formation flag
naive_complete_member_verificationSubmit verification validation token for a member
naive_resend_verification_linkResend/regenerate a member’s KYC link

Formation

ToolDescription
naive_list_naics_codesList NAICS industry codes for formation
naive_submit_formationStep 1: Validate KYC + create $249 hosted checkout
naive_retry_formation_paymentGenerate fresh checkout URL if original expired
naive_execute_formationStep 2: Submit for filing after payment is complete
naive_list_formationsList all formation requests
naive_get_formationGet formation status and details
naive_formation_documentsList formation documents
naive_formation_document_downloadGet document download URL

Apps

Vercel-backed Next.js apps with an optional Supabase database (fullstack). Fully standalone — no orchestration required: the create response includes a starter-template clone command, and local projects deploy via tarball upload (REST/CLI — naive_apps_deploy itself deploys the agent’s container workspace). When a company container exists, a dedicated engineer agent is provisioned on creation. Beyond the curated tools, naive_apps_vercel_api and naive_apps_supabase_api proxy any Vercel REST API / Supabase Management API operation, scoped to the app’s own project with credentials injected.
ToolDescription
naive_apps_listList all apps
naive_apps_createCreate an app (frontend_only or fullstack — provisions Vercel + optional Supabase; optional template variant; returns the template clone command)
naive_apps_templatesList starter templates (GitHub repo + clone commands)
naive_apps_getGet app details (Vercel project, Supabase project, secrets, domains, deployments)
naive_apps_deleteDelete an app and all its infrastructure
naive_apps_deployDeploy workspace code to Vercel (preview)
naive_apps_publishPromote a deployment to production
naive_apps_deploymentsList deployment history
naive_apps_retryRe-run failed Vercel/Supabase provisioning
naive_apps_secrets_listList env var keys
naive_apps_secrets_setSet an env var (preview / production), synced to Vercel
naive_apps_secrets_deleteDelete an env var (removed from Vercel too)
naive_apps_secrets_revealReveal an env var value
naive_apps_domains_listList app domains
naive_apps_domains_addAdd a custom domain to the Vercel project
naive_apps_domains_removeRemove a domain
naive_apps_domains_set_primarySet the primary production domain
naive_apps_connect_domainConnect a company domain as the app’s production domain
naive_apps_disconnect_domainDisconnect a company domain
naive_apps_verify_domain_dnsVerify DNS for a connected company domain
naive_apps_db_tablesList database tables (fullstack only)
naive_apps_db_queryRun a SQL query (fullstack only)
naive_apps_vercel_apiCall any Vercel REST API operation (scoped to the app’s project)
naive_apps_supabase_apiCall any Supabase Management API operation (scoped to the app’s project)

Jobs

ToolDescription
naive_list_jobsList async jobs
naive_get_jobGet job details
naive_cancel_jobCancel a job

Status

ToolDescription
naive_statusAgent status + credits
naive_usageCredit usage history

Tool Schemas

naive_generate_images

{
  "model": "fal-ai/flux/schnell (optional, default)",
  "input": { "prompt": "required", "image_size": "optional", "num_images": "optional", "seed": "optional" }
}
{
  "query": "required",
  "count": "number (optional, default 10, max 80)",
  "orientation": "landscape | portrait | square (optional)",
  "color": "red | orange | yellow | green | turquoise | blue | violet | pink | brown | black | gray | white (optional)",
  "size": "large | medium | small (optional)"
}

naive_send_email

{
  "from_inbox": "UUID of inbox to send from (required)",
  "to": "Recipient email address (required)",
  "subject": "Email subject (required)",
  "body": "Email body — plain text or HTML (required)"
}
{
  "query": "Search query (required)",
  "count": "Number of results, default 5, max 20 (optional)"
}

naive_generate_video

{
  "model": "Model ID (required)",
  "input": { "prompt": "required", "duration": "optional", "aspect_ratio": "optional", "image_url": "for image-to-video" }
}

Billing Tools

ToolDescription
naive_list_plansList subscription plans with pricing
naive_subscribeCreate subscription checkout (7-day trial for first-time)
naive_upgrade_planUpgrade existing subscription
naive_billing_statusCheck subscription + credit balance
naive_billing_portalGet billing portal URL
naive_list_packsList credit top-up packs (1010-100)
naive_topup_creditsBuy more credits

naive_social_connect

{
  "platform": "TWITTER | LINKEDIN | INSTAGRAM | FACEBOOK | TIKTOK | YOUTUBE | THREADS | PINTEREST | REDDIT | BLUESKY",
  "redirect_url": "URL the user returns to after connecting (required)"
}

naive_social_create_post

{
  "content": "Post text content (required)",
  "title": "Post title (optional, auto-generated from content)",
  "platforms": ["TWITTER", "LINKEDIN"],
  "platform_data": { "REDDIT": { "sr": "subreddit", "title": "..." } },
  "media_urls": ["https://example.com/video.mp4"],
  "account_ids": ["uuid (optional, specific accounts to post from)"],
  "youtube_type": "SHORT | VIDEO (optional, default SHORT)",
  "publish_now": "boolean (optional, default false = draft). Costs 1 credit.",
  "scheduled_at": "ISO 8601 datetime (optional). Costs 1 credit."
}

naive_start_verification

{
  "members": [
    {
      "first_name": "required",
      "last_name": "required",
      "email": "required",
      "phone_number": "optional (E.164)",
      "ownership_percentage": "integer 0-100 (required, must sum to 100)",
      "role": "primary | secondary (required, exactly one primary)",
      "is_responsible_party": "boolean (required, exactly one true)"
    }
  ]
}

naive_complete_member_verification

{
  "member_id": "UUID of the member (required)",
  "validation_token": "verification validation token from onComplete (required)"
}

naive_submit_formation

{
  "verification_id": "UUID (required)",
  "entity_type": "llc (required)",
  "state": "US state code, e.g. WY (required)",
  "naics_code_id": "NAICS code ID (required)",
  "description": "Business description (required)",
  "name_options": [{ "name": "Acme", "entity_type_ending": "llc" }]
}

SEO

ToolDescription
naive_seo_discoverFind the right SEO endpoint using natural language
naive_seo_executeExecute any SEO endpoint (Live mode — instant results)
naive_seo_execute_asyncExecute any SEO endpoint (Standard mode — async task)
Supports Keywords Data (Google, Bing, Trends), Backlinks, and SEO Labs (Google, Bing, Amazon).

App Data

ToolDescription
naive_app_data_discoverFind the right App Data endpoint using natural language
naive_app_data_executeExecute any App Data endpoint (Live mode)
naive_app_data_execute_asyncExecute any App Data endpoint (Standard mode — async task)
Supports Google Play and App Store — app searches, listings, info, and reviews.

Business Data

ToolDescription
naive_business_discoverFind the right Business Data endpoint using natural language
naive_business_executeExecute any Business Data endpoint (Live mode — instant results)
naive_business_execute_asyncExecute any Business Data endpoint (Standard mode — async task)
Supports Google My Business, Hotels, Reviews, Q&A, Trustpilot, TripAdvisor, and social media engagement.

AEO (AI Optimization)

ToolDescription
naive_aeo_discoverFind the right AEO endpoint using natural language
naive_aeo_executeExecute any AEO endpoint (Live mode — instant results)
naive_aeo_execute_asyncExecute any AEO endpoint (Standard mode — async task)
Supports LLM Responses (ChatGPT, Claude, Gemini, Perplexity), LLM Scraper, AI Keywords, and LLM Mentions.

E-commerce

ToolDescription
naive_ecommerce_discoverFind the right E-commerce endpoint using natural language
naive_ecommerce_executeExecute any E-commerce endpoint (Live mode)
naive_ecommerce_execute_asyncExecute any E-commerce endpoint (Standard mode — async task)
Supports Google Shopping and Amazon — product searches, info, sellers, and reviews.

Cards

ToolDescription
naive_cards_cardholderGet the company’s virtual card cardholder
naive_cards_create_cardholderCreate a virtual card cardholder (required for managed cards)
naive_cards_update_cardholderUpdate cardholder details
naive_cards_listList all virtual cards
naive_cards_createCreate a virtual card — returns checkout URL for funding
naive_cards_detailsGet card credentials (PAN/CVC or redeem code)
naive_cards_check_paymentCheck if funding checkout completed and issue card
naive_cards_retry_issueRetry issuance for a card that failed after payment
naive_cards_topupTop up a card’s spending limit — returns checkout URL
naive_cards_refundRefund a failed card’s payment
naive_cards_cancelCancel/deactivate a card
naive_cards_assignmentsList agents assigned to a card
naive_cards_assignAssign an agent to a card
naive_cards_unassignRemove an agent’s card assignment
naive_cards_log_transactionLog a manual spend transaction
naive_cards_transactionsList card transactions

naive_cards_create

{
  "name": "Marketing Card (required)",
  "spending_limit_cents": 10000,
  "provider": "prepaid_gift | managed_virtual (optional, default prepaid_gift)",
  "agent_id": "optional UUID"
}

naive_cards_create_cardholder

{
  "first_name": "required",
  "last_name": "required",
  "billing_line1": "required",
  "billing_city": "required",
  "billing_state": "required (2-letter code)",
  "billing_postal_code": "required",
  "dob_day": 15,
  "dob_month": 6,
  "dob_year": 1990,
  "email": "optional",
  "phone": "optional"
}

naive_cards_topup

{
  "card_id": "UUID of the card (required)",
  "amount_cents": 5000
}

Trading

Link a brokerage account via OAuth and trade stocks, options & crypto. The order symbol decides the market (AAPL, BTC/USD, AAPL241213C00250000).
ToolDescription
naive_trading_connectBegin the brokerage OAuth flow — returns an authorize URL to open
naive_trading_connectionsList connected environments (paper/live) and status
naive_trading_accountGet the connected brokerage account (buying power, equity)
naive_trading_assetsList tradable assets (filter by asset_class)
naive_trading_positionsList open positions
naive_trading_positionGet one open position by symbol
naive_trading_ordersList orders (open/closed/all)
naive_trading_get_orderGet one order by id
naive_trading_quoteLatest quote(s) for symbols
naive_trading_create_orderPlace an order — sensitive (may require approval)
naive_trading_cancel_orderCancel an open order — sensitive
naive_trading_close_positionClose (liquidate) a position — sensitive

naive_trading_create_order

{
  "symbol": "BTC/USD (required)",
  "side": "buy | sell (required)",
  "notional": "25 (use notional OR qty)",
  "qty": "0.5 (use qty OR notional)",
  "type": "market | limit | stop | stop_limit | trailing_stop (default market)",
  "time_in_force": "day | gtc | opg | cls | ioc | fok (crypto: gtc|ioc)",
  "limit_price": "for limit/stop_limit",
  "env": "paper | live (optional)"
}