Skip to main content
Glama
Junk Drawer MCP Server

Junk Drawer MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JUNK_DRAWER_DBNoPath to the storage file. Defaults to data/drawer.json. If the path ends in .db, .sqlite, or .sqlite3, the server uses SQLite instead of plain JSON.data/drawer.json

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

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

Tools

Functions exposed to the LLM to take actions

NameDescription
add_itemB

Catalogue one small thing before it vanishes.

name: what you'd call it, e.g. 'HDMI to mini HDMI adapter'. kind: cable, adapter, battery, craft, key, hardware, office, medical, media or other. room: where it lives, e.g. 'office', 'kitchen junk drawer'. container: the finer spot, e.g. 'labelled tin, second drawer'. tags: comma-separated, e.g. 'hdmi, video, tv mount'. photo_hint: what a photo of its spot would show, e.g. 'silver coil left of the tape measure'.

searchC

Ask the drawer a question the way you'd ask a person.

e.g. 'do we have an HDMI adapter', 'spare house key', 'AA batteries'. Just list the words you remember; short is fine.

where_isC

The full story on one item: exact spot, picture hint, moves.

list_by_roomB

List items in one room, or with no room, show every room count.

mark_movedB

Record that an item moved (new drawer, newbox, new shelf, new box).

item: name or ID of the item, e.g. 'hdmi-to-mini-hdmi-adapter'. new_room: the room it lives in now; keep the same room with a different new_container if it only changed containers. note: optional 'why', e.g. 'rerouted to the TV drawer'.

move_historyB

Every recorded hop for one item, oldest first.

remove_itemB

Take an item out of the drawer record: used up, given away, binned.

reason: what happened, e.g. 'battery dead', 'key given to house-sitter'. gone_to: optional place it went, e.g. 'sister's apartment'.

list_kindsC

The kinds of small things this drawer tracks.

summaryB

A calm overview: counts by kind, busiest rooms, recent moves.

Prompts

Interactive templates invoked by user choice

NameDescription
find_my_thingA gentle walk through the 'do we have an HDMI adapter?' question.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target distinct intents: fuzzy lookup (search), detail retrieval (where_is), browsing (list_by_room), mutation (mark_moved, remove_item, add_item), and history (move_history). The one soft overlap is where_is, which promises 'moves' in its answer, versus move_history which returns the full hop log — an agent may hesitate between them. search vs list_by_room also brush against each other but the descriptions make the fuzzy-vs-enumerated distinction clear.

Naming Consistency3/5

All names are snake_case, but the verb_noun convention is only partially followed: add_item, remove_item, list_kinds, list_by_room, mark_moved are clean, while search and summary are bare nouns and where_is / move_history break the verb_noun pattern. Readable overall, but not a predictable schema an agent can pattern-match on.

Tool Count5/5

Nine tools is well within a healthy range and each covers a distinct slice of the household-catalogue lifecycle (capture, find, browse, relocate, remove, report). Nothing feels padded or missing at the count level.

Completeness4/5

The surface covers capture (add_item), retrieval (search, where_is, list_by_room), location mutation (mark_moved), history (move_history), deletion (remove_item), and reporting (summary, list_kinds) — a full lifecycle for the stated domain. The notable gap is editing item metadata (typo in name, corrected tags or photo_hint); the only workaround is remove_item plus re-add, which destroys move history.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues