Skip to main content
Glama
Canada's Food Guide MCP Server

Canada's Food Guide MCP Server

Store Recipe In Session

store_recipe_in_session

Stores a fetched Canada's Food Guide recipe in session memory, splitting ingredients, instructions, and metadata into structured collections so you can analyze recipes, scale servings, and plan meals.

Instructions

Store a fetched recipe in virtual memory session for detailed analysis and manipulation.

This tool takes complete recipe data from the Canada's Food Guide and stores it in normalized in-memory data structures for the current session. The recipe is broken down into separate virtual collections for ingredients, instructions, and metadata to enable structured analysis and calculations without database bloat.

Use this tool after fetching a recipe with get_recipe() to enable:

  • Detailed recipe analysis and comparison

  • Ingredient-level manipulation and serving size calculations

  • Memory-based storage during the session for multiple recipe workflows

  • Structured access to recipe components for meal planning

The stored data includes:

  • Main recipe metadata (title, servings, timing, categories, tips)

  • Individual ingredients list with ordering

  • Step-by-step instructions with sequence

  • Visual highlights and cooking tips

Input Schema

NameRequiredDescriptionDefault
recipe_inputYesContains session_id (unique identifier for this recipe session) and complete recipe_data (dictionary from get_recipe() tool with all recipe details)

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses in-memory normalized storage, component breakdown, current-session scope, and stored fields, but omits prerequisites such as whether a virtual session must already exist, overwrite or append behavior, cleanup expectations, and error handling.

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

Conciseness3/5

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

The purpose is front-loaded and bullet structure aids scanning, but the opening sentence is repeated by the following paragraph and some use-case and stored-data items are verbose. The phrase 'without database bloat' is filler rather than actionable detail.

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

Completeness3/5

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

The output schema and fully described input schema reduce what the description must cover, and it explains what gets stored. However, for a session-storage mutation in a crowded session-tool family, it should clarify prerequisites and how it differs from related session creation and temporary-table tools.

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 description coverage is 100%, so the nested recipe_input, session_id, and recipe_data are already documented. The description reinforces that recipe_data comes from get_recipe(), but it adds little constraint or format detail beyond the schema, making 3 the appropriate baseline.

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

Purpose4/5

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

The description states a specific verb and resource (store a fetched recipe) and scope (virtual memory session), with clear downstream uses. It does not distinguish this tool from similar session-storage siblings such as store_recipe_in_temp_tables or create_virtual_recipe_session, so it falls short of a 5.

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?

It gives an explicit precondition: use this after fetching a recipe with get_recipe(). It also lists intended use cases, but it provides no when-not guidance or alternatives, which is important given the many overlapping session tools.

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