Proof Of Commitment logo

Proof Of Commitment

by piiiico

Scores npm, PyPI, Cargo, and Go packages on supply chain risk using behavioral trust signals without requiring an API key.

Install Proof Of Commitment

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "piiiico-proof-of-commitment": {
      "command": "npx",
      "args": [
        "-y",
        "proof-of-commitment"
      ]
    }
  }
}

Settings β†’ Developer β†’ Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-testedβ€” we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

This MCP server evaluates software packages across multiple ecosystems by analyzing behavioral commitment signals such as publisher depth, release consistency, and maintenance patterns. It identifies supply chain risks like publish-access concentration that traditional vulnerability scanners and popularity metrics miss. The server offers a free CLI, CI integration with fail-on-level gating, and a REST API with no authentication required. Use it to audit dependencies for hidden supply chain risks in development and CI workflows.

Use cases

  • Audit project dependencies for supply chain risk
  • Integrate supply chain risk checks into CI pipelines
  • Query package behavioral trust scores via REST API
  • Detect publish-access concentration risks in package ecosystems

Key features

  • Supports npm, PyPI, Cargo, and Go package ecosystems
  • Provides behavioral trust signals like publisher depth and release consistency
  • Offers CLI with zero-install auto-detection of manifests
  • Includes CI gate with configurable fail-on risk levels
  • Outputs JSON and SARIF for integration with downstream tools
  • No API key or login required

Security & health

What it can reach and how reliably it runs β€” from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

10/11 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 8d ago via OSV.dev Β· proof-of-commitment (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks β€” not a rating.

GitHub stars8Stargazers on the source repository.
npm downloads3.8kPackage downloads in the last 30 days.
Last commit23d agoMost recent push to the default branch.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

Proof of Commitment

Commitment Score npm downloads Mentioned in Awesome MCP Servers

Stars lie. Behavioral signals don't.

An MCP server and web tool that scores npm packages, PyPI packages, Rust crates, Go modules, and GitHub repos on behavioral commitment β€” signals that are harder to fake than stars, READMEs, or download counts.

text
$ npx proof-of-commitment axios zod chalk lodash minimatch
Scoring 5 npm packages... done in 3.0s

Package      Risk          Score   Publishers   Downloads      Age    Provenance
chalk        πŸ”΄ CRITICAL   72      1            432.9M/wk      14.6y  β€”
minimatch    πŸ”΄ CRITICAL   78      1            634.1M/wk      14.9y  β€”
lodash       πŸ”΄ CRITICAL   80      1            158.9M/wk      14.1y  β€”
zod          πŸ”΄ CRITICAL   83      1            161.2M/wk      6.3y   πŸ” verified
axios        πŸ”΄ CRITICAL   88      1            115.7M/wk      11.8y  πŸ” verified
                ⚠ COMPROMISED β€” axios token theft (2026-03-30)

⚠  5 CRITICAL packages found.
   CRITICAL = sole npm publisher + >10M weekly downloads (publish-access concentration risk)

npm audit flags none of these. They're not vulnerabilities β€” they're attack-surface concentration. One stolen npm token, one phished maintainer, and a single push reaches the whole ecosystem (axios, March 30 2026 β€” happened).

The supply chain problem

26 of the 91 npm packages with >10M weekly downloads have a single npm publisher. Together they account for over 3 billion downloads per week. npm audit doesn't surface this. Stars don't either.

Four packages in a typical Node.js project are CRITICAL right now:

  • chalk β€” 432M downloads/week, 1 npm publisher
  • zod β€” 185M downloads/week, 1 npm publisher (30+ GitHub contributors)
  • lodash β€” 156M downloads/week, 1 npm publisher
  • axios β€” 113M downloads/week, 1 npm publisher (attacked March 30, 2026)

They won't appear in your package.json either β€” but these are in almost every project:

  • minimatch β€” 625M downloads/week, 1 npm publisher
  • glob β€” 366M downloads/week, 1 npm publisher
  • cross-spawn β€” 215M downloads/week, 1 npm publisher

Behavioral signals surface this. Stars and READMEs don't.

Quick install (MCP)

No login required. Add to any MCP-compatible AI tool and start querying supply chain risk.

Claude Desktop

Open ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (config file reference) or %APPDATA%\Claude\claude_desktop_config.json on Windows, then add:

config.json
{
  "mcpServers": {
    "commit": {
      "type": "streamable-http",
      "url": "https://poc-backend.amdal-dev.workers.dev/mcp"
    }
  }
}

Restart Claude Desktop. A tool icon appears in the chat input β€” ask it to audit your package.json.

Cursor

Open ~/.cursor/mcp.json (Cursor MCP docs) and add:

config.json
{
  "mcpServers": {
    "commit": {
      "type": "streamable-http",
      "url": "https://poc-backend.amdal-dev.workers.dev/mcp"
    }
  }
}

Smithery (once indexed)

Terminal
npx -y @smithery/cli install proof-of-commitment --client claude

Try it now

Terminal (zero install):

bash
# New in v1.8.0: zero-arg auto-detect β€” cd into any project, run once:
npx proof-of-commitment
# Picks the highest-coverage manifest in cwd (package-lock.json > yarn.lock >
# pnpm-lock.yaml > pnpm-workspace.yaml > package.json; requirements.txt;
# Cargo.toml; go.sum > go.mod). When multiple ecosystems are present, the
# file with the most recent mtime wins.

# Explicit package list still works:
npx proof-of-commitment axios zod chalk

# Or point at a specific file:
npx proof-of-commitment --file package.json
npx proof-of-commitment --file package-lock.json   # npm (transitive)
npx proof-of-commitment --file yarn.lock           # yarn
npx proof-of-commitment --file pnpm-lock.yaml      # pnpm
npx proof-of-commitment --file pnpm-workspace.yaml # pnpm monorepo
npx proof-of-commitment --pypi litellm langchain requests
npx proof-of-commitment --cargo serde tokio reqwest
npx proof-of-commitment --golang github.com/gin-gonic/gin golang.org/x/net
npx proof-of-commitment --file go.mod
npx proof-of-commitment --file go.sum              # full transitive Go set

# JSON output for downstream tools:
npx proof-of-commitment --file package-lock.json --json | jq '.criticalCount'

CI integration (v1.8.0+)

--fail-on=<level> turns the CLI into a one-line CI gate. No GitHub Action required.

yaml
# .github/workflows/supply-chain.yml
name: Supply Chain
on: [pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npx -y proof-of-commitment --fail-on=critical

Levels:

--fail-onExit 1 when…
criticalany package is flagged CRITICAL (publish-access concentration)
riskyany package is CRITICAL or HIGH (score < 40)
nonenever β€” report only

Defaults: critical in CI (when CI=true is set, which every major CI runner does) and for --json output. Interactive (TTY, non-CI) keeps the v1.7 default of exit 0 β€” running locally won't break your shell habits.

The dedicated piiiico/commit-action@v1 is still the right choice when you want PR comments and step summaries; --fail-on is for minimal pipelines that just need a yes/no answer.

SARIF output for GitHub Code Scanning (v1.26.0+)

--sarif outputs SARIF 2.1.0 β€” the standard format for static analysis results. Upload it to GitHub Code Scanning and Commit findings appear in the Security tab alongside CodeQL and Snyk.

yaml
# .github/workflows/supply-chain.yml
name: Supply Chain
on: [pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    permissions:
      security-events: write
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npx -y proof-of-commitment --file package-lock.json --sarif --fail-on=none > results.sarif
      - uses: github/codeql-action/upload-sarif@v3
        if: always()
        with:
          sarif_file: results.sarif
          category: commit-supply-chain

CRITICAL and HIGH packages show as alerts in the repo's Security tab. Compromised packages (in the Commit incident registry) get a separate alert. --fail-on still controls the exit code independently β€” use --fail-on=critical to also block the PR.

Web demo (no install): getcommit.dev/audit β€” paste your packages, see risk scores in seconds.

IDE Hooks (Cursor + Claude Code + Windsurf)

poc hook installs a supply chain gate for Cursor (beforeShellExecution), Claude Code (PreToolUse), and Windsurf (pre_run_command) in one command. The same hook script intercepts package installs from any agent, auto-detects which client called it, and blocks CRITICAL packages before they run.

bash
# Install for the current project (writes .cursor/hooks.json + .claude/settings.json + .windsurf/hooks.json):
poc hook

# Or protect every project for your user:
poc hook --global

# Narrow to one client:
poc hook --cursor          # only .cursor/hooks.json
poc hook --claude-code     # only .claude/settings.json
poc hook --windsurf        # only .windsurf/hooks.json

# Remove (cleans all three):
poc hook --uninstall

The hook writes .cursor/hooks.json, .claude/settings.json, and .windsurf/hooks.json (project) or the equivalents under ~/ (with --global). When Cursor, Claude Code, or Windsurf runs npm install axios, pip install litellm, cargo add serde, or go get github.com/gin-gonic/gin, the hook calls the Commit API and either blocks, warns, or allows β€” in under 500ms.

What gets intercepted:

Package managerExample command
npm / npxnpm install <pkg>, npm add <pkg>
pnpmpnpm add <pkg>
yarnyarn add <pkg>
pip / pip3 / uvpip install <pkg>
cargocargo add <pkg>, cargo install <pkg>
gogo get <module>, go install <module>

Why this matters: Supply chain attacks now happen in minutes. The Shai-Hulud worm (May 2026) compromised 637 packages in 39 minutes and specifically targeted AI coding assistants β€” planting persistence hooks in .claude/settings.json and .vscode/tasks.json. When your AI assistant installs a dependency, it bypasses the human review that used to be the last line of defense. poc hook puts a gate back in β€” same gate, whether Cursor, Claude Code, or Windsurf is driving.

Default behavior: CRITICAL packages (sole npm publisher + >10M downloads/week β€” the exact LiteLLM/axios attack profile) are blocked. HIGH packages trigger an "ask user" prompt (Cursor/Claude Code) or are blocked with a message (Windsurf). Set COMMIT_HOOK_SEVERITY_BLOCK=HIGH to block both.

With an API key: poc login sk_commit_… before running poc hook β€” the key is embedded in the hook config and lifts the rate limit.


Get notified before the next attack

The CLI tells you what's risky today. A free API key unlocks monitoring β€” score recomputation across the packages you depend on, with alerts when one degrades (publisher drops, release stalls, score falls β‰₯10 points).

Reviews

No reviews yet β€” be the first to share how it worked for you.

Frequently Asked Questions about Proof Of Commitment

No, the server does not require any API key or authentication to use.

It supports npm, PyPI, Rust Cargo, and Go modules.

It uses behavioral signals such as publisher count, release consistency, and maintenance patterns to score supply chain risk.

Yes, it supports a CLI flag to fail builds based on risk levels and can output SARIF reports for GitHub Code Scanning.

No, it detects supply chain risk related to package maintenance and publisher concentration, not code vulnerabilities.

Related MCP servers

Add a badge to your READMEShow it’s listed β€” live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewProof Of Commitment AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/piiiico-proof-of-commitment?style=directory)](https://allmcps.com/mcp/piiiico-proof-of-commitment)
HTML Embed
<a href="https://allmcps.com/mcp/piiiico-proof-of-commitment"><img src="https://allmcps.com/api/badge/piiiico-proof-of-commitment?style=directory" alt="Proof Of Commitment on AllMCPs" /></a>