tkrisztian95/eink-mcp-server
MCP server that lets AI agents draw on a Waveshare e-ink display — structured dashboard layouts or raw pixel-level drawing, via Claude Desktop or Claude Code.
Platform-specific configuration:
{
"mcpServers": {
"eink-mcp-server": {
"command": "npx",
"args": [
"-y",
"eink-mcp-server"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
An MCP server that lets AI agents draw on or clear a Waveshare e-ink display.
1. System packages
sudo apt install python3-full python3-venv fonts-dejavu2. Virtual environment
python3 -m venv venv
venv/bin/pip install -r requirements.txt3. Waveshare e-Paper library (not on PyPI — clone it inside the project directory)
git clone https://github.com/waveshare/e-Paper
venv/bin/pip install ./e-Paper/RaspberryPi_JetsonNano/python/After setup the directory should look like this:
eink-mcp/
├── server.py
├── display.py
├── requirements.txt
├── venv/ <- created by you, not in git
└── e-Paper/ <- cloned by you, not in gitvenv/bin/python server.pyThe server uses stdio transport (default for MCP).
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"eink-display": {
"command": "/path/to/eink-mcp/venv/bin/python",
"args": ["/path/to/eink-mcp/server.py"],
"env": {
"EINK_DISPLAY_MODEL": "epd7in5_V2",
"EINK_ROTATION": "0",
"EINK_FONT_PATH": "/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf",
"EINK_FONT_PATH_BOLD": "/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf"
}
}
}
}Install Claude Code on the Pi:
curl -fsSL https://claude.ai/install.sh | shLog in:
claude loginRegister the MCP server:
claude mcp add eink-display -e EINK_DISPLAY_MODEL=<your_model> -e EINK_ROTATION=0 /path/to/eink-mcp/venv/bin/python -- /path/to/eink-mcp/server.pyAdjust EINK_DISPLAY_MODEL and EINK_ROTATION to match your hardware. See the
Loading reviews...