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

unbound-html-writer-mcp

v1.0.0

Published

MCP-server die door AI gegenereerde HTML-bestanden naar de HTML-map schrijft en een publieke URL teruggeeft. Schrijft altijd binnen de HTML-map en overschrijft nooit bestaande bestanden.

Downloads

150

Readme

unbound-html-writer-mcp

MCP-server die door AI gegenereerde HTML-bestanden wegschrijft naar de HTML-map en een publieke URL teruggeeft. Opzet en stijl volgen @unboundai/markdown-writer-mcp.

Tool

write_html_file(filename, content)

  • filename: gewenste naam, bijvoorbeeld hello of hello.html.
  • content: de volledige HTML-string.

Retourneert JSON met savedAs, renamed en url, bijvoorbeeld:

{
  "savedAs": "hello.html",
  "requested": "hello.html",
  "renamed": false,
  "url": "https://storage.googleapis.com/mcp-output/html/hello.html"
}

Twee technische garanties

  1. Altijd binnen de HTML-map. De doelmap staat vast via HTML_OUTPUT_DIR (standaard /home/server/output/html/). De bestandsnaam wordt teruggebracht tot een platte basename, dus ../ of absolute paden kunnen er nooit buiten landen.
  2. Nooit overschrijven. Het schrijven gebeurt met de wx-vlag, die atomair faalt als het bestand al bestaat. Bij een botsing wordt automatisch de eerstvolgende vrije naam gekozen: hello.html, hello-1.html, hello-2.html, enzovoort. Gebruik daarom altijd het teruggegeven savedAs in de URL die je aan de klant toont.

Config

| Env | Standaard | Functie | | --- | --- | --- | | HTML_OUTPUT_DIR | /home/server/output/html/ | Doelmap op de server. | | HTML_PUBLIC_BASE_URL | https://storage.googleapis.com/mcp-output/html/ | Publieke basis-URL van de bucket. |

Opstarten

npm install
node index.js

In TypingMind wordt de server gestart via npx -y unbound-html-writer-mcp (zie de plugin-JSON).

Belangrijk voor "openen" in plaats van "downloaden"

Anders dan bij de markdown-plugin geven we hier geen ?response-content-disposition=attachment mee, want de klant moet het bestand in de browser kunnen openen. Zorg dan wel dat het GCS-object met Content-Type: text/html wordt geserveerd (dat doet de sync naar de bucket op basis van de .html-extensie). Anders biedt de browser het alsnog als download aan.