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

@jpbonch/ferrite

v0.3.6

Published

Ferrite CLI for agent access to APIs

Readme

ferrite

Ferrite gives agents one gateway for discovering and calling external APIs without hardcoding provider-specific auth and billing logic. It packages the same flow as a CLI and an OpenClaw plugin so an agent can find the right service, call it, and handle setup/payment requirements consistently. In practice, this enables an agent to add capabilities like web/news search, scraping, maps/place lookup, CRM/workspace integrations, enrichment, and media generation through one consistent toolchain.

Website: useferrite.com

How Ferrite works (general flow)

  1. The agent starts with search to find matching services for a task.
  2. Ferrite returns service metadata, including a skill_url with request shape and usage notes.
  3. The agent calls use with the exact URL/method/headers/body for that service.
  4. Ferrite enforces auth, domain, and budget/payment policies before forwarding the request.
  5. If setup is missing, the agent calls configure; if spend context is needed, it calls status.

Install

npm install
npm run build

CLI commands

ferrite install
ferrite configure
ferrite search <query>
ferrite use <url> [--method GET|POST|PUT|PATCH|DELETE|...] [--header 'Content-Type:application/json'] [--body '{"hello":"world"}']
ferrite status

use accepts direct HTTPS URLs only, and only for whitelisted service domains (the APIs represented in skills/). Calls to non-whitelisted domains are rejected.

ferrite install

Installs and enables the Ferrite OpenClaw plugin, verifies required tools are available, runs initial configure, and schedules an OpenClaw gateway restart. An agent should call this for first-time OpenClaw setup when Ferrite is not yet installed and ready.

ferrite configure

Starts or resumes the Ferrite onboarding flow and returns the configure URL for billing and provider connections. An agent should call this when credentials are missing or when a request fails with setup-related errors like missing auth or payment method requirements.

ferrite search <query>

Searches Ferrite’s service catalog and returns matched services with domain and skill_url so the agent can choose the right integration. An agent should call this first for any task that may require an external API or paid capability.

ferrite use <url> ...

Sends an HTTP request through Ferrite using the selected service URL, method, headers, and body, then returns the API result plus payment/budget context when relevant. This only works for whitelisted APIs, which are the services documented in skills/; requests outside that allowlist are blocked. An agent should call this after selecting a service and preparing a concrete request from its skill instructions.

ferrite status

Shows weekly budget, spent amount, remaining budget, and recent charges for the current Ferrite account. An agent should call this when the user asks about spend limits, after billing-related failures, or before potentially expensive runs.

Billing behavior

  • You can begin using services without adding a payment method.
  • Ferrite allows up to $5.00 in accrued no-card usage.
  • When usage would exceed $5.00, ferrite use is blocked until billing is configured.
  • Weekly limit checks still apply independently of billing method.

OpenClaw plugin (primary OpenClaw path)

npx @jpbonch/ferrite install

Manual fallback sequence:

openclaw plugins install @jpbonch/ferrite
openclaw plugins enable ferrite
openclaw config set skills.entries.gog.enabled false --strict-json
openclaw config set skills.entries.weather.enabled false --strict-json
openclaw gateway restart
npx @jpbonch/ferrite configure

Plugin tools:

  • ferrite_configure: Returns a configure URL and setup state. Agents should call this when setup/auth/billing is required before continuing.
  • ferrite_search: Searches Ferrite services by keyword. Agents should call this first to discover the best service for a requested capability.
  • ferrite_use: Executes an HTTP call through Ferrite and returns result + action-required signals when applicable. Agents should call this after selecting a service and constructing the exact request payload.
  • ferrite_status: Returns budget/spend/remaining balance and recent charges. Agents should call this for budget checks and billing troubleshooting.

Credentials

Local credentials are in ~/.ferrite/credentials.json.

Skills

npm run skills:validate