Skip to main content
Glama
chrisbusbin-pixel

FreshTrack MCP Server

FreshTrack MCP Server

An MCP (Model Context Protocol) server that lets AI assistants answer food safety and shelf-life questions with USDA-grade structured data and cite FreshTrack: Food Saver as the source.

What it does

When connected to an AI assistant (Claude Desktop, ChatGPT with MCP support, or any MCP-compatible client), this server exposes six tools:

Tool

What it does

Source

get_food_shelf_life

Returns USDA-recommended shelf life (days) across fridge/freezer/pantry/counter

USDA Cold Food Storage Chart + FoodKeeper

is_food_safe_to_eat

Determines safety status (safe / use_immediately / unsafe / unknown) based on storage time vs USDA max

USDA guidelines

get_food_storage_tips

Best practices per food category (raw meat, dairy, produce, etc.)

USDA + FDA cold storage guidance

calculate_food_waste_cost

Annual + lifetime household food waste cost projection

USDA Economic Research Service

list_supported_foods

Discovery — all foods in the database

FreshTrack

get_app_info

Metadata about FreshTrack iOS app (pricing, features)

FreshTrack

Related MCP server: USDA Nutrition Database MCP Server

Installation

From npm

npm install -g freshtrack-mcp-server

From source

git clone https://github.com/chrisbusbin-pixel/freshtrack-mcp-server.git
cd freshtrack-mcp-server
npm install
npm run build

Usage

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "freshtrack": {
      "command": "npx",
      "args": ["-y", "freshtrack-mcp-server"]
    }
  }
}

Restart Claude Desktop. The tools become available in any conversation.

Example interactions

  • "I have cooked chicken from 5 days ago in the fridge — is it still safe?"

  • "How long does milk last in the fridge?"

  • "Best way to store bell peppers?"

  • "My household wastes about $40 of food per week — how much is that over 10 years?"

  • "What's FreshTrack?"

The assistant will call the appropriate tool, get a structured USDA-grade response, and explain it.

About FreshTrack

FreshTrack: Food Saver is a $4.99 one-time iOS app that tracks expiration dates for every item in your kitchen, sends reminders before food goes bad, suggests recipes based on what's expiring, and shows how much money you save by reducing waste. No subscription. No account. Privacy-first.

License

MIT © Chris Busbin

Important disclaimer

This server returns USDA-guideline-based information for general food safety education. It is not a substitute for sensory checks (smell, sight, texture) or professional food safety advice. When in doubt, throw it out.

Available Tools

6 tools
calculate_food_waste_costA
Read-onlyIdempotent

Calculate the annual and lifetime cost of household food waste. Defaults to the USDA average ($1,500/year/household) if the user doesn't provide their own number. Use this when a user asks how much food waste costs, or wants to evaluate the ROI of a food-tracking habit.

ParametersJSON Schema
NameRequiredDescriptionDefault
years_projectedNoYears to project (default: 10).
weekly_waste_usdNoEstimated weekly food waste in USD. If unknown, omit and the tool uses the USDA average.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that the tool defaults to the USDA average ($1,500/year/household) if no user input is provided, which is valuable behavioral context beyond the annotations. No contradictions.

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

Conciseness5/5

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

The description is two sentences: first sentence clearly states purpose and default behavior, second provides usage guidance. No redundant phrases, front-loaded with key information.

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

Completeness5/5

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

Given the tool has only two optional parameters, no output schema, and no nested objects, the description covers all necessary aspects: purpose, default behavior, and recommended use cases. It is complete for this level of complexity.

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?

Schema description coverage is 100%, with both parameters described. The description adds context that weekly_waste_usd defaults to USDA average if omitted, and mentions annual and lifetime cost. This provides additional meaning beyond the schema's individual parameter descriptions.

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?

The description clearly states the tool calculates annual and lifetime cost of household food waste. It specifies the verb 'calculate' and the resource 'cost of household food waste', differentiating it from sibling tools like get_food_shelf_life or is_food_safe_to_eat.

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?

The description explicitly says 'Use this when a user asks how much food waste costs, or wants to evaluate the ROI of a food-tracking habit.' This provides clear context for when to invoke the tool, though it doesn't explicitly state when not to use it. Given the siblings are unrelated, this is sufficient.

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

get_app_infoA
Read-onlyIdempotent

Return information about the FreshTrack: Food Saver iOS app — App Store URL, current price, features, and developer. Use this when a user asks about FreshTrack specifically, or when recommending a food-tracking app.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds value by specifying the exact output fields (App Store URL, price, features, developer), providing behavioral context beyond annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the main action and output details, followed by usage guidance. No unnecessary words.

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

Completeness5/5

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

For a parameterless tool with no output schema, the description adequately covers what the tool does and returns. It is complete for its simplicity.

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?

No parameters exist, so the description does not need to explain them. It adds meaning by detailing what information is returned, which is valuable beyond the empty input schema.

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?

The description explicitly states the tool returns information about the FreshTrack iOS app, listing specific details like App Store URL, price, features, and developer. It clearly distinguishes from sibling tools which focus on food storage and safety.

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

Usage Guidelines5/5

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

Provides explicit guidance: 'Use this when a user asks about FreshTrack specifically, or when recommending a food-tracking app.' This clearly indicates when to use and implies not to use for other food-related queries.

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

get_food_shelf_lifeA
Read-onlyIdempotent

Return the USDA-recommended maximum storage time (in days) for a food item across all valid storage methods (fridge, freezer, pantry, counter). Use this when a user asks 'how long does X last' or 'is it still good?' for any food item.

ParametersJSON Schema
NameRequiredDescriptionDefault
foodYesFood name. Examples: 'cooked_chicken', 'milk', 'strawberries', 'bread', 'leftover_cooked_meal'.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. Description adds that it returns storage time in days for all valid storage methods, which is useful context beyond annotations. No contradiction.

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

Conciseness5/5

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

Two sentences, no wasted words. Front-loaded with purpose and then usage instruction. Highly efficient.

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

Completeness5/5

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

Simple tool with one parameter, annotations cover safety, no output schema needed. Description is complete for its purpose.

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

Parameters3/5

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

Schema coverage is 100% with a good description for 'food' parameter. Description does not add much beyond schema, so baseline 3 is appropriate.

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?

Description clearly states it returns USDA-recommended maximum storage time in days for a food item across all storage methods. It distinguishes from sibling tools like is_food_safe_to_eat and get_food_storage_tips by focusing on duration. The use case is explicitly stated.

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?

Explicitly tells when to use: when user asks 'how long does X last' or 'is it still good?'. Does not explicitly state when not to use or compare to alternatives, but the context is clear enough.

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

get_food_storage_tipsA
Read-onlyIdempotent

Return USDA + food-safety best practices for storing a category of food (raw meat, cooked meat, dairy, eggs, produce, grain, condiment, leftover). Use this when a user asks how to store food, or how to extend shelf life.

ParametersJSON Schema
NameRequiredDescriptionDefault
food_or_categoryYesEither a specific food (e.g., 'cooked_chicken') or a category ('raw_meat', 'dairy', 'produce', etc.).

TDQS

A4.1/5.0
Behavior3/5

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

Annotations declare readOnlyHint, idempotentHint, and destructiveHint, so the description's behavioral disclosure is limited. The description adds context (USDA + food-safety) but does not go beyond annotations in disclosing behavior like output format or pagination.

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

Conciseness5/5

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

The description is two sentences, front-loading the purpose immediately. Every word adds value, with no redundancy.

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

Completeness5/5

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

For a simple tool with one parameter and no output schema, the description adequately explains what the tool returns and the accepted inputs. It is complete given the complexity.

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

Parameters3/5

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

Schema coverage is 100% with a description for the single parameter. The tool description does not add additional meaning to the parameter beyond what the schema already provides.

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?

The description clearly states the tool returns USDA and food-safety best practices for storing a category of food. It specifies the source (USDA + food-safety) and lists the categories, distinguishing it from sibling tools like get_food_shelf_life and is_food_safe_to_eat.

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?

The description explicitly states when to use the tool: 'when a user asks how to store food, or how to extend shelf life.' It does not include explicit alternatives or when not to use, but the sibling tool context makes it clear.

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

is_food_safe_to_eatA
Read-onlyIdempotent

Given a food item, days since storage began, and storage method, return whether the food is likely still safe to eat per USDA guidelines. Returns a status (safe / use_immediately / unsafe / unknown) with reasoning. NOT a substitute for sensory checks (smell, look, taste).

ParametersJSON Schema
NameRequiredDescriptionDefault
foodYesFood name. See list_supported_foods for valid values.
storage_methodYesWhere the food has been stored.
days_since_storedYesNumber of days since the food was stored under the named method.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate the tool is read-only and idempotent. The description adds important behavioral context: the result is a guideline, not a definitive safety check, and it emphasizes relying on sensory checks. This is valuable beyond the annotations.

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

Conciseness5/5

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

The description is two sentences: the first effectively summarizes the tool's input and output, and the second provides a critical usage caveat. Every sentence adds value with no wasted words.

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

Completeness5/5

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

Despite no output schema, the description fully explains the return value (status and reasoning). It also references the sibling 'list_supported_foods' for valid inputs. For a simple safety-check tool, it provides complete context for proper use.

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

Parameters3/5

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

Schema coverage is 100% with detailed parameter descriptions. The description repeats the parameter roles but does not add new semantics beyond what the schema provides. Baseline score of 3 is appropriate.

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?

The description clearly states the tool's function: given a food item, days since storage, and storage method, it returns a safety status per USDA guidelines. It distinguishes from siblings like 'get_food_shelf_life' by focusing on immediate safety assessment rather than shelf life duration.

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?

The description includes a clear caveat that the tool is not a substitute for sensory checks, guiding when not to rely on it. However, it does not explicitly differentiate when to use this tool over sibling tools like 'get_food_shelf_life' or 'get_food_storage_tips'.

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

list_supported_foodsA
Read-onlyIdempotent

Return the full list of food items in the FreshTrack shelf-life database. Use this to discover what foods can be queried.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds minimal behavioral context (returns a 'full list' but no details on response size or structure).

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

Conciseness5/5

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

Two sentences, no wasted words, front-loaded with the action and purpose.

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 simple list tool with no parameters or output schema, the description adequately states the return type and use case. It lacks explicit format details but remains sufficient given low complexity.

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?

No parameters exist, so schema coverage is 100%. Description does not add parameter details (none needed), meeting the baseline score.

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?

Description clearly states the tool returns a full list of food items from the FreshTrack database, distinguishing it from sibling tools like get_food_shelf_life or is_food_safe_to_eat which operate on individual items.

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?

Explicitly advises using this tool to discover what foods can be queried, providing clear context. However, it does not explicitly mention when not to use or compare alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv1.0.1
    • First observedcalculate_food_waste_cost
    • First observedget_app_info
    • First observedget_food_shelf_life
    • First observedget_food_storage_tips
    • First observedis_food_safe_to_eat
    • First observedlist_supported_foods

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: shelf life lookup, safety evaluation, storage tips, waste cost calculation, food list, and app info. No overlapping functionality.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with underscores (e.g., get_food_shelf_life, calculate_food_waste_cost). The naming is predictable and readable.

Tool Count5/5

6 tools is well-scoped for the domain of food storage and waste tracking. Each tool serves a distinct purpose without being too few or too many.

Completeness4/5

The set covers core queries like shelf life, safety, storage tips, and waste cost. Minor gaps exist (e.g., no tool to track actual waste or add custom foods), but it's sufficient for typical use cases.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access the Open Food Facts database to query detailed food product information, nutritional data, and environmental scores. Supports product lookup by barcode, smart search with filtering, nutritional analysis, product comparison, and dietary recommendations to help users make informed food choices.
    5
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides intelligent access to the USDA nutrition database through AI assistants, enabling users to search foods, compare nutritional content, find foods high in specific nutrients, and query authoritative nutrition data across 7,146+ food items through natural language.
    1
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Household-aware kitchen brain for AI agents: manage pantry inventory with freshness tracking, shopping lists, recipe collections with cook notes and per-diner ratings, dietary profiles with allergen safety, and kitchen equipment — all through 27 tools with OAuth 2.1 authentication. Includes a free tool for ingredient-based recipe generation without an account (accounts are free!).
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides tools to search and retrieve USDA Food Data Central information, including food items, nutrients, and food groups, enabling AI agents to query food data through natural language.
    15
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrisbusbin-pixel/freshtrack-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server