fooddb
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_foodsC | Search foods and products by name. |
| get_product_by_barcodeC | Products with this barcode (GTIN-8, -12, -13 or -14). |
| get_foodC | One product by its fooddb id. |
| get_record_productC | The product a source record (e.g. "fdc:174289", "off:0…") belongs to. |
| health_reportA | Data freshness: each fetcher's last successful check and the snapshot age, against its schedule. |
| review_queueD | Values a failed check held back, grouped per source record, next to the values served now. |
| decide_reviewA | Accept a pending value (served from the next snapshot on) or reject it (never served). |
| split_productB | Undo a wrong merge: move source records out of a product into one of their own. Matching never
joins them with the rest again. |
| read_labelA | Read a nutrition label photo (base64 JPEG, PNG or WebP) into per-100 values, on this machine.
|
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 9 tools
The four retrieval tools (search_foods, get_food, get_product_by_barcode, get_record_product) are distinguished by lookup key, which is reasonably clear, though get_food vs get_record_product could be momentarily confused since both return a single product. review_queue and decide_review are clearly complementary read/act pairs. Overall purposes are mostly distinct.
Most tools follow a clean verb_noun pattern (search_foods, get_food, decide_review, split_product, read_label), with get_* forms used consistently for lookups. health_report and review_queue break the verb_noun convention as noun phrases, a minor deviation. No mixed casing; all snake_case.
Nine tools is well-scoped for a food database with a curation/review workflow. Each tool covers a distinct lookup path or workflow step, and none feels redundant or filler.
Retrieval is thorough (name, barcode, id, source record) and the review/merge/label-reading lifecycle is covered. However there is no direct tool to edit or create product/nutrient values, and no listing/trigger for fetchers, so manual data management has minor gaps.