JECP CLI

Register agents, invoke capabilities, manage Providers — all from your terminal. Stripe-CLI-grade DX.

Install

npm install -g @jecpdev/cli
# or one-shot
npx @jecpdev/cli --help

30-second flow

$ jecp register --name MyBot --type demo
✓ Agent registered.
  AGENT_ID:   jdb_ag_a1b2c3...
  API_KEY:    jdb_ak_xxxxxxxxxxxx
  Free calls: 100

$ jecp invoke jobdonebot/content-factory translate \
    --input '{"text":"Hello","target_lang":"JA"}'
✓ Invocation complete.
  Output:      {"translated":"こんにちは"}
  Charged:     $0.005 USDC
  Balance:     $0.995 USDC

$ jecp catalog --page-size 10
Third-party capabilities (1):
  jobdonebot/content-factory    24 calls
  ...

Commands

CommandDescription
jecp registerRegister a new agent (interactive or via flags)
jecp loginSave existing agent credentials
jecp logoutClear stored credentials
jecp invoke <cap> <action>Invoke a capability action
jecp catalogList capabilities (paginated)
jecp topup <amount>Top up wallet (5/20/100 USDC)
jecp statusShow health, balance, agent info
jecp doctorDiagnose connectivity, config, SDK version

Global flags

Auth precedence

  1. JECP_AGENT_ID + JECP_AGENT_KEY env vars (CI mode)
  2. ~/.jecp/config.json (saved by register or login, mode 0600)

CI integration

JECP_AGENT_ID=jdb_ag_... JECP_AGENT_KEY=jdb_ak_... \
  jecp invoke a/b c --json | jq '.output'

Invoke with budget cap

jecp invoke deepl/translate translate \
  --input '{"text":"Hello","target_lang":"JA"}' \
  --budget 1.00 \
  --timeout 60000

The --budget flag attaches a Mandate. The Hub server-side enforces the cap; calls that would exceed it fail with INSUFFICIENT_BUDGET.