HomeBoxMCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HomeBoxMCPWhere did I put the spare HDMI cables?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HomeBoxMCP
Talk to your home inventory. HomeBoxMCP is a small, stateless MCP server that puts your Homebox inventory in reach of any MCP client — Claude, or anything else that speaks the protocol. Ask where the drill is, file a new purchase with its receipt attached, or reorganize a whole closet, in plain language.
"Where did I put the spare HDMI cables?"
"Add the new espresso machine to the kitchen — warranty expires 2028-04-01."
"Move everything on Shelf B to the garage overflow bin."Sixteen tools, one file, zero runtime dependencies — just Node 22 and node:http.
Drop it behind Docker and forget about it.
Why this one
Read and write. Not to be confused with the third-party read-only
homebox-mcp. This one creates, updates, moves, deletes, and attaches files.Built for Homebox v0.26.x. Targets the entity API, where items and locations are unified as "entities" and labels are renamed "tags".
Stateless streamable HTTP. No session store, no database, no sidecar. Restart it whenever you like.
Fails loudly, not weirdly.
--doctorvalidates your Homebox connection before the server ever accepts a request, and oversize uploads are rejected with the actual size instead of an opaque 422.
Related MCP server: Homebox MCP Server
Quick start
Pull the published image:
docker run -d --name HomeBoxMCP -p 3334:3334 \
-v /path/to/config:/config:rw \
-v /path/to/inbox:/inbox:ro \
ghcr.io/businessnone/homeboxmcp:latestOr build from source:
docker build -t homeboxmcp:latest .Point your MCP client at http://your-host:3334/mcp — that path is enforced, a POST
anywhere else returns 404 naming the correct endpoint. Check the server is alive with
curl http://your-host:3334/healthz, which reports the version and tool count.
Prefer to sanity-check the config first? --doctor verifies the Homebox URL is reachable
and that the credentials actually work, then exits non-zero with a one-line reason if not:
docker run --rm -v /path/to/config:/config:ro \
ghcr.io/businessnone/homeboxmcp:latest node /app/index.mjs --doctorUnraid
An Unraid template lives at unraid/homeboxmcp.xml. Add it under
Docker → Add Container → Template using the raw URL, or install from Community Apps
once listed. Set the config and inbox paths to shares you control, and set an MCP auth
token if the container is reachable beyond your LAN.
Configuration
Write /config/config.json:
{ "homeboxUrl": "http://homebox:7745", "apiKey": "..." }Or skip the file entirely and use HOMEBOX_URL plus HOMEBOX_API_KEY — or
HOMEBOX_URL with email and password, if you'd rather HomeBoxMCP log in for itself.
Env | Default | Purpose |
|
| Listen port |
|
| Config file |
|
| Read-only upload staging dir |
|
| Must match Homebox's |
| unset | Bearer token required on every MCP request |
|
| Maximum accepted JSON-RPC request size |
|
|
|
|
| Path the JSON-RPC endpoint is served on |
|
| How long Homebox entity type IDs are cached; |
If you expose HomeBoxMCP beyond your own machine, set MCP_AUTH_TOKEN. Clients may send it
as Authorization: Bearer <token>, X-MCP-Token, or X-Homebox-MCP-Token.
The 16 tools
Read — search_entities, entity_tree, get_entity, list_tags,
list_entity_types, get_stats
Write — create_location, create_item, update_entity, move_entity,
delete_entity, create_tag
Attachments — list_inbox, upload_attachment, delete_attachment,
link_external_attachment
Attachments, and why there's an inbox
MCP tool calls carry JSON, not binary. Inlining a 10 MB receipt as base64 would burn ~13 MB of the model's context to move one file. So files reach HomeBoxMCP through a read-only inbox mount instead: drop the file in the inbox, then attach it by filename.
Paths resolve against the inbox and are rejected if they try to escape it — ../../etc/passwd
and absolute paths both fail closed. Valid attachment types are attachment, photo,
manual, warranty, receipt, and thumbnail.
Origin story
This repo exists because HomeBoxMCP (then called homebox-shim) was discovered running with no source on disk — the
only copy of index.mjs lived inside a running Docker image, with no Dockerfile anywhere.
It was recovered with docker cp Homebox-Shim:/app/index.mjs and the Dockerfile
reconstructed from the image's own config. This repo is now the source of truth. Rebuild
from here, not from the image.
See docs/SUPPORTABILITY.md for the review that prompted the
recovery.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
- DomusOAuthapp.getdomus
Homeowner's AI: view & update appliances, warranties, documents & maintenance for your home.
Inventory management for small organizations: search, assign, report, order, set up by chat.
Streamline your Attio workflows using natural language to search, create, update, and organize com…
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
Related MCP Servers
- FlicenseBqualityFmaintenanceEnables AI assistants to manage StashDog inventory through natural language commands, supporting item management, collections, tags, smart search, and URL imports with secure authentication.11-
- AlicenseAqualityDmaintenanceEnables AI assistants to manage inventory items, locations, and labels in a self-hosted Homebox instance using natural language, with support for flexible URL configurations.214MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to query and explore Homebox home inventory data in real-time, with tools for searching items, listing locations and labels, and retrieving item details.6-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with a Homebox inventory system to search, create, update, and manage items, locations, and labels.-