# IDEA.md — mcp-pos-print ## What is this? An MCP server that exposes the Epson TM-m30 receipt printer (192.168.0.184) as a single tool to any Claude Code session. Claude calls `print` with a markdown string, the server translates markdown → ESC/POS and sends raw bytes over TCP to the printer. ## Problem it solves When working with Claude on the homelab box, useful output sometimes belongs on paper — a code snippet to keep at the desk, a quick summary, a TODO list, a QR for a URL. Currently this requires writing a one-off Python script that imports `escpos` and `socket`. With this MCP, Claude just says "let me print that" and it comes out of the printer with no extra plumbing. ## Constraints / preferences - Python (matches existing `mcp-gemma4` pattern in this repo). - stdio transport (matches existing pattern; local-only invocation, no network exposure of the MCP itself). - Single tool, minimal surface — markdown in, paper out. - Mirrors conventions documented in `~/bin/POS_PRINT.md` (Font B, 57 cols, native QR, TCP to `192.168.0.184:9100`).