Memobird MCP Server
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 buildConfiguration
Environment Variable | Required | Description |
| Yes | Access Key from open.memobird.cn |
| No | Device ID from |
| No | User ID from |
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 |
| string | Yes | Device ID (double-click the device to obtain) |
| 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 |
| 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 |
| 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 |
| 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 |
| string | Yes | HTML source code |
get_print_status
Check the status of a submitted print job.
Parameter | Type | Required | Description |
| 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 |
| string | Yes | JPG or PNG image as Base64 |
Typical Workflow
First time
Call
bind_userwith your device ID and a user identifierSave the returned
useridandmemobirdIDtoMEMOBIRD_USER_IDandMEMOBIRD_DEVICE_IDenv vars in your MCP configUse 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 resultOptionally call
get_print_statusto check if printing completed
License
ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CafuChino/memobirdMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server