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, bijvoorbeeldhelloofhello.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
- Altijd binnen de HTML-map. De doelmap staat vast via
HTML_OUTPUT_DIR(standaard/home/server/output/html/). De bestandsnaam wordt teruggebracht tot een plattebasename, dus../of absolute paden kunnen er nooit buiten landen. - 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 teruggegevensavedAsin 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.jsIn 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.
