Memobird MCP Server
Enables interaction with Memobird thermal printers to print text, HTML, web pages, and images directly from MCP-enabled clients. It includes tools for device binding, image conversion, and monitoring print job status.
README
Memobird MCP Server
MCP server for Memobird (咕咕机) thermal printer, based on memobirdsdk.
Prerequisites
- Node.js >= 18
- Memobird Access Key (from open.memobird.cn)
- Memobird device ID (double-click device to print it out)
Setup
npm install
npm run build
Configuration
| Environment Variable | Required | Description |
|---|---|---|
MEMOBIRD_AK |
Yes | Access Key from open.memobird.cn |
MEMOBIRD_DEVICE_ID |
No | Device ID from bind_user, skip binding if set |
MEMOBIRD_USER_ID |
No | User ID from bind_user, skip binding if set |
Usage
Via npx (Recommended)
No local clone needed. Add the following config to use the published npm package directly.
Claude Code — add to ~/.claude/settings.json:
First-time setup (only MEMOBIRD_AK needed, bind_user will be called automatically):
{
"mcpServers": {
"memobird": {
"command": "npx",
"args": ["-y", "memobirdmcp"],
"env": {
"MEMOBIRD_AK": "your-access-key"
}
}
}
}
After first binding, add the returned userid and memobirdID to skip bind_user in future sessions:
{
"mcpServers": {
"memobird": {
"command": "npx",
"args": ["-y", "memobirdmcp"],
"env": {
"MEMOBIRD_AK": "your-access-key",
"MEMOBIRD_DEVICE_ID": "your-device-id",
"MEMOBIRD_USER_ID": "12345"
}
}
}
}
Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), same env format as above.
Via local build
If you prefer to run from source:
{
"mcpServers": {
"memobird": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"MEMOBIRD_AK": "your-access-key"
}
}
}
}
Tools
bind_user
Bind a user identifier to a Memobird device. Must be called first if MEMOBIRD_DEVICE_ID and MEMOBIRD_USER_ID env vars are not set. Returns a userid and memobirdID — save them to env vars to skip this step in future sessions.
| Parameter | Type | Required | Description |
|---|---|---|---|
memobirdID |
string | Yes | Device ID (double-click the device to obtain) |
useridentifying |
string | Yes | Your unique user identifier |
print_text
Print text content to the bound device. Supports Chinese characters (auto GBK encoding).
| Parameter | Type | Required | Description |
|---|---|---|---|
text |
string | Yes | Text content to print |
print_image
Print a monochrome bitmap image to the bound device. Use convert_image first to convert JPG/PNG.
| Parameter | Type | Required | Description |
|---|---|---|---|
base64Image |
string | Yes | Monochrome bitmap as Base64 |
print_from_url
Print content from a web URL to the bound device. Works best with static/server-rendered pages.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | URL to print |
print_from_html
Print content from HTML source to the bound device. Use inline CSS and absolute image URLs.
| Parameter | Type | Required | Description |
|---|---|---|---|
html |
string | Yes | HTML source code |
get_print_status
Check the status of a submitted print job.
| Parameter | Type | Required | Description |
|---|---|---|---|
printcontentid |
string | Yes | Print content ID from a print tool response |
Returns printflag: 1 if printed successfully, 0 if pending/failed.
convert_image
Convert a JPG/PNG image to monochrome bitmap format for printing. Use 384px width for best results.
| Parameter | Type | Required | Description |
|---|---|---|---|
base64Image |
string | Yes | JPG or PNG image as Base64 |
Typical Workflow
First time
- Call
bind_userwith your device ID and a user identifier - Save the returned
useridandmemobirdIDtoMEMOBIRD_USER_IDandMEMOBIRD_DEVICE_IDenv vars in your MCP config - Use print tools as needed
Subsequent sessions (env vars set)
- Use
print_text/print_from_html/print_from_urldirectly (no binding needed) - For images: call
convert_imagefirst, thenprint_imagewith the result - Optionally call
get_print_statusto check if printing completed
License
ISC
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.