{"repo":"AeternaLabsHQ/pullmd","free":true,"listed":false,"github":"https://github.com/AeternaLabsHQ/pullmd","clone":"git clone https://github.com/AeternaLabsHQ/pullmd.git","description":"Self-hosted URL- and file-to-Markdown service for humans and AI agents - web pages, documents, images, audio, YouTube. PWA + REST + MCP + Claude Code skill, Reddit-aware, refreshable share links.","language":"JavaScript","stars":468,"topics":["claude","claude-code","docker","document-conversion","html-to-markdown","markdown","markitdown","mcp","mcp-server","ocr"],"license":"AGPL-3.0","category":"mcp-servers","readme_excerpt":"PullMD Self-hosted URL-to-Markdown service for humans and AI agents. PullMD takes any web URL and returns clean, readable Markdown — no navigation, no ads, no boilerplate. It auto-detects Reddit and Hacker News threads (with full comment trees), uses Cloudflare's native Markdown when available, runs Mozilla Readability + Trafilatura on static HTML, and as a last resort renders JavaScript-heavy pages via headless Chromium (Playwright sidecar) before extracting. As of v3 , PullMD goes beyond web pages: it also converts documents (PDF, Office, EPUB), images, audio, and YouTube videos to Markdown, and emits a leaner, token-efficient body by default. See What's new in v3 below. It ships as: - a PWA frontend with raw/rendered and live-frontmatter view toggles, one-tap sharing of the output to other apps (Web Share API), a download button that saves the result as a .md file under the server-suggested name, dark/paper themes, history, archive, share links, and conversion of local HTML files (drag-and-drop on desktop, file picker on desktop and mobile) - a REST API at GET /api?url=… - an MCP server at POST /mcp (Streamable-HTTP transport, stateless) - a Claude Code skill as a downloadable zip Every conversion gets an 8-hex share id that works as a stable live-endpoint: GET /s/:id returns the cached markdown and re-fetches from the source if older than one hour. Use the share id as a fixed URL that always returns fresh content — useful for subreddit feeds and similar. --- What's new in","default_branch":null,"files":null,"tree":[],"storefront":"/r/AeternaLabsHQ","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/AeternaLabsHQ/pullmd/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}