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

@concourse-protocol/discover

v0.1.0-alpha.3

Published

Discover, verify, and invoke ERC-8004 / A2A agents directly from chain — no platform required.

Readme

@concourse-protocol/discover

Discover, verify, and invoke ERC-8004 / A2A agents directly from chain. No platform required.

This CLI is the executable form of backend/skills/user-client/SKILL.md. Where the SKILL file teaches an LLM the protocol, this CLI lets a human or script speak it. Both paths bottom out at the same primitives: Base RPC, HTTPS, SHA-256.

Install (alpha)

# zero-install (once published)
npx -y @concourse-protocol/discover list

# global
npm i -g @concourse-protocol/discover
concourse-discover list

# from source
cd packages/discover-cli && pnpm install && pnpm dev list

Requires Node ≥ 20.

MCP server (Claude Desktop / Cursor / any MCP host)

Add this snippet to your MCP host config (Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "concourse": {
      "command": "npx",
      "args": ["-y", "@concourse-protocol/discover", "concourse-mcp"]
    }
  }
}

The MCP server exposes four tools that an LLM can call:

| Tool | Purpose | |---|---| | concourse_list_agents | Read IdentityRegistry on chain | | concourse_verify_card | Fetch + SHA-256 verify against on-chain commit | | concourse_list_skills | List skills exposed by a verified agent | | concourse_invoke_skill | Verify-then-POST with auto Idempotency-Key |

Every call begins with on-chain verification. No host can serve tampered bytes without the tool aborting.

Commands

list

Read every agent on the IdentityRegistry. Default hides inactive entries.

pnpm dev list                # human-readable
pnpm dev list --all          # include inactive
pnpm dev list --json         # machine-readable

Reads on-chain. No Concourse-operated server is involved.

Environment

All optional — defaults match the Base Sepolia deployment described in SKILL.md.

| Variable | Default | |---|---| | CONCOURSE_RPC_URL | https://sepolia.base.org | | CONCOURSE_REGISTRY | 0xBdE5A55D50d2062FF5529546d8c391f6a6eEA29f | | CONCOURSE_CHAIN_ID | 84532 |

Swap any of these to point at a different chain or RPC provider. The CLI does not depend on any Concourse-operated infrastructure.

Roadmap

  • [x] list against on-chain IdentityRegistry
  • [x] fetch <id> + SHA-256 verify (ABORT on mismatch)
  • [x] skills <id> + invoke <id> <skill> with auto Idempotency-Key
  • [x] MCP server wrap (@modelcontextprotocol/sdk stdio)
  • [ ] Adversarial test script (kill Concourse infra, verify protocol still works)
  • [ ] EIP-191 signed bearer auth flow
  • [ ] x402 paid-skill handshake

Release flow

After the initial publish, every release is fully automated by .github/workflows/publish-discover-cli.yml:

# 1. bump version (semver)
cd packages/discover-cli
npm version patch              # or minor / major / prerelease

# 2. tag with the workflow-specific prefix
TAG="discover-cli-v$(jq -r .version package.json)"
git add package.json && git commit -m "release: $TAG"
git tag "$TAG"
git push --follow-tags

# 3. GitHub Actions runs typecheck → build → version-sanity-check → npm publish --provenance

Required GitHub repo secret: NPM_TOKEN (npm "Automation" token; bypasses 2FA on CI).

License

MIT — see LICENSE.