search_locations | Search for Kroger store locations near a zip code.
Args:
zip_code: Zip code to search near (uses environment default if not provided)
radius_in_miles: Search radius in miles (1-100)
limit: Number of results to return (1-200)
chain: Filter by specific chain name
Returns:
Dictionary containing location search results
|
get_location_details | Get detailed information about a specific Kroger store location.
Args:
location_id: The unique identifier for the store location
Returns:
Dictionary containing detailed location information
|
set_preferred_location | Set a preferred store location for future operations.
Args:
location_id: The unique identifier for the store location
Returns:
Dictionary confirming the preferred location has been set
|
get_preferred_location | Get the currently set preferred store location.
Returns:
Dictionary containing the preferred location information
|
check_location_exists | Check if a location exists in the Kroger system.
Args:
location_id: The unique identifier for the store location
Returns:
Dictionary indicating whether the location exists
|
get_product_images | Get an image for a specific product from the requested perspective.
Use get_product_details first to see what perspectives are available (typically "front", "back", "left", "right").
Args:
product_id: The unique product identifier
perspective: The image perspective to retrieve (default: "front")
location_id: Store location ID (uses preferred if not provided)
Returns:
The product image from the requested perspective
|
search_products | Search for products at a Kroger store.
Args:
search_term: Product search term (e.g., "milk", "bread", "organic apples")
location_id: Store location ID (uses preferred location if not provided)
limit: Number of results to return (1-50)
fulfillment: Filter by fulfillment method (csp=curbside pickup, delivery, pickup)
brand: Filter by brand name
Returns:
Dictionary containing product search results
|
get_product_details | Get detailed information about a specific product.
Args:
product_id: The unique product identifier
location_id: Store location ID for pricing/availability (uses preferred if not provided)
Returns:
Dictionary containing detailed product information
|
search_products_by_id | Search for products by their specific product ID.
Args:
product_id: The product ID to search for
location_id: Store location ID (uses preferred location if not provided)
Returns:
Dictionary containing matching products
|
add_items_to_cart | Add a single item to the user's Kroger cart and track it locally.
If the user doesn't specifically indicate a preference for pickup or delivery,
you should ask them which modality they prefer before calling this tool.
Args:
product_id: The product ID or UPC to add to cart
quantity: Quantity to add (default: 1)
modality: Fulfillment method - PICKUP or DELIVERY
Returns:
Dictionary confirming the item was added to cart
|
bulk_add_to_cart | Add multiple items to the user's Kroger cart in a single operation.
If the user doesn't specifically indicate a preference for pickup or delivery,
you should ask them which modality they prefer before calling this tool.
Args:
items: List of items to add. Each item should have:
- product_id: The product ID or UPC
- quantity: Quantity to add (default: 1)
- modality: PICKUP or DELIVERY (default: PICKUP)
Returns:
Dictionary with results for each item
|
view_current_cart | View the current cart contents tracked locally.
Note: This tool can only see items that were added via this MCP server.
The Kroger API does not provide permission to query the actual user cart contents.
Returns:
Dictionary containing current cart items and summary
|
remove_from_cart | Remove an item from the local cart tracking only.
IMPORTANT: This tool CANNOT remove items from the actual Kroger cart in the app/website.
It only updates our local tracking to stay in sync. The user must remove the item from
their actual cart through the Kroger app or website themselves.
Use this tool only when:
1. The user has already removed an item from their Kroger cart through the app/website
2. You need to update the local tracking to reflect that change
Args:
product_id: The product ID to remove
modality: Specific modality to remove (if None, removes all instances)
Returns:
Dictionary confirming the removal from local tracking
|
clear_current_cart | Clear all items from the local cart tracking only.
IMPORTANT: This tool CANNOT remove items from the actual Kroger cart in the app/website.
It only clears our local tracking. The user must remove items from their actual cart
through the Kroger app or website themselves.
Use this tool only when:
1. The user has already cleared their Kroger cart through the app/website
2. You need to update the local tracking to reflect that change
3. Or when the local tracking is out of sync with the actual cart
Returns:
Dictionary confirming the local cart tracking was cleared
|
mark_order_placed | Mark the current cart as an order that has been placed and move it to order history.
Use this after you've completed checkout on the Kroger website/app.
Args:
order_notes: Optional notes about the order
Returns:
Dictionary confirming the order was recorded
|
view_order_history | View the history of placed orders.
Note: This tool can only see orders that were explicitly marked as placed via this MCP server.
The Kroger API does not provide permission to query the actual order history from Kroger's systems.
Args:
limit: Number of recent orders to show (1-50)
Returns:
Dictionary containing order history
|
list_chains | Get a list of all Kroger-owned chains.
Returns:
Dictionary containing chain information
|
get_chain_details | Get detailed information about a specific Kroger chain.
Args:
chain_name: Name of the chain to get details for
Returns:
Dictionary containing chain details
|
check_chain_exists | Check if a chain exists in the Kroger system.
Args:
chain_name: Name of the chain to check
Returns:
Dictionary indicating whether the chain exists
|
list_departments | Get a list of all available departments in Kroger stores.
Returns:
Dictionary containing department information
|
get_department_details | Get detailed information about a specific department.
Args:
department_id: The unique identifier for the department
Returns:
Dictionary containing department details
|
check_department_exists | Check if a department exists in the Kroger system.
Args:
department_id: The department ID to check
Returns:
Dictionary indicating whether the department exists
|
get_user_profile | Get the authenticated user's Kroger profile information.
Returns:
Dictionary containing user profile data
|
test_authentication | Test if the current authentication token is valid.
Returns:
Dictionary indicating authentication status
|
get_authentication_info | Get information about the current authentication state and token.
Returns:
Dictionary containing authentication information
|
force_reauthenticate | Force re-authentication by clearing the current authentication token.
Use this if you're having authentication issues or need to log in as a different user.
Returns:
Dictionary indicating the re-authentication was initiated
|
get_current_datetime | Get the current system date and time.
This tool is useful for comparing with cart checkout dates, order history,
or any other time-sensitive operations.
Returns:
Dictionary containing current date and time information
|
start_authentication | Start the OAuth authentication flow with Kroger.
This tool returns a URL that the user needs to open in their browser
to authenticate with Kroger. After authorization, the user will be
redirected to a callback URL that they need to copy and paste back.
Returns:
Dictionary with authorization URL and instructions
|
complete_authentication | Complete the OAuth flow using the redirect URL from Kroger.
After opening the auth URL in your browser and authorizing the app,
you'll be redirected to a callback URL. Copy that entire URL and
pass it to this tool to complete the authentication process.
Args:
redirect_url: The full URL from your browser after authorization
Returns:
Dictionary indicating authentication status
|