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

@donately/mcp

v0.1.2

Published

Donately MCP server — wraps the public developer documentation as an MCP toolset for AI assistants (Claude, Cursor, etc.)

Readme

@donately/mcp

Donately's Model Context Protocol (MCP) server. Wraps the Donately public developer documentation as a toolset that AI assistants (Claude, Cursor, etc.) can call when their users are integrating Donately.

This is the first of two planned MCP surfaces:

  1. Dev-docs MCP (this package) — read-only access to API reference, embeddable form docs, components docs, and integration guides. No auth; published openly.
  2. Customer-data MCP (planned, July 2026) — OAuth-scoped access to a nonprofit's own Donately account (donations, donors, campaigns, etc.). Will live in this repo too, behind a separate transport.

Connecting it to your AI assistant

Option A: Hosted endpoint (recommended)

Point your client at the public Streamable HTTP endpoint:

https://mcp.donate.ly/mcp

For Claude Desktop / Cursor / any MCP-aware client, add it as an HTTP MCP server. No install, no auth, no configuration.

Option B: Local install via npx (stdio)

Useful for clients that only support stdio transport, or when you want to run the server entirely locally:

// ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
{
  "mcpServers": {
    "donately": {
      "command": "npx",
      "args": ["-y", "@donately/mcp"]
    }
  }
}

The package ships with the doc corpus baked in, so no network calls are made when you query it.

Tools exposed

  • search_docs(query, limit?, category?) — keyword search across the corpus
  • get_doc(path) — full Markdown body of a specific doc
  • list_docs(category?) — enumerate available docs

category is one of api, form, components, integrations.

Repository layout

docs/                Build artifact — synced from dev-hub. DO NOT EDIT.
  api/               /v2 REST API reference (one file per resource)
  form/              dntly-form embeddable donation form
  components/        dntly-components data-attribute UI library
  integrations/      Per-integration guides (Stripe, Salesforce, …)
src/
  mcp.ts             createServer() factory; tool definitions
  server.ts          stdio entrypoint (bin)
  server-http.ts     Streamable HTTP entrypoint (Railway)
  docs.ts            doc loader + in-memory keyword search
scripts/
  sync-docs.ts          dntly-developer-hub MD → docs/ (run before publish)
  convert-html-docs.ts  HTML → MD bootstrap (writes into dev-hub)

Updating the docs

The canonical Markdown corpus lives in dntly-developer-hub at docs/markdown/, not in this repo. To make a doc edit:

  1. Edit the Markdown file in dev-hub (~/Sites/dntly-developer-hub/git-repo/docs/markdown/<area>/<slug>.md).
  2. Commit the dev-hub change.
  3. From this repo, run npm run sync-docs to copy the latest snapshot into docs/.
  4. Commit the resulting docs/ change here.
  5. Push both repos.

npm publish runs sync-docs automatically via prepublishOnly, so the published npm tarball always reflects the latest dev-hub corpus.

If the underlying HTML in dev-hub changes (rare — that's the human-readable docs site), regenerate the canonical Markdown with npm run rebuild-corpus. That writes docs/markdown/ in dev-hub from its HTML; commit dev-hub, then sync back here.

Development

Requires Node 20+.

npm install
npm run typecheck      # type-check
npm run dev            # HTTP entrypoint, auto-reload
npm run dev:stdio      # stdio entrypoint, auto-reload
npm run build          # tsc → dist/, chmods bin

Doc Markdown format

Every file has YAML frontmatter:

---
title: "Donations"
source: "api/index.html"
anchor: "donations"
---
  • title — human-readable section title
  • source — path inside dntly-developer-hub that this MD was generated from
  • anchor — the original HTML id, used for deep-linking back to the hub

The body is GitHub-flavored Markdown. API parameter tables are rendered as GFM tables; version-specific responses (v2019-03-15 vs v2022-12-15) are labeled inline.

License

MIT