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

retroprint-mcp

v0.1.2

Published

MCP server for RETROPRINT — turn a photo into a riso-style print from any MCP client

Readme

retroprint-mcp

An MCP server for RETROPRINT: any MCP client — Claude Code, Claude Desktop, Cursor — can turn a photo on disk into a riso-style print, look at the result, and iterate on the design.

A thin wrapper over the public headless API (/v1), the same way PostHog's and Figma's servers wrap theirs: the server holds no rendering logic, just an API key and four tools. It runs locally over stdio because that is where the photos are — tools take file paths in, write finished prints back to disk, and inline a preview the model can actually see.

Tools

| tool | what it does | | --- | --- | | create_print | Photo in (path or URL), finished print out, saved to disk. No options = the server designs the print from the photo. Small results come back inline so the model can look and iterate. Follows the job queue automatically for big prints. | | list_presets | The built-in 2–3 ink designs, with their ink chips. | | get_design_guide | The full DesignState schema — fields, ranges, ink catalog, paper stocks — served on demand instead of bloating every tool description. | | get_print_job | Collect a job that outlived create_print's polling window. |

Setup

You need an API key: retro-print.com → Settings → API keys. Prints spend plan units by output size (≤4 MP = 1 unit … >24 MP = 8).

Claude Code:

claude mcp add retroprint --env RETROPRINT_API_KEY=rp_… -- npx -y retroprint-mcp

Claude Desktop / Cursor (claude_desktop_config.json / .cursor/mcp.json):

{
  "mcpServers": {
    "retroprint": {
      "command": "npx",
      "args": ["-y", "retroprint-mcp"],
      "env": { "RETROPRINT_API_KEY": "rp_…" }
    }
  }
}

RETROPRINT_API_URL points the server at a different backend (a local stack on http://127.0.0.1:8080, say); it defaults to the live site. It must be https, or plain http to this machine: your API key goes to it on every call.

Try it

Turn ~/Pictures/dog.jpg into a retro print.

Give it two inks — black shadows and fluorescent pink midtones — on kraft paper, 4:5, and push the misregistration until it looks hand-fed.

The model drafts at width 800, looks at the inline preview, adjusts the design, and renders the final at full size.

Design notes

  • Few tools, strong descriptions. The schema lives behind get_design_guide, fetched only when the model writes a custom design.
  • Errors teach. The server's own messages pass through untouched (402 says what the print would have cost), plus one line on what to do next.
  • Previews are capped at 1.5 MB — above that the print is on disk and the model is told to draft smaller, not handed a context-blowing blob.
  • Annotations mark list_presets/get_design_guide read-only so clients can skip confirmation prompts.