Then Apply
Systems that chain, not stall.
Developer infrastructure and tools, built edge-first. No servers to patch, no queues to babysit — each piece does one job and hands off cleanly to the next.
See it in action
Fixed input/output pairs showing what each tool actually produces.
# Building Next-Gen AI Microservices Model Context Protocol allows seamless tool execution. ```bash npx @karlangas12/web-to-markdown https://example.com ```
Static example — not a live API call.
Three Micro-Tools
Built for modularity — deploy each one standalone, or combine them into your AI toolchain.
web-to-markdown
Converts any web page or raw HTML into clean, dense, LLM-ready Markdown — strips nav, ads and scripts. Runs as a CLI, a library, or a Cloudflare Workers API.
mcp-shield-proxy
A local firewall for MCP servers. Blocks destructive tool calls and masks secrets like AWS keys and JWTs before they leave your machine. Works with Claude Desktop, Cursor and Claude Code.
openapi-to-mcp
Turns an OpenAPI/Swagger 3.x spec into a working MCP server, with request schemas generated straight from the spec via Zod.
How we audit the code
The same policy applies to all three packages. None of it is opt-in per project, and none of it is a claim you have to take on trust — each item below is verifiable from outside this site.
Static analysis on every push
Every package runs CodeQL alongside its test suite and a strict TypeScript typecheck. A failing run blocks the release — publishing is a separate workflow that only fires on a tagged version.
Signed provenance, not a promise
All three packages publish with npm provenance (--provenance, SLSA attestation via GitHub OIDC). npm ties each published tarball to the exact commit and workflow run that produced it, so you can check what you installed was built from the source you're reading.
Verify any of it on the package pages linked at the top of this page — the attestation lives on npm, not here.
One-Line Integration
Call via standard HTTP `cURL`, integrate into your Node/Python codebase, or add to `claude_desktop_config.json`.
# Fetch clean Markdown via API curl -X POST https://web-to-markdown.karlangas12.workers.dev/v1/convert \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com", "options": {"extract_metadata": true}}'