Skip to content

Quickstart ​

Get from zero to your first Martha API call in under five minutes.

What you need ​

  • Node.js 22+ (for the CLI)
  • A Martha tenant — see Tenant onboarding below if you don't have one
  • A few minutes

1. Install the CLI ​

The fastest path is npx — no global install needed:

bash
npx -y --package=@aiaiai-pt/martha-cli@latest martha --help

For day-to-day use, install globally:

bash
npm i -g @aiaiai-pt/martha-cli
martha --version

2. Configure a profile ​

bash
martha init

Install does not create a profile. The interactive wizard writes ~/.martha/config.yaml with a local profile by default. To skip the prompts for local development:

bash
martha init --no-interactive --preset local

For a customer, staging, or private-cloud tenant, use the URLs from your tenant admin:

bash
martha init --no-interactive --name acme \
  --api-url https://martha.acme.example \
  --keycloak-url https://auth.acme.example \
  --keycloak-realm acme

The hosted Martha cloud profile is explicit and uses martha.nomadriver.co plus the verified Frank Keycloak issuer:

bash
martha init --preset cloud

Bootstrap access in the same step ​

Run interactively and martha init does more than write a profile: after the URL prompts it offers to provision a grant-bearing principal so your first call just works — no waiting on an admin to hand-grant functions.

$ martha init
  ...URL prompts...
  Provision an access principal now so calls just work? [Y/n] y
  How will you run Martha?
    1) This machine (you)
    2) An integration / CI (service account)
  Choose [1] 1
  How will you use Martha? (comma-separated)
    1) rag — retrieve from collections (query, search, read)
    2) documents — browse + fetch documents
    3) workflows — execute workflows (grants the workflows + the rag read set)
    4) custom — pick exact functions / workflows yourself
  Select [1] 1
  Opening browser for login...
  Created client CLI · you · a1b2c3d4 (#42).
    Granted functions: query_collection, search_docs, read_doc, list_docs, list_collections, visual_search
    Profile cloud will now run as this client.

It logs you in (browser PKCE) if needed, creates a Client scoped to you (not the shared tenant default), grants exactly the read set for your declared intent, and wires the profile to run as that client. Re-running adopts the same principal instead of duplicating it.

You can skip the prompts — useful for scripted setup and CI:

bash
# Provision your own access non-interactively (must already be authenticated)
martha init --bootstrap --mode human --intent rag --yes

# Mint a service account for CI (admin only) — prints credentials once
martha init --bootstrap --mode integration --intent rag --label ci-rag --yes

The integration form prints copy-paste MARTHA_CLIENT_ID / MARTHA_CLIENT_SECRET exactly once — store them in your CI secrets, then authenticate with martha auth login --service-account. See the CLI guide for the full intent → grant table.

Add --agent to also provision a chat copilot you can talk to — martha init --bootstrap --intent rag --agent then martha chat "what can you do?". See Chat copilot.

If you'd rather authenticate manually and grant access separately, skip the bootstrap and use the steps below.

3. Authenticate ​

Three modes, depending on what you have:

bash
# Browser PKCE (interactive, for human developers)
martha auth login

# Headless password grant (scripted human login)
martha auth login --username [email protected] --password '...'

# Service account (CI, agent runtimes)
export MARTHA_CLIENT_ID="martha-tenant-acme-client"
export MARTHA_CLIENT_SECRET="..."
martha auth login --service-account

The credentials come from your tenant admin (see below).

4. Verify everything is wired up ​

bash
martha doctor

You should see five PASS lines (or the API auth check WARN-skipped if you haven't authenticated yet). Anything FAIL will print a specific remedy.

5. Run something ​

bash
martha agents list
martha functions list --json | jq '.[].name'
martha chat --client my-bot --message "Summarize what you can do."

Full command surface: martha --help or any subcommand --help.

Tenant onboarding ​

Martha is invite-only today — public self-serve sign-up isn't open yet. To get a tenant:

  1. Reach out to your contact at aiaiai-pt.
  2. They'll provision your tenant and hand you two credentials:
    • A client ID + client secret for service accounts and agent runtimes (machine-to-machine, no browser).
    • An email + temporary password for browser PKCE login.
  3. Use either set with martha auth login per the modes above.

Public sign-up opens once per-tenant rate limits and billing are in place.

What's next ​

Martha is built by aiaiai-pt.