Skip to main content
Glama
Tafeen

Homebox MCP Server

by Tafeen

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FASTMCP_HOSTNoHost for the HTTP server (default: 0.0.0.0)0.0.0.0
FASTMCP_PORTNoPort for the HTTP server (default: 8000)8000
HOMEBOX_BASE_URLYesThe base URL of your Homebox instance (e.g., https://your-homebox-instance.com)
HOMEBOX_PASSWORDYesYour Homebox password for authentication
HOMEBOX_USERNAMEYesYour Homebox email/username for authentication

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_productsB

Search products using Homebox query + local filters.

    Provide at least one filter. `name` is split into terms and each term
    is queried in parallel when no other strict filter is provided.
    
add_productA

Add a new product (or subitem) to Homebox with grouped parameters.

    Args:
        identity: Required product identity {"name": str, "description": str, "asset_id": str}
        location: Optional location {"id": str} or {"name": str}
        parent_item: Optional parent item {"id": str} or {"name": str}.
            If provided, the new item is created as a subitem and parent_item
            takes precedence over location.
        identifiers: Optional manufacturing info {"serial_number", "model_number", "manufacturer"}
        purchase: Optional purchase details {"price": float, "seller": str, "date": str, "warranty_expires": str}
        metadata: Optional extra info {"notes": str, "quantity": int, "tag_ids": [str], "tag_names": [str], "custom_fields": [{}]}
        status: Optional flags {"archived": bool, "insured": bool, "lifetime_warranty": bool}

    Behavior:
        - Standalone product: provide a location (id or name).
        - Subitem product: provide parent_item (id or name).
        - If both parent_item and location are provided, parent_item wins.
    
update_product_by_idA

Update an existing product with grouped parameters.

    Args:
        item_id: UUID of the item to update (required)
        identity: Optional identity updates {"new_name": str, "description": str, "asset_id": str}
        location: Optional location change {"id": str} or {"name": str}
        identifiers: Optional manufacturing updates {"serial_number", "model_number", "manufacturer"}
        purchase: Optional purchase updates {"price": float, "seller": str, "date": str, "warranty_expires": str}
        metadata: Optional metadata updates {"notes": str, "quantity": int, "tag_ids": [str], "tag_names": [str], "custom_fields": [{}]}
        status: Optional flag updates {"archived": bool, "insured": bool, "lifetime_warranty": bool}
    
list_locationsD
create_locationD
update_location_by_idD
add_bulk_productsD
list_tagsA

List Homebox tags from the current /api/v1/tags endpoint.

create_tagA

Create a Homebox tag if it does not already exist.

list_items_by_locationD
delete_product_by_idD
delete_location_by_idD
delete_bulk_productsD
create_maintenance_entry_for_productA

Create a maintenance entry for a specific Homebox product/entity.

    Use this when the user wants to log servicing, repairs, inspections,
    scheduled maintenance, or maintenance cost for an item.

    If only a product name is known, provide `product_name` and this tool
    will resolve the product first, then create the maintenance entry.
    If the product ID is known, provide `product_id` directly for faster execution.

    At least one of `scheduled_date` or `completed_date` must be provided.
    If neither is provided, both default to today's date.

    Args:
        product_id: UUID of the product/entity (preferred if known).
        product_name: Name of the product to search for (used if product_id not provided).
        name: Title/summary of the maintenance task (required).
        description: Detailed description of the work performed or planned.
        cost: Cost of the maintenance in numeric format (e.g., 150.50).
        scheduled_date: Scheduled date for maintenance (ISO 8601: YYYY-MM-DD).
                          Defaults to today if neither date is provided.
        completed_date: Completion date for maintenance (ISO 8601: YYYY-MM-DD).
                          Defaults to today if neither date is provided.

    Returns:
        Created maintenance entry dict on success, or error string on failure.
    
list_maintenance_entriesA

List maintenance entries from Homebox.

    If `product_id` (or `product_name`) is provided, returns entries for
    that product only. Otherwise aggregates maintenance entries across
    all non-location entities (the global `/api/v1/maintenance` endpoint
    is not available on Homebox v0.26+).

    Args:
        product_id: UUID of the product/entity. Preferred for speed.
        product_name: Name of the product to resolve when `product_id`
            is not provided.

    Returns:
        List of maintenance entries (each is a dict), or an error string.
    
update_maintenance_entryA

Update an existing maintenance entry.

    Homebox v0.26+ only exposes maintenance entries per-product, so this
    tool requires either `product_id` (preferred) or `product_name` to
    locate the entry's owning entity before issuing the PUT.

    Args:
        entry_id: UUID of the maintenance entry to update (required).
        product_id: UUID of the product/entity owning the entry.
        product_name: Name of the product (used to resolve the entity
            when `product_id` is missing).
        name: New title for the maintenance task.
        description: New detailed description.
        cost: New cost value (numeric).
        scheduled_date: New scheduled date (ISO 8601: YYYY-MM-DD).
        completed_date: New completion date (ISO 8601: YYYY-MM-DD).

    Returns:
        Updated maintenance entry dict on success, or error string on failure.
    
delete_maintenance_entryA

Delete a maintenance entry from Homebox.

    Use this to remove maintenance records that are no longer needed.

    Args:
        entry_id: UUID of the maintenance entry to delete (required).

    Returns:
        Success message on success, or error string on failure.
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/Tafeen/homebox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server