Cat Printer
FreeNot checkedControl BLE thermal cat printers from AI agents with tools for printing images, text, and formatted ticket templates.
About
Control BLE thermal cat printers from AI agents with tools for printing images, text, and formatted ticket templates.
README
catprinter-mcp
BLE thermal printer MCP server for physical agent notifications
Low-cost cat printer + MCP agents = real paper output for important events.
What This Project Does
cat-mcp exposes three MCP tools:
- print_image
- print_text
- print_jira_ticket
It is designed for cat-style BLE thermal printers and includes an embedded printer runtime under src/cat_mcp/catprinter.
Why I Built It
Real-world use case behind this repo:
- I bought a cheap BLE thermal printer and reverse engineered behavior from the Android app.
- I connected it to my poke agent workflow so important events can be printed physically.
In short: my agents can now talk through thermal paper.
Requirements
- Python 3.10+
- Bluetooth enabled host
- Supported cat thermal printer powered on
Install
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
Run Server
stdio mode:
cat-mcp-server
HTTP mode:
cat-mcp-http --host 0.0.0.0 --port 8000
HTTP mode with persistent BLE connection:
cat-mcp-http \
--host 0.0.0.0 \
--port 8000 \
--persistent-connection \
--connect-on-start \
--start-device PD01
Default streamable HTTP endpoint:
http://127.0.0.1:8000/mcp
MCP Client Example
{
"mcpServers": {
"cat-mcp": {
"command": "/absolute/path/to/.venv/bin/cat-mcp-server"
}
}
}
Tool Summary
print_image: Print an image with configurable binarization and thermal energy.
print_text: Render text to 384px thermal bitmap and print.
print_jira_ticket: Render and print a Jira-style ticket template for assignments.
Scripts Folder Note
Files under scripts are helper utilities for local testing, manual debugging, and demo flows. They are not required to run the packaged server commands.
Example Jira helper:
python scripts/print_jira_ticket_pd01.py \
--ticket-key MCP-42 \
--summary "Add printer retry logic" \
--assignee "calgan" \
--status "To Do" \
--priority "High" \
--ticket-url "https://jira.local/browse/MCP-42"
macOS BLE Note
If first connection fails, grant Bluetooth permission to the host process in System Settings and ensure the printer is discoverable.
Thanks
Thanks to rbaron/catprinter for foundational reverse engineering work that helped this project. I adapted and ported relevant parts into this MCP server for the current Bleak-based flow. For original project details and license text, see:
Installing Cat Printer
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/calganaygun/catprinter-mcpFAQ
Is Cat Printer MCP free?
Yes, Cat Printer MCP is free — one-click install via Unyly at no cost.
Does Cat Printer need an API key?
No, Cat Printer runs without API keys or environment variables.
Is Cat Printer hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Cat Printer in Claude Desktop, Claude Code or Cursor?
Open Cat Printer on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Cat Printer with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
