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

@proofslip/mcp-server

v0.2.3

Published

MCP server for ProofSlip — receipt-based verification for AI agent workflows

Readme

@proofslip/mcp-server

npm version license node

MCP server for ProofSlip — receipt-based verification for AI agent workflows. Create, verify, and poll ephemeral receipts that let agents prove what happened before deciding what happens next.

Tools

create_receipt

Create a receipt to record that something happened. Receipts expire after 24 hours by default.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | type | enum | Yes | action, approval, handshake, resume, failure | | status | string | Yes | Freeform status (e.g. "success", "pending", "failed") | | summary | string | Yes | What happened — max 280 chars | | payload | object | No | Structured JSON data (max 4KB) | | ref | object | No | Workflow references (run_id, agent_id, workflow_id, etc.) | | expires_in | number | No | TTL in seconds (60–86400, default 24h) | | idempotency_key | string | No | Prevents duplicate receipts on retry | | audience | "human" | No | Enrich verify page with social cards |

Requires: PROOFSLIP_API_KEY environment variable.

verify_receipt

Verify a receipt and retrieve its full data before deciding what to do next.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | receipt_id | string | Yes | The receipt ID (starts with rct_) |

No API key required.

check_receipt_status

Lightweight status poll — returns only status and polling guidance, no payload.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | receipt_id | string | Yes | The receipt ID (starts with rct_) |

No API key required. Use this instead of verify_receipt when you only need to know if state has changed.

signup

Get a free API key (500 receipts/month).

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | email | string | Yes | Your email address |

No API key required.

Usage Example

You: "Create a receipt proving we sent the welcome email"

Agent calls create_receipt:
  type: "action"
  status: "success"
  summary: "Sent welcome email to [email protected]"
  ref: { workflow_id: "onboarding-123", agent_id: "email-agent" }

→ Returns receipt_id, verify_url, is_terminal: true

You: "Verify receipt rct_abc123 before sending the follow-up"

Agent calls verify_receipt:
  receipt_id: "rct_abc123"

→ Returns full receipt: type, status, summary, payload, ref
→ Agent confirms the action happened before proceeding

You: "Check if the approval is still pending"

Agent calls check_receipt_status:
  receipt_id: "rct_def456"

→ Returns: status: "pending", is_terminal: false, next_poll_after_seconds: 30
→ Agent waits 30s then checks again

Setup

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "proofslip": {
      "command": "npx",
      "args": ["-y", "@proofslip/mcp-server"],
      "env": {
        "PROOFSLIP_API_KEY": "ak_your_key_here"
      }
    }
  }
}

Cursor / Windsurf

Add to MCP settings:

{
  "mcpServers": {
    "proofslip": {
      "command": "npx",
      "args": ["-y", "@proofslip/mcp-server"],
      "env": {
        "PROOFSLIP_API_KEY": "ak_your_key_here"
      }
    }
  }
}

Claude Code

claude mcp add proofslip -- npx -y @proofslip/mcp-server

Then set your API key in your environment or .env file.

Configuration

| Variable | Required | Description | |----------|----------|-------------| | PROOFSLIP_API_KEY | For creating receipts | Your API key (starts with ak_) | | PROOFSLIP_BASE_URL | No | API base URL (default: https://proofslip.ai) |

Get an API Key

Use the signup tool from any MCP client, or:

curl -X POST https://proofslip.ai/v1/auth/signup \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "source": "api"}'

Links

License

MIT