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

@attestd/mcp

v0.2.2

Published

MCP server exposing Attestd CVE and supply-chain checks for Claude Code and other MCP clients

Readme

@attestd/mcp

npm version smithery badge

Attestd checks whether a dependency version has exploitable CVEs or a confirmed supply-chain compromise. One API call returns a structured risk response.

Official Model Context Protocol (MCP) server for Attestd. Exposes CVE risk and supply-chain checks as tools for Claude Code, Claude Desktop, and any MCP-compatible client.

Get a free API key · Full docs

  • stdio transport: run via npx -y @attestd/mcp with no global install.
  • check_package_vulnerability: wraps GET /v1/check using @attestd/sdk.
  • check_batch_vulnerabilities: checks up to 100 packages in one call. Use for lockfile and manifest audits.
  • list_covered_products: returns supported infrastructure product slugs (static list). No API key required.

Prerequisites

  • Node.js 18+
  • An Attestd API key from the portal. Required for check_package_vulnerability and check_batch_vulnerabilities.

Claude Code / MCP config

Add to ~/.claude/mcp.json or project .mcp.json:

{
  "mcpServers": {
    "attestd": {
      "command": "npx",
      "args": ["-y", "@attestd/mcp"],
      "env": {
        "ATTESTD_API_KEY": "your-api-key-here"
      }
    }
  }
}

Optional: override the API base URL (e.g. dev):

"env": {
  "ATTESTD_API_KEY": "your-api-key-here",
  "ATTESTD_BASE_URL": "https://dev.api.attestd.io"
}

Tools

check_package_vulnerability

| Argument | Type | Description | | --------- | ------ | ----------- | | product | string | Product slug (nginx, postgresql, litellm, …) | | version | string | Exact version (1.20.0) |

Returns JSON with:

| Field | Meaning | | ----- | ------- | | outsideCoverage | true if the product is not covered. Unknown risk, not safe. | | riskState | critical | high | elevated | low | none | null when outside coverage | | activelyExploited | CISA KEV signal | | remoteExploitable | true if any matching CVE is remotely exploitable | | authenticationRequired | true only when all matching CVEs require authentication | | patchAvailable / fixedVersion | Patch guidance | | confidence | Synthesis confidence 0.0–1.0 | | cveIds | CVE IDs contributing to the risk assessment | | typosquat | Present when the package name resembles a known product | | message | Explanation when outsideCoverage is true | | supplyChainCompromised / supplyChainDescription | PyPI/npm supply-chain signal |

On invalid/missing API key or rate limit, returns isError: true with a JSON error string.

check_batch_vulnerabilities

| Argument | Type | Description | | -------- | ----- | ----------- | | items | array | Array of { product, version } objects. Maximum 100 per call. Each item costs one API call. |

Quota is checked upfront. If the batch would exceed your monthly quota, a 429 is returned before any calls are billed.

Returns JSON with count and results. Supported items include the same fields as check_package_vulnerability minus typosquat. Outside-coverage items return only product, version, outsideCoverage: true, and riskState: null.

list_covered_products

No arguments. Returns JSON with count and products (slug + display for each covered infrastructure product).

Verify locally

npm run build
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js

License

MIT. See LICENSE.