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

@gsdhere/mcp

v0.1.1

Published

GSD e-signing MCP server (local/stdio): send envelopes from your templates, check status, download signed PDFs — with your own GSD API key.

Readme

@gsdhere/mcp — GSD e-signing for Claude, Cursor, and other MCP clients

A local MCP (Model Context Protocol) server that lets an AI assistant send documents for signature from your GSD templates, check who has signed, and download the finished PDFs — using your own GSD API key, on your own machine.

What you're responsible for

Every envelope sent through this tool is sent by you, the API key holder. You are responsible for the recipients, the content, and any payment amounts on every envelope — exactly as if you had clicked Send in the GSD app. The assistant always shows you a preview first (template, signers, any inherited payment) and nothing is sent until you confirm. Review that preview before confirming.

  • This tool sends documents. It does not provide legal advice, and nothing it or your assistant says about a document is legal advice.
  • GSD envelopes are designed to meet the requirements of the U.S. ESIGN Act and UETA for electronic signatures. Whether an electronically signed document is enforceable in your specific situation depends on facts and law we cannot assess — consult a lawyer if it matters.
  • Sends are billable and irreversible once delivered. A sent envelope counts against your plan or pay-as-you-go credits, and the invitation email cannot be unsent.

Your API key

  • Create a key at Settings → API & Webhooks in GSD (Business plan and up, or Pro via pay-as-you-go).
  • Give the key to this server only through the GSD_API_KEY environment variable in your MCP client's config, as shown below.
  • Never paste an API key into a chat. The assistant never needs to see it; this server reads it from the environment and redacts anything key-shaped from every response and error, but a key pasted into a conversation is out of your hands.
  • If a key may have leaked, revoke it in Settings → API & Webhooks and create a new one — it's free.

3-minute setup

Requires Node.js 18+ (for built-in fetch).

Claude Desktop

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

{
    "mcpServers": {
        "gsd": {
            "command": "npx",
            "args": ["-y", "@gsdhere/mcp"],
            "env": {
                "GSD_API_KEY": "gsd_live_your_key_here",
                "GSD_DOWNLOAD_DIR": "/Users/you/Documents/gsd-signed"
            }
        }
    }
}

Claude Code

claude mcp add gsd \
  --env GSD_API_KEY=gsd_live_your_key_here \
  --env GSD_DOWNLOAD_DIR="$HOME/Documents/gsd-signed" \
  -- npx -y @gsdhere/mcp

Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
    "mcpServers": {
        "gsd": {
            "command": "npx",
            "args": ["-y", "@gsdhere/mcp"],
            "env": {
                "GSD_API_KEY": "gsd_live_your_key_here",
                "GSD_DOWNLOAD_DIR": "/Users/you/Documents/gsd-signed"
            }
        }
    }
}

Test it on yourself first

Ask your assistant:

"Send my Gym Waiver template to me at my own email address."

You'll get a preview, confirm it, receive the signing invitation in your own inbox, sign it, then ask for the status and the signed PDF. Total cost: one envelope. Do this before ever sending to a real client.

The tools

| Tool | What it does | | --- | --- | | gsd_list_templates | Your templates, with signer roles, whether payment defaults are set, and any payment_options (the owner-authored price menu) | | gsd_send_envelope | Two-step: preview (nothing sent) → confirm to send from a template. Optional price_option: the key of one of the template's price options | | gsd_envelope_status | One envelope's status, per-signer progress, payment state | | gsd_list_envelopes | Recent envelopes, newest first (optional status filter) | | gsd_download_signed | Save a completed envelope's signed PDF (certificate pages included) into GSD_DOWNLOAD_DIR | | gsd_whoami | Confirm the key works; shows the redacted key prefix and an approximate template count |

Payment amounts cannot be set or changed through this tool. Envelopes inherit the payment defaults saved on the template, if any — the preview tells you when that's the case. If the template's owner authored price options (e.g. Intro class $25, Drop-in $40), gsd_send_envelope can select one by its key via price_option; the preview then shows the exact resolved amount (e.g. Payment: $40.00 — Drop-in (price option)) for you to review before confirming. The amount always comes from the owner's list — an unknown key is rejected with the list of available options, and there is no way to pass a custom amount. To charge anything not on the list, change the template in the GSD app.

Environment variables

| Variable | Required | Meaning | | --- | --- | --- | | GSD_API_KEY | yes | Your GSD API key (gsd_live_…). Environment only, never an argument. | | GSD_DOWNLOAD_DIR | for downloads | The only folder this server will ever write files into. Unset = downloads disabled. | | GSD_ALLOWED_RECIPIENT_DOMAINS | no | Comma-separated list (e.g. mycompany.com,partner.com). When set, envelopes can only be sent to those domains. | | GSD_BASE_URL | no | Override the API host (default https://gsdhere.com). |

Notes

  • Local/stdio only: this server runs on your machine and talks directly to the GSD API over HTTPS. Nothing is proxied through a third party, and no logs are written to disk.
  • gsd_whoami's template count is approximate ("1+" means at least one) — it verifies the key with a single lightweight request.
  • Rate limits are the API's own; a 429 response includes how long to wait.

Questions: [email protected] · API docs: https://gsdhere.com/developers