npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

jaz-clio

v5.61.1

Published

Clio: Command Line Interface Operator for Jaz AI.

Downloads

19,201

Readme

Clio

371 tools · 73 command groups · 7 skills · 13 calculators · 12 close playbooks · 159 field-tested API rules.

npm install -g jaz-clio

Node.js 18+. Works with Jaz and Juan Accounting on the same API.

Contents

Three ways in

| | What it is | Try it | |---|---|---| | CLI | Every accounting operation as a command | clio invoices list | | MCP | A local server for Claude Code, Cursor, Codex, Copilot | clio mcp | | Skills | Teach any agent the Jaz API, no server needed | clio init |

On top of these, one layer for accountants closing real books across many companies: Jaz Kit.

CLI

clio invoices create --contact "ACME" --json           # draft an invoice, JSON back
clio bank import --file statement.csv --account <id>    # import and auto-reconcile
clio exports download --type profit-and-loss --format PDF  # download the P&L as a PDF
clio calc lease --payment 5000 --term 36 --rate 5      # IFRS 16, offline, instant
clio jobs month-end --period 2026-03                   # step-by-step close playbook
clio magic create --file receipt.pdf                   # AI extracts, drafts the transaction
clio invoices search --query 'status:unpaid AND $500+' # structured per-entity search
clio ledger-find-fix preview --level TRANSACTIONS --input recode.json  # find & fix (recode) across record types

73 command groups, 16 report types, 13 calculators, 12 job playbooks. Every command takes --json. Run clio --help for the full list.

Foreign currency

Rates read base→source: 1 unit of your organization's base currency = N units of the foreign one. Whether that matches how the rate was quoted to you depends on which side your base currency is on — an SGD-base org quoting "1 USD = 1.35 SGD" has it backwards and needs 0.74, while a USD-base org quoting "1 USD = 56.5 PHP" already has it right and sends 56.5 unchanged.

You do not have to flip it. Pass the number as you have it and say which way it reads:

# "1 USD = 1.35 SGD", from a bank statement, on an SGD-base org
clio invoices create --currency USD --exchange-rate 1.35 \
  --rate-direction SOURCE_TO_FUNCTIONAL ...

# 0.74, straight out of clio currency-rates list
clio invoices create --currency USD --exchange-rate 0.74 ...

Omit --exchange-rate entirely to use the organization's stored rate, or the platform daily rate when none is set. clio calc fx-reval requires --rate-direction explicitly — that calculator takes rates in the opposite direction to the API, and guessing would silently change a number that ends up in a journal.

MCP server

371 tools for any AI agent that speaks MCP. Runs locally: no cloud, no ports.

No install at all? Claude.ai, ChatGPT, Cowork, and Microsoft Copilot Studio can use Jaz through the hosted connector. Add https://mcp.jaz.ai/mcp as a custom connector and sign in with OAuth, no key. The local setup below is for terminal use, scripting, and editors that run MCP servers as local processes.

Run clio auth login once on this computer before enabling local MCP.

Claude Code

claude mcp add jaz -- npx jaz-clio mcp

Cursor · VS Code · Windsurf

{
  "mcpServers": {
    "jaz": {
      "command": "npx",
      "args": ["-y", "jaz-clio", "mcp"]
    }
  }
}

OAuth can reach the organizations granted at sign-in; name the organization on each call. Optional key-based access also supports comma-separated keys or a personal access token.

{ "env": { "JAZ_API_KEY": "jk-org1-key,jk-org2-key" } }

Skills

159 API rules from production testing: field-name maps, error-recovery patterns, response-shape quirks, plus 12 job playbooks. Installable into any agent project, no server involved.

clio init                     # auto-detect the agent, install skills + agent-rules
clio init --platform cursor   # explicit platform
clio init --no-rules          # skills only, skip the agent-rules file

init detects the agent (Claude Code, Codex, Copilot, Cursor, Antigravity, Gemini, Windsurf, Goose) and installs the right skill files. It also writes a one-page jaz-agent-rules.md to the file your platform reads on open (CLAUDE.md, AGENTS.md, .github/copilot-instructions.md, .cursor/rules/jaz.mdc, .windsurf/rules/jaz.md, or GEMINI.md), so every session starts with the tool-discovery flow and the API gotchas already loaded.

Jaz Kit · run your practice

The workspace layer for closing real books, whether that is one company or fifty.

A close is not one conversation. Month-end runs many steps over several days, and an accountant serving eight clients runs it eight times, with eight different sets of bank accounts, materiality thresholds, and recurring entries. Jaz Kit gives each company a folder that remembers all of it, so no session re-asks what it should already know.

/jk-setup                 create a company workspace, connect its key
/jk-open acme             load its context, verify the connection
/jk-close 2026-06         run the close, resumable across sessions
/jk-review                approve the drafts waiting on you
/jk-status                every company: what is due, what is pending
/jk-exit                  wrap up and journal the session

Also /jk-keys, /jk-policy, /jk-teach, /jk-save, /jk-help. /jaz-* runs a single workflow; /jk-* runs your practice.

Each company lives under ~/Documents/Jaz Kit/orgs/<company>/, holding its close config, policies, and organization ID. OAuth credentials stay outside the kit. Pin that ID on every CLI or MCP call and verify it before working. Existing per-company API keys remain optional.

Everything is drafted first, every record carries a link into Jaz for you to review, and an interrupted close resumes exactly where it stopped. Multi-company work needs this CLI, which you already have. Full guide in the repository README.

Auth

clio auth login           # Sign in to Jaz in your browser
clio auth whoami          # verify

Pin an OAuth organization with --org oauth:<resourceId>. For optional API-key access, set JAZ_API_KEY or register a key using clio auth add and pass --org <label>. Every command takes --json for structured output.

Semantic help-center search (optional)

search_help_center runs keyword search over the bundled help-center corpus by default. Set CLIO_HELP_CENTER_OPENAI_API_KEY to add semantic search, which matches on intent rather than exact keywords: the CLI embeds only your query through the OpenAI embeddings API (text-embedding-3-small, the model the bundled index was built with) and merges both rankings. On an auth failure it warns once and falls back to keyword search. Use a project-scoped key restricted to embedding models with a low monthly cap. CLI only: MCPB installs ship without the embedding index and always use keyword search.

Privacy

Runs on your machine. Calls go to the Jaz API over HTTPS. No telemetry, no data collection.

Support

help.jaz.ai · [email protected]

License

MIT

OAuth sign-in (default)

Run clio auth login to open Jaz sign-in. CLI and local MCP share the session and refresh tokens automatically. Add --no-browser to open the printed link yourself on the same computer. Agents can use --json; the sign-in link is printed to stderr, and stdout contains only the result and organization choices.

Use clio auth organizations --json to list accessible organizations, clio auth select <resourceId> to select one, and --org oauth:<resourceId> on every organization-scoped command to pin it. clio auth logout removes the local session without deleting API-key profiles; revoke its grant in Jaz to remove remote access.

API-key profiles, --api-key, JAZ_API_KEY, and PATs remain supported. Use --org oauth:<resourceId> for OAuth or --org <label> for a saved key profile; either overrides an inherited JAZ_API_KEY. Without --org, the environment key still takes precedence. Do not combine --api-key with --org. Do not share OAuth storage or commit it to a workspace.