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

@black-knight.dev/emet

v2.0.0

Published

Zero-setup grounded web research MCP server and Pi extension for AI coding agents.

Readme

emet

emet logo

npm version package

Zero-setup grounded research for AI coding agents.

Pinned: docs index · tool reference · host setup · 5-minute quickstarts · examples · SECURITY · contributing · changelog · 2.0.0 release notes

emet gives agents live, cited answers from the web, docs, repositories, papers, and selected community/media sources — without adding tool sprawl.

Current shape: public tools stay exactly emet + web_fetch. Community/media retrieval is read-only and explicit. Supported backends today: Hacker News, Reddit, V2EX, GitHub, RSS/Atom, YouTube. Not every social network is supported, and factual/high-risk claims still require authoritative follow-up.

emet in action

Why emet

Most search tools return links. emet returns research the agent can use directly:

  • live sources with citations
  • authority-aware ranking for docs, security, versions, and changelogs
  • strict host allowlists when you need fail-closed source control
  • conflict handling instead of silent averaging
  • local repo grounding via options.files
  • optional full page text via web_fetch or options.rawPages: true
  • explicit community/media retrieval when web docs are not enough

Public tool surface

| Tool | Use it for | | --- | --- | | emet | Live research, docs lookup, comparisons, papers, security checks, community/media retrieval, checkpointed sessions | | web_fetch | Raw text for one known URL through emet's fetch/cache pipeline |

That is intentional: no emet_search, emet_fetch, or collector-specific public tools.

Community and social/media support

emet is no longer web-only.

Supported read-only community/media backends today:

| Backend | What it is good for | | --- | --- | | hn | Hacker News discussions and launch reactions | | reddit | Reddit threads and community sentiment | | v2ex | V2EX threads and community chatter | | github | repos, issues, and code-search-style context | | rss | feed-backed updates and mention tracking | | youtube | metadata/transcript-oriented retrieval when available |

Use them explicitly with options.platforms, or ask with clear platform wording.

Important guardrail: community/social results are signals, not automatic truth. For CVEs, vendor status, deprecations, outages, medical/legal topics, and other high-risk claims, emet follows up with stronger sources.

Quick start

Pi

pi install npm:@black-knight.dev/emet

MCP / CLI

npm install -g @black-knight.dev/emet
emet doctor
emet
  • emet doctor checks the local install.
  • plain emet starts the MCP stdio server.
  • emet fetch <url> [--json] is the CLI equivalent of web_fetch.
  • emet init <host> --print|--write writes known-good host configs.

Host setup

| Host | Fastest setup | Config | | --- | --- | --- | | Claude Code | claude mcp add emet -- emet | configs/claude-code/mcp.json | | Codex | emet init codex --write | configs/codex/config.toml | | Cursor | emet init cursor --write | configs/cursor/mcp.json | | VS Code / Copilot | emet init vscode-copilot --write | configs/vscode-copilot/mcp.json | | Gemini CLI | emet init gemini --write | configs/gemini/settings.json | | Pi | pi install npm:@black-knight.dev/emet | extension entrypoint shipped in package |

More copy-paste setup lives in docs/quickstarts.md.

Example calls

Current docs / API lookup

{
  "query": "current MCP sampling docs",
  "mode": "code",
  "options": {
    "requireAuthoritative": true,
    "hostAllowlist": ["modelcontextprotocol.io", "github.com/modelcontextprotocol"]
  }
}

Community + GitHub research

{
  "query": "What are developers saying about React 19 upgrade pain?",
  "mode": "deep",
  "options": {
    "platforms": ["hn", "github"],
    "interactive": true,
    "maxResultsPerPlatform": 5
  }
}

Full raw page text in the research result

{
  "query": "MCP tool schema docs",
  "mode": "code",
  "options": { "rawPages": true }
}

Raw text for one known URL

Use this first when you already know the page you want. It is faster and more reliable than a deep search round.

{
  "url": "https://modelcontextprotocol.io/docs/develop/build-server"
}

More examples: docs/examples.md

CLI helpers

emet doctor
emet init claude-code --print
emet init cursor --write
emet fetch https://example.com/docs --json

Safety, privacy, and telemetry

  • Security reporting lives in SECURITY.md.
  • emet is read-only.
  • Queries, prompts, URLs, source contents, file paths, tokens, and secrets are not collected by the default telemetry described below.
  • Anonymous runtime usage analytics are provided by pinglet.

Opt out anytime:

DO_NOT_TRACK=1 emet
PINGLET_OPT_OUT=1 emet
emet --no-telemetry

Docs

Start here:

Contributing

See CONTRIBUTING.md.

Local verification gate:

npm run check

License