shelf-nu-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SHELF_URL | No | Shelf instance URL (default https://storage.takeoff-pdm.de) | https://storage.takeoff-pdm.de |
| SHELF_EMAIL | Yes | Shelf login email | |
| SHELF_ORG_ID | No | Default workspace. Without it, your last-selected or personal one is used | |
| SHELF_PASSWORD | Yes | Shelf login password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| shelf_whoamiA | Show the logged-in user and the workspaces (organizations) they belong to, incl. IDs and roles. The first workspace is the default. |
| shelf_set_workspaceA | Set the default workspace (organization) for subsequent calls in this session. |
| shelf_dashboardC | Workspace dashboard: asset/booking counts, overdue items, etc. |
| shelf_list_assetsC | Search/list assets in the workspace. |
| shelf_get_assetB | Get full details of an asset (location, custody, bookings, notes, custom fields, quantities). |
| shelf_create_assetA | Create a new asset. Use shelf_list_categories/locations/tags/custom_fields to look up IDs first. |
| shelf_update_assetB | Update fields of an asset. Omitted fields stay unchanged. |
| shelf_delete_assetA | Permanently delete an asset. Irreversible – confirm with the user first. |
| shelf_add_asset_noteB | Add a note to an asset's activity log. |
| shelf_update_asset_locationA | Move an asset to a location. For quantity-tracked assets, optionally pass a quantity. |
| shelf_adjust_quantityB | Adjust stock of a quantity-tracked asset (restock, correction, or loss). |
| shelf_manage_placementsA | Set how many units of a quantity-tracked asset sit at each location (full replacement). |
| shelf_set_asset_imageA | Upload a local image file (jpg/png/webp) as the asset's main image. |
| shelf_lookup_codeA | Resolve a scanned Shelf QR code ID or a barcode value to the asset/kit it belongs to. |
| shelf_link_qrC | Link an existing Shelf QR code to an asset. |
| shelf_list_locationsC | List/search locations. |
| shelf_list_categoriesC | List asset categories. |
| shelf_list_tagsC | List asset tags. |
| shelf_create_tagC | Create a new tag. |
| shelf_list_custom_fieldsA | List active custom field definitions (optionally those applying to one category). |
| shelf_list_team_membersB | List/search team members (needed as custodians for custody and bookings). |
| shelf_assign_custodyB | Give one or more assets into a team member's custody. For quantity-tracked assets pass |
| shelf_release_custodyC | Release custody of one or more assets. For quantity-tracked assets pass |
| shelf_bulk_update_locationC | Move several assets to one location. |
| shelf_list_kitsC | Search/list kits. |
| shelf_get_kitB | Get kit details incl. contained assets. |
| shelf_kit_actionB | Bulk action on kits: assign custody, release custody, or move to a location. |
| shelf_create_kitC | Create a new kit, optionally filled with assets right away. Returns the created kit. |
| shelf_kit_add_assetsC | Add assets to an existing kit (existing contents are kept). |
| shelf_kit_remove_assetsC | Remove assets from a kit. |
| shelf_list_bookingsC | Search/list bookings. |
| shelf_bookings_calendarB | Bookings overlapping a date range (ISO 8601 dates). |
| shelf_get_bookingB | Get booking details incl. assets and kits. |
| shelf_available_assetsC | Assets available for booking in a given period. |
| shelf_create_bookingA | Create a booking (as DRAFT). Use shelf_reserve_booking afterwards to reserve it. |
| shelf_update_bookingB | Update a booking's name, dates, custodian, description or tags (all core fields required). |
| shelf_booking_add_assetsC | Add assets and/or kits to a booking. |
| shelf_booking_remove_assetsB | Remove assets and/or kits from a booking. |
| shelf_reserve_bookingC | Reserve a DRAFT booking. |
| shelf_checkout_bookingB | Check out a reserved booking (all assets). |
| shelf_checkin_bookingA | Check in an ongoing/overdue booking (all assets). |
| shelf_cancel_bookingC | Cancel a booking. |
| shelf_archive_bookingC | Archive a completed/cancelled booking. |
| shelf_duplicate_bookingB | Duplicate a booking into a new draft. |
| shelf_delete_bookingA | Permanently delete a booking. Irreversible – confirm with the user first. |
| shelf_list_booking_tagsC | List booking tags. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 46 tools
Most tools have clearly distinct purposes and descriptions clarify overlaps (e.g., quantity vs placement, single vs bulk location moves). A few related tools (shelf_update_asset_location, shelf_bulk_update_location, shelf_manage_placements, shelf_adjust_quantity) could still be confused, but the set is largely unambiguous.
All tools use a consistent shelf_ prefix and snake_case, with no camelCase mixing. Most follow a verb_noun pattern, though a few are noun-first (shelf_dashboard, shelf_kit_action, shelf_bookings_calendar), a minor deviation.
46 tools is excessive for practical agent use; even a broad asset/booking domain doesn't require this many separate tools, and the count exceeds the threshold for 'too many' (25+).
Core CRUD and lifecycle coverage is strong for assets, kits, bookings, custody, and QR codes. Gaps exist in managing reference data (no update/delete for tags, locations, categories, custom fields, team members) and some minor lifecycle operations (unlink QR, kit updates).