Snowkit

io.snowkitPublished by snowkit.iov0.1.4Updated Nov 5, 2026

Private tools that run on your computer: PDFs, QR codes, JSON, SQL, text, colours and cron.

VerifiedSTDIODesktop onlyFiles & StorageDeveloper Tools

Overview

AI-generated overview

Snowkit is a local MCP server that gives an assistant offline file utilities: PDF merge/split/rotate, Markdown to PDF, QR codes, JSON, SQL, text, colour and…

What you can do
  • Merge, split, extract, rotate and inspect PDF files, and convert Markdown to PDF
  • Generate QR codes as SVG or PNG for links or text
  • Format and validate JSON (optionally against a JSON Schema) and format or minify SQL
  • Count words and readability, change text case, make URL slugs, remove duplicate lines
  • Convert colours between hex, RGB, HSL, HSV and OKLCH and check WCAG contrast
  • Explain cron expressions, read or strip photo metadata, and write or check web page head tags
When to use it
Useful when you want an assistant to do everyday file chores on your own machine — combining or trimming PDFs, turning notes into PDFs, cleaning up JSON or SQL, or checking a page's metadata — without uploading anything to a service.
Requirements
Node.js 18 or newer; the package is fetched on first run via npx. No account, API key or environment variables. Runs as a local stdio process, so it works only in desktop MCP apps, not in web clients. Tools need full file paths.
Before you install
Tools write files: outputs go next to the input unless an output path is given, and existing files are only replaced when overwrite is set. Merging, splitting and extracting drop bookmarks and document details from the originals. Password-protected PDFs are skipped. Markdown to PDF omits images and covers only Western European fonts.

Installation

In SourceWeft

  1. Open Snowkit in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[Snowkit]

Snowkit

Private tools that run on your computer.

Snowkit merges and splits PDFs, makes QR codes, tidies JSON and SQL, counts words and more. It works from the command line, and it plugs into AI apps that support the Model Context Protocol (MCP), so your assistant can do real work on your files.

Your files never leave your computer. Snowkit has no account, sends nothing over the internet and keeps no copies. It reads the files you point it to and writes the results next to them.

What it can do

ToolWhat it does
pdf_mergeCombines two or more PDFs into one, in the order you give
pdf_splitSplits a PDF into one file per page, every few pages, or by page ranges
pdf_extract_pagesCopies chosen pages into a new PDF, which also reorders or drops pages
pdf_rotateTurns all or some pages by 90, 180 or 270 degrees
pdf_infoShows page count, page sizes, PDF version, form fields and document details
markdown_to_pdfTurns Markdown into a clean, paginated PDF
qr_codeMakes a QR code for a link or any text, as SVG or PNG
json_formatPretty-prints or minifies JSON, keeping large numbers exact
json_validateChecks JSON, and optionally checks it against a JSON Schema
sql_formatFormats or minifies SQL
text_statsCounts words, characters and sentences, with reading time and readability
text_transformChanges case, makes URL slugs, or removes duplicate lines
color_convertConverts a colour between hex, RGB, HSL, HSV and OKLCH, and checks contrast
cron_explainExplains a cron schedule in plain English and lists the next runs
image_infoShows what a JPEG, PNG or WebP photo reveals: camera, date and the location it was taken
image_strip_metadataRemoves the hidden location, camera details and comments from a photo, leaving the picture as it was
head_tagsWrites the title, description, canonical, Open Graph and Twitter tags for a page
head_checkChecks a page's HTML for missing or too-long head tags and says what to fix

Each result ends with a link to the matching tool on snowkit.io, in case you would rather see it in your browser.

Use it with your AI app

You need Node.js 18 or newer. There is nothing else to install: the commands below fetch Snowkit the first time it runs.

Claude Desktop

Open Settings, then Developer, then Edit Config, and add Snowkit to claude_desktop_config.json:

json
{  "mcpServers": {    "snowkit": {      "command": "npx",      "args": ["-y", "snowkit"]    }  }}

Restart Claude Desktop. If it cannot find npx on Windows, use "command": "cmd" and "args": ["/c", "npx", "-y", "snowkit"].

Claude Code

sh
claude mcp add snowkit -- npx -y snowkit

Cursor

Open Cursor Settings, then MCP, then Add new MCP server, or add this to ~/.cursor/mcp.json (or .cursor/mcp.json inside a project):

json
{  "mcpServers": {    "snowkit": {      "command": "npx",      "args": ["-y", "snowkit"]    }  }}

Gemini CLI

Add this to ~/.gemini/settings.json:

json
{  "mcpServers": {    "snowkit": {      "command": "npx",      "args": ["-y", "snowkit"]    }  }}

Any other MCP app

Snowkit is a standard MCP server over standard input and output. Point your app at the command npx -y snowkit.

Then just ask, for example:

  • "Merge invoice-march.pdf and invoice-april.pdf in my Downloads folder."
  • "Pull pages 3 to 5 out of contract.pdf."
  • "Make a QR code PNG for https://example.com and save it to my desktop."
  • "Is this JSON valid?"

Use it from the command line

sh
npx snowkit pdf merge a.pdf b.pdf -o both.pdfnpx snowkit pdf split report.pdf --every 2npx snowkit pdf split report.pdf --range 1-3 --range 4-npx snowkit pdf extract report.pdf --pages "1, 4-6"npx snowkit pdf rotate scan.pdf --angle 90 --pages 2npx snowkit pdf info report.pdfnpx snowkit md2pdf notes.md --page letter --numbersnpx snowkit qr "https://example.com" -o qr.pngnpx snowkit json format data.json --sortnpx snowkit json validate data.json --schema schema.jsonnpx snowkit sql format query.sqlnpx snowkit text stats essay.txtnpx snowkit text case title headings.txtnpx snowkit text dedupe emails.txt --ignore-casenpx snowkit color "#336699" --against whitenpx snowkit cron "*/15 9-17 * * 1-5"npx snowkit --help

Text commands read the file you name, or standard input when you pipe text in, so they fit into scripts:

sh
curl -s https://api.example.com/items | npx snowkit json format

Install it once with npm install -g snowkit and you can drop the npx.

How it treats your files

  • It only reads the files you name and only writes where you ask, or next to the original when you do not say.
  • It never replaces an existing file unless you set overwrite (or pass --overwrite on the command line).
  • It never connects to the internet. Every tool runs on your own computer.
  • Password-protected PDFs are left alone, with a clear message.

Good to know

  • markdown_to_pdf uses built-in fonts that cover Western European languages. Images in the Markdown are left out.
  • pdf_rotate keeps everything else in the file as it was. Merging, splitting and extracting copy the pages themselves, so bookmarks and document details from the originals are not carried over.
  • Errors explain what went wrong and how to fix it, so your assistant can try again sensibly.

Licence

MIT. See LICENSE.

Source: README.md at commit 64c4ab3

Tools

18

pdf_merge

Merge PDFs

Combine two or more PDF files into one, in the order given. Saves next to the first file as name-merged.pdf unless output is set.

Parametersinputsrequiredoutputoverwrite

pdf_split

Split a PDF

Split a PDF into several files: one per page by default, every N pages, or one file for each page range. Files are saved beside the original unless output_folder is set.

Parameterseveryinputrequiredrangesoverwriteoutput_folder

pdf_extract_pages

Extract PDF pages

Copy chosen pages of a PDF into a new PDF, in the order listed. Also works to reorder, duplicate or drop pages. Saves as name-extracted.pdf beside the original unless output is set.

Parametersinputrequiredpagesrequiredoutputoverwrite

pdf_rotate

Rotate PDF pages

Turn all or some pages of a PDF by 90, 180 or 270 degrees clockwise, or -90 for anticlockwise. Everything else in the file is kept. Saves as name-rotated.pdf unless output is set.

Parametersanglerequiredinputrequiredpagesoutputoverwrite

pdf_info

PDF details

Read a PDF's page count, page sizes, file size, PDF version, form fields, password protection and document details such as title and author. Changes nothing.

Parametersinputrequired

markdown_to_pdf

Markdown to PDF

Turn Markdown into a clean, paginated PDF with headings, lists, tables, code blocks and links. Uses built-in fonts for Western European text; images are left out. Saves beside the Markdown file unless output is set.

Parameterspageinputtitleoutputmarkdownoverwritepage_numbers

qr_code

Make a QR code

Make a QR code for a link or any text, as SVG or PNG. Without an output path the SVG is returned as text. The content lives in the code itself, so it never expires.

Parameterssizetextrequiredlevelformatoutputoverwrite

json_format

Format JSON

Pretty-print or minify JSON, optionally sorting keys. Large numbers keep every digit and errors point to the line and column.

Parameterstextinputindentminifyoutputoverwritesort_keys

json_validate

Validate JSON

Check that JSON is valid and, optionally, that it matches a JSON Schema. Reports the line and column of syntax errors and the path of every schema problem.

Parameterstextinputschemaschema_path

sql_format

Format SQL

Tidy SQL into readable, indented lines, or minify it onto one line. Works with common dialects such as PostgreSQL, MySQL, SQLite and SQL Server.

Parameterstextinputindentminifyoutputoverwritekeyword_case

text_stats

Text statistics

Count words, characters, sentences, paragraphs and lines, estimate reading and speaking time, and score readability for English text.

Parameterstextinput

text_transform

Transform text

Change text case (upper, lower, title, sentence, camel, pascal, snake, kebab, constant), turn each line into a URL slug, or remove duplicate lines while keeping the original order.

Parameterstexttriminputactionrequiredoutputoverwriteignore_caseremove_empty

color_convert

Convert a colour

Show a colour as hex, RGB, HSL, HSV and OKLCH with its nearest named colour. Give a second colour to get the WCAG contrast ratio and pass or fail results.

Parameterscolorrequiredagainst

cron_explain

Explain a cron schedule

Describe a five-field cron expression in plain English and list its next run times.

Parametersutccountexpressionrequired

image_info

Image metadata

Show what a JPEG, PNG or WebP photo reveals about itself: camera, date, editing software and the GPS location where it was taken, if any.

Parametersinputrequired

image_strip_metadata

Remove image metadata

Remove the hidden location, camera details, dates and comments from a JPEG, PNG or WebP photo without changing the picture. Saves next to the original as name-clean unless output is set.

Parametersinputrequiredoutputoverwritekeep_color_profile

head_tags

Make head tags

Write the title, description, canonical, Open Graph and Twitter tags for a web page, ready to paste into its <head>.

Parametersurlimagetitlenoindextwitterimage_altsite_namedescriptiontheme_color

head_check

Check head tags

Check a web page's HTML for a missing or too-long title and description, share image, canonical and other head tags, with what to fix.

Parametershtmlinput

Version history

2
  1. v0.1.4LatestNov 4, 2026
  2. v0.1.3Nov 4, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts