Most inventory servers give you one tool per operation and let the model assemble arguments. This one folds add, update, search and delete into a single item tool that reads the sentence — UUIDs, hashtags, quoted names, `field: value` pairs and limit words are all recognised. The upside is a small tool list and calls that read like speech; the thing to watch is that a misparse and a correct parse look the same in the transcript, so check what came back after a bulk edit.
An MCP server for StashDog, a personal inventory service. The design choice throughout is natural language: rather than a tool per field, each tool takes a sentence and parses it, so "Add a new MacBook Pro with tags electronics, work, expensive" is a single call.
- Items added, updated, searched and deleted from a plain-language instruction — `manage_inventory_items`
- Collections created, renamed, deleted, and items moved in and out of them — `manage_collections`
- Tags created, searched, renamed and deleted as a set, rather than edited item by item — `manage_tags`
- Items imported straight from a URL, such as a product page — `import_from_url`
- Search that handles a described question rather than a keyword — "kitchen items that are favorited", "storage containers with more than 5 items" — plus inventory statistics — `smart_search`, `get_inventory_stats`
- Account-side reads for users, notifications, groups and subscriptions — `manage_users`, `manage_notifications`, `manage_groups`, `manage_subscriptions`
- Login handled in the session when you would rather not put a long-lived token in a config file — `authenticate`
A StashDog account and its Supabase connection details: `STASHDOG_SUPABASE_URL` and `STASHDOG_SUPABASE_ANON_KEY`, plus either `STASHDOG_AUTH_TOKEN` or a sign-in through the `authenticate` tool; `STASHDOG_EMAIL` and `STASHDOG_PASSWORD` enable auto-login. The README is explicit that it uses user access tokens only and that you should not supply a service role key. There is no published package: clone, `npm install`, `npm run build`, and point your client at `dist/index.js`. The npm name is `stashdog-mcp-server` (1.0.0 in package.json) with a binary of the same name.
