Skip to main content

CLI for JABB Public API v1 — locations, CX scores, reviews, PNIF, sentiment.

Project description

jabb

CLI for JABB Public API v1 — locations, CX scores, reviews, PNIF, sentiment. A thin wrapper: every command is one HTTP GET, no business logic.

Install

pip install -e .

Quickstart

export JABB_API_KEY=jabb_test_...
jabb locations list

Time to first result: under 5 minutes from a minted key.

Usage

jabb [--json] [--detailed] <resource> list [--cursor <opaque>] [--limit <1-100>]

Resources: locations, scores, reviews, pnif, sentiment.

  • --json — print the raw API envelope ({"data": [...], "next_cursor": ...}) instead of a table. Use for scripting/agents.
  • --detailed — request more fields per row (costs more tokens/bandwidth).
  • --cursor — pass the previous response's next_cursor to page forward.
  • --limit — rows per page, 1-100, default 20.

Examples:

jabb scores list --detailed
jabb reviews list --limit 5
jabb pnif list --json
jabb locations list --cursor eyJwIjo... --limit 50

Auth

Set JABB_API_KEY to a key minted by your JABB admin (jabb_live_... in production, jabb_test_... for sandbox). No config file, no --api-key flag — env var only, so keys don't land in shell history.

For local development against a jabb-server instance running on your machine:

export JABB_API_BASE_URL=http://127.0.0.1:5500

Default base URL is https://api.jabb.cx. There is no automatic failover to api.jabb.pro — that host runs a separate, diverged database, and silently reading from it would risk returning stale data.

Exit codes

Code Meaning
0 Success
1 Generic API error
2 Auth/config error (missing/invalid/revoked key, wrong scope)
3 Rate limited (message includes retry-after seconds)

MCP server (agent integration)

jabb mcp starts a stdio MCP server that exposes the same 5 resources as agent tools, so any MCP host (Claude Code, Claude Desktop, Cursor…) can query your JABB data with nothing but an API key.

Tools exposed

Tool When to call
jabb_list_locations User asks about branches/stores or needs location IDs
jabb_get_cx_scores User wants quantitative CX quality metrics
jabb_list_quick_jabbs User wants individual evaluation content / verbatim feedback
jabb_get_pnif User asks for Price/Need/Impact/Frequency breakdown
jabb_get_sentiment User asks for sentiment labels or topic-level trends

All tools accept cursor, limit, response_format ("concise" | "detailed"). jabb_get_pnif and jabb_get_sentiment also accept language (ISO 639-1: en/fr/ar).

Responses are capped at ~25 KB. When truncated, the payload includes "truncated": true and preserves the original next_cursor so the agent can page forward.

API errors are returned as tool errors carrying the API's code + hint verbatim. 429 errors also include Retry-After seconds.

Connect from Claude Code

# One-time setup (project scope):
claude mcp add jabb -- jabb mcp

Or add a project-scope .mcp.json at your repo root:

{
  "mcpServers": {
    "jabb": {
      "command": "jabb",
      "args": ["mcp"],
      "env": {
        "JABB_API_KEY": "${JABB_API_KEY}"
      }
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "jabb": {
      "command": "jabb",
      "args": ["mcp"],
      "env": {
        "JABB_API_KEY": "jabb_live_..."
      }
    }
  }
}

Environment variables

Variable Required Default Description
JABB_API_KEY Yes API key minted by your JABB admin
JABB_API_BASE_URL No https://api.jabb.cx Override for local dev

For Claude Code users

See skills/jabb-cx/SKILL.md — copy it into your project's .claude/skills/jabb-cx/ to let Claude Code drive this CLI directly when you ask about your CX data. The MCP server (jabb mcp) is an alternative path that works with any MCP-capable host without the skill.

Scope

Read-only. list operations against 5 resources, nothing else. No write/create/update commands exist.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jabb_cli-0.2.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jabb_cli-0.2.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file jabb_cli-0.2.0.tar.gz.

File metadata

  • Download URL: jabb_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for jabb_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 09e09dab7c89404471c9d9c6a69c8ebba69780d19618b02237e98fa11cad52d2
MD5 f54a6d9cb4830dd8150769d0973cd94d
BLAKE2b-256 2046e8c6ab589411fec466d8810e67f335c5f3ce815326844fe2d04ec1993454

See more details on using hashes here.

File details

Details for the file jabb_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: jabb_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for jabb_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b75c0a1a551ffe21e75dfd6428b7b54e4156b3ccee35ec3ed0d3862bddae15c1
MD5 220fb01fe6f576f5724b56f26e80a7b9
BLAKE2b-256 68eafed466097cb1617408133ad68936664c43948a4d76acfed93e216307d81a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page