Skip to main content
Glama
jihopark

Grocery Logger MCP Server

by jihopark

add_grocery_items

Log one or more grocery purchases to the database with timestamp, vendor, item name, category, price, quantity, and unit for price and spending tracking.

Instructions

Bulk add grocery items to the database.

Use this tool to log one or more grocery purchases. Each item requires:

  • timestamp: When purchased (ISO format, e.g., "2025-01-10T14:30:00")

  • vendor: Store name (e.g., "Costco", "Whole Foods")

  • item_name: Product name WITHOUT quantity/weight (e.g., "Organic Bananas", "Frozen Cooked Mussel")

  • category: One of: produce, dairy, eggs, meat, seafood, bakery, deli, frozen, pantry, beverages, snacks, condiments, spices, household, personal_care, baby, pet, alcohol, other

  • price: Price paid (e.g., 3.99)

  • quantity: The numeric amount (e.g., 2.0, 340, 1.5)

  • unit: Unit of the quantity (e.g., "each", "lb", "oz", "g", "kg", "ml", "L", "bunch", "bag")

IMPORTANT: Parse quantity and unit from item descriptions. Examples:

  • "Frozen Cooked Mussel 340g" -> item_name: "Frozen Cooked Mussel", quantity: 340, unit: "g"

  • "2 lbs Ground Beef" -> item_name: "Ground Beef", quantity: 2, unit: "lb"

  • "Milk 1 gallon" -> item_name: "Milk", quantity: 1, unit: "gallon"

  • "3 Avocados" -> item_name: "Avocado", quantity: 3, unit: "each"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and no output schema, the description must carry the whole behavioral burden. It discloses the write intent and gives concrete parsing guidance, but says nothing about duplicates/deduplication, batch size limits, permissions, or what a successful write returns. It also states 'Each item requires ... unit' while the schema gives unit a default of 'each', a minor inaccuracy about optionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The write intent is front-loaded, the field list is bulleted and scannable, and the worked examples are the highest-value content. It runs a bit long because the category enumeration restates the schema enum and the 'each item requires' list partially duplicates the required array.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nested-payload write tool with no annotations, no output schema, and no top-level parameter description, the definition covers required fields, formats, enum values, and parsing heuristics well. The remaining gaps are response behavior, error handling, and the optional/default nature of unit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The reported schema coverage is 0% at the top level, so the description is doing real work: it enumerates every per-item field, gives format examples (ISO timestamp, vendor names), lists the category enum, and supplies parsing rules that map free-text item strings onto item_name/quantity/unit. Those normalization examples add genuine meaning beyond the schema, though the category list merely duplicates the enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: 'Bulk add grocery items to the database.' The write semantics are unambiguous and clearly contrast with the all-read sibling set (query_item_price, list_items_by_category, query_spending, list_categories). An agent can select it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this tool to log one or more grocery purchases' gives a clear triggering context and implicitly covers the single-vs-multiple case via 'bulk'. It does not name or exclude any alternative, but the sibling tools are all read-only queries, so there is little ambiguity to resolve.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.