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.1.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.1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jabb_cli-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 98045fe40d0e2d3d35c28632b429558397c6f4c13dfc481ef41d2f2dc53056cf
MD5 33c3c75dbdb745510674d178582bb380
BLAKE2b-256 c21363d541e6c15eadf24877964f017077105a17241da2377280c633c9f2e891

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jabb_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 9.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 45ff8b5c8fa98e8f922e4a064fda4fef1cd2bb9b8ce10a2b594ec2a7ce4a5e08
MD5 73dec478efa2bda5892e90a9458db5f8
BLAKE2b-256 371e146248627c266930d868057f7cffdfc6ee0280a649ceee24ebad9544fad0

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