CellarTracker MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CT_PASSWORD | Yes | Your CellarTracker password | |
| CT_USERNAME | Yes | Your CellarTracker username |
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
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search-cellarA | Search your wine cellar by name, color, region, varietal, location, or vintage range. The region parameter searches across Country, Region, SubRegion, Appellation, and Locale fields. Returns matching wines with details, up to 25 per page — pass offset to page through more. |
| drinking-recommendationsA | Get wine drinking recommendations sorted by urgency. Orders wines by their listed drinking window: past the window first, then in the final year, then the rest of the window (earliest end first), then not yet open. Status describes the listed window only; CellarTracker's drinkability index (a bottle-count pacing number, not a maturity measure) is reported separately and only breaks ties. Optionally filter by color. |
| cellar-statsA | Get cellar statistics: total bottles, value, unique wines, and optional breakdowns. Valid group_by options: color, country, region, varietal, location, bin, category. |
| purchase-historyB | Search purchase history with spending summary. Filter by wine name, store, or date range (YYYY-MM-DD format). Shows total spent, average price, per-store breakdown, and recent purchases. |
| recent-deliveriesA | List wines actually delivered (received) in a date range, keyed on DeliveryDate. Defaults to the last 30 days. Use this for 'what just landed', unlike purchase-history which keys on order date. |
| incoming-ordersA | List wines ordered but not yet received, from the Pending table. Sorted oldest order first. Use this for 'what's on the way', unlike recent-deliveries which shows what has already arrived. |
| bottle-detailsA | Look up individual bottles from the Bottles table — the per-bottle view spanning both in-cellar and consumed bottles, with barcode, exact location/bin, and size. Filter by wine name, location, bin, size, or barcode; set state to 'cellar' (default 'all' includes consumed). If the user attaches a photo of a bottle or its barcode, read the barcode digits from the image and pass them as the barcode filter. Location and Bin are account-specific labels, not physical descriptions — if a location/bin filter finds nothing, use cellar-stats with group_by=location or group_by=bin to see the actual values in use. Returns up to max_results per page (default 25) — pass offset to page through more. |
| get-wishlistA | View your CellarTracker wishlist wines. Optionally search by wine name, region, or varietal. |
| consumption-historyA | Search your consumption history — wines you've opened and drunk. Filter by wine name, color, or date range. Returns most recent consumptions first with tasting context, up to max_results per page (default 25) — pass offset to page through more. |
| tasting-notesA | Search your tasting notes and reviews. Filter by wine name, color, or minimum rating. Returns notes with ratings, scores, and tasting details, up to max_results per page (default 25) — pass offset to page through more. |
| refresh-dataA | Force refresh all CellarTracker data from the server. Downloads fresh CSV exports for all 8 tables regardless of cache age. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| table-List | Current cellar inventory — raw cached CSV export, refreshed via the same cache as the query tools. |
| table-Notes | Tasting notes — raw cached CSV export, refreshed via the same cache as the query tools. |
| table-Purchase | Purchase history — raw cached CSV export, refreshed via the same cache as the query tools. |
| table-Consumed | Consumed wines — raw cached CSV export, refreshed via the same cache as the query tools. |
| table-Availability | Drinking windows & pro scores — raw cached CSV export, refreshed via the same cache as the query tools. |
| table-Tag | Wishlists & custom lists — raw cached CSV export, refreshed via the same cache as the query tools. |
| table-Bottles | Individual bottle records — raw cached CSV export, refreshed via the same cache as the query tools. |
| table-Pending | Pending/in-transit orders — raw cached CSV export, refreshed via the same cache as the query tools. |
| cache-meta | Per-table freshness timestamps and server version for the cached CellarTracker export. |
TDQS
Scored across 11 tools
Tools target distinct data views (cellar wines, individual bottles, consumption history, tasting notes, deliveries, orders), and descriptions explicitly differentiate similar pairs like purchase-history vs recent-deliveries. A few overlaps remain (search-cellar vs bottle-details when filtering by wine name), but overall boundaries are clear.
All names use kebab-case, but conventions are mixed: some start with verbs (get-wishlist, search-cellar, refresh-data) while most are noun phrases (drinking-recommendations, cellar-stats). The inconsistency is noticeable though names remain readable.
With 11 tools, the set is well-scoped for a wine cellar query server. Each tool covers a distinct retrieval need without obvious redundancy.
The read-only surface is fairly thorough for searching and analyzing cellar data, but there are no tools to add, update, or delete wines, wishlist items, or tasting notes. This is a notable gap for a CellarTracker management domain.