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

@hasna/mcps

v0.0.31

Published

Meta-MCP registry & CLI — discover, manage, and proxy MCP servers

Downloads

2,100

Readme

@hasna/mcps

Meta-MCP registry & CLI — discover, manage, and proxy MCP servers

npm License

Install

npm install -g @hasna/mcps

CLI Usage

mcps --help
  • mcps list
  • mcps search
  • mcps add
  • mcps remove
  • mcps enable
  • mcps disable
  • mcps tools
  • mcps call
  • mcps info
  • mcps doctor
  • mcps providers list
  • mcps providers search github
  • mcps providers install github
  • mcps env list <server-id>
  • mcps env ref <server-id> API_KEY=UPSTREAM_API_KEY --source env
  • mcps machines list
  • mcps machines add --host linux-node-a --platform linux --arch arm64
  • mcps machines seed-defaults
  • mcps fleet catalog
  • mcps fleet health --refresh
  • mcps fleet install --yes

Fleet Operations

Use machine registration plus fleet health/install commands to manage @hasna/* MCP packages across multiple hosts over SSH.

mcps machines add --host linux-node-a --username hasna --platform linux --arch arm64
mcps machines add --host macos-node-a --platform darwin --arch arm64
mcps fleet health --refresh
mcps fleet install --yes --mode missing-or-outdated

Notes:

  • Fleet commands only target enabled machines.
  • mcps fleet install requires --yes because it performs remote installs.
  • Targets need SSH access plus node and either bun or npm available remotely.
  • Use -j or --json on the new machines and fleet commands for scriptable output.

Curated Provider Profiles

mcps providers exposes a curated catalog of common MCP providers with source, auth, transport, and install metadata. The default catalog includes Notion, Linear, GitHub, Slack, Gmail, Google Drive, Google Calendar, Stripe, Cloudflare, PostgreSQL, filesystem, and browser automation profiles.

mcps providers list
mcps providers info github --json
mcps providers install github

Direct remote providers install as HTTP/SSE entries. Local stdio fallbacks such as PostgreSQL, filesystem, and Playwright browser automation require explicit local command consent before registration.

Credential References

Secret-like environment keys and values are rejected from plain server env storage. Use credential references instead so exports, MCP tools, API responses, logs, and diagnostics never contain raw credential values.

mcps add --yes --name notion npx -y @notion/mcp --credential-env NOTION_TOKEN=NOTION_TOKEN
mcps env ref notion API_KEY=UPSTREAM_API_KEY --source env
mcps env ref notion API_KEY=notion-token --source local-vault
mcps env ref notion API_KEY=cred_123 --source hosted

Local runtime resolution supports env and local-vault references. The local vault defaults to ~/.hasna/mcps/credentials.local.json; set HASNA_MCPS_CREDENTIAL_VAULT_PATH to use a different JSON file. Hosted credential references are recorded for platforms that resolve credentials outside the local runtime.

MCP Server

mcps-mcp

The MCP server exposes registry, finder, machine registry, and fleet orchestration tools.

Data Directory

Data is stored locally in ~/.hasna/mcps/ by default.

  • Set HASNA_MCPS_DATA_DIR to override the data directory.
  • Set HASNA_MCPS_DB_PATH to point at a specific SQLite database file.
  • Set HASNA_MCPS_STORAGE_MODE=local to make the storage mode explicit.

Postgres Storage Sync

Local SQLite remains the runtime source of truth. Hosted deployments can mirror app-owned registry tables through a Postgres database without any shared runtime package.

export HASNA_MCPS_DATABASE_URL=postgres://...

mcps storage status
mcps storage push
mcps storage pull
mcps storage sync

Use MCPS_DATABASE_URL as the fallback variable. The MCP server exposes the same flow through storage_status, storage_push, storage_pull, and storage_sync.

storage sync uses freshness columns when a table has one and otherwise preserves existing conflicting rows. It mirrors rows only; deletes are not propagated. Remote or hosted deployments should keep this as an mcps-owned storage adapter or service boundary. This package owns its database adapter and MCP tool surface.

License

Apache-2.0 -- see LICENSE