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

@dj_abstract/agent-capability-inventory

v0.1.0

Published

Data-sensitivity inventory for AI agent tool surfaces — catalog every MCP tool across your fleet, classify by risk and data sensitivity, feed governance workflows.

Readme

agent-capability-inventory

npm version license: MIT Node.js >=20

Data-sensitivity inventory for AI agent tool surfaces. Point it at your fleet of MCP servers; get back a catalog of every tool, each one classified by risk level, data sensitivity, and capability class. Feeds governance, DLP, and approval-flow decisions for agentic deployments.

Inventory + classification + policy is the DNA of every data-governance platform on the planet. This applies the same playbook to AI agents, where the "data" flows through tool calls instead of rows in a database.

Why

Large agentic deployments fan out across dozens of MCP servers. Each server has tools that read, write, call out, or act destructively. Today nobody's cataloging which tools touch which data at what sensitivity — the same category of problem that BigID, Varonis, and Immuta solved for traditional databases a decade ago.

Before you can govern or enforce policy on agent tool calls, you need an inventory. This tool produces it.

What it does

For every tool in every MCP server you scan, agent-capability-inventory assigns:

Data sensitivity tags (reads-* / writes-*):

  • pii · phi · financial · credentials · source_code · messaging · infra_config · logs_observability

Capability classes:

  • shell_exec · network_out · file_read · file_write · destructive · mutating · read_only

Risk score rolled up from the above: critical · high · medium · low · minimal.

Install

npm install -g @dj_abstract/agent-capability-inventory
# or one-shot:
npx @dj_abstract/agent-capability-inventory scan <path>

Usage

# Scan a directory of MCP manifests
agent-capability-inventory scan ~/path/to/manifests/

# Scan individual manifest or mcp-audit report JSONs
agent-capability-inventory scan brain-tools.json supabase.json

# Pipe from mcp-audit directly — works because mcp-audit >= 0.3.1 embeds
# the tool snapshot inside audit reports
mcp-audit scan --stdio "node server.js" --json /tmp/s.json
agent-capability-inventory scan /tmp/s.json --stdout

Outputs three artifacts (override paths with --json, --csv, --md):

| File | Purpose | |---|---| | inventory.json | Full machine-readable inventory — feed to downstream policy engines | | inventory.csv | Flat per-tool table — paste into BigID / governance worksheets | | inventory.md | Human-readable roll-up — for PR reviews, approval flows, exec readouts |

Example output

## Fleet summary

- **Servers:** 45
- **Tools:** 253

### Risk distribution

| Risk     | Tools |
|----------|------:|
| critical |     0 |
| high     |     1 |
| medium   |     7 |
| low      |    26 |
| minimal  |   219 |

### Capabilities (server coverage)

| Capability   | # servers |
|--------------|----------:|
| read_only    |        36 |
| mutating     |        16 |
| destructive  |        11 |
| file_read    |         2 |
| file_write   |         2 |
| shell_exec   |         1 |

### Data sensitivities (server coverage)

| Sensitivity           | # servers |
|-----------------------|----------:|
| reads-infra_config    |         6 |
| writes-infra_config   |         4 |
| reads-messaging       |         4 |
| reads-pii             |         2 |
| reads-financial       |         2 |
| reads-credentials     |         2 |

Classification approach

Name-based, deliberately narrow. Each tag is assigned only when the tool name contains an unambiguous verb+noun combination (e.g. get_customer_recordsreads-pii, execute_sqlshell_exec-adjacent). Descriptions are a weaker signal and get skipped unless they add unambiguous corroboration.

Why narrow: this inventory is intended to feed policy decisions. A policy like "tools tagged reads-credentials may not share a session with tools tagged network_out" is only actionable if the tagging has high precision. False-tagging a filesystem tool as reads-credentials because its description mentions "file system" would break trust in the whole inventory.

Analytics tools that return aggregates about sensitive data (get_leaked_credentials_data returning breach statistics) are not flagged as direct readers; the rule looks for analytics tokens (data, trend, stats, count, summary) as negation signals.

Roadmap

  • 0.2.0 — policy engine. Declare policies in YAML (policies/*.yaml), run them against the inventory, emit a violations report. Planned rule types:
    • cross-tool data flow ("reads-pii" → "writes-external")
    • lethal-trifecta by tag combinations (credentials + network-out on same server)
    • destructive-without-approval (destructive tools not gated behind a confirmation schema)
  • 0.3.0 — runtime enforcement hook. Emit a policy bundle consumable by agent-firewall so call-time middleware can enforce the inventory policies live.
  • Classification pipeline plugins — custom sensitivity taxonomies (HIPAA, PCI-DSS, GDPR-specific).
  • Baseline + drift integration — compare an inventory snapshot to a prior run; surface new tools that appeared across the fleet.

Related tools

Together they form a detect → inventory → test → defend pipeline for agentic applications.

License

MIT — see LICENSE.