Skip to main content
Glama

@striderlabs/mcp-aldi

MCP (Model Context Protocol) connector for Aldi grocery. Provides tools for searching products, finding stores, browsing weekly specials, and more.

Installation

npm install @striderlabs/mcp-aldi

Related MCP server: Swissgroceries MCP

Usage

With Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "aldi": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-aldi"]
    }
  }
}

Run directly

npx @striderlabs/mcp-aldi

Available Tools

search_products

Search the Aldi product catalog by keyword or category.

Parameters:

  • query (required) — search term (e.g. "organic milk", "pasta")

  • category (optional) — filter by category: dairy, produce, bakery, frozen, meat, snacks, beverages, dry-goods, breakfast

  • limit (optional) — max results (default 10, max 50)

find_stores

Find Aldi store locations near an address, city, or zip code.

Parameters:

  • location (required) — address, city, or zip code

  • radius_miles (optional) — search radius in miles (default 10, max 50)

  • limit (optional) — max stores to return (default 5, max 20)

get_weekly_specials

Get current weekly deals and ALDI Finds.

Parameters:

  • store_id (optional) — store-specific specials

  • category (optional) — filter by category (e.g. produce, meat, aldi-finds)

get_product_details

Get detailed product info including nutrition facts, ingredients, and price.

Parameters:

  • product_id (required) — product ID from search_products

get_store_hours

Get hours and contact info for a specific store.

Parameters:

  • store_id (required) — store ID from find_stores

check_product_availability

Check if a product is available at a specific store.

Parameters:

  • product_id (required)

  • store_id (required)

Development

# Install dependencies
npm install

# Build
npm run build

# Run dev (requires tsx)
npm run dev

License

MIT

Available Tools

6 tools
check_product_availabilityB

Check whether a product is available at a specific Aldi store.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesThe product ID to check
store_idYesThe store ID to check availability at

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions checking availability but does not describe what 'available' means (e.g., in-stock, online, limited quantity), potential rate limits, authentication needs, error conditions, or the format of the response. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse and understand quickly. Every part of the sentence earns its place by contributing essential information.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete for a tool that performs a query operation. It does not explain what the return value will be (e.g., boolean, stock level, error messages) or any behavioral nuances like caching or data freshness. For a tool with no structured output information, the description should provide more context to be fully helpful.

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?

The schema description coverage is 100%, with both parameters ('product_id' and 'store_id') clearly documented in the input schema. The description does not add any additional meaning beyond what the schema provides, such as explaining how to obtain these IDs or their expected formats. Baseline 3 is appropriate when the schema does the heavy lifting.

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 specific action ('Check whether a product is available') and the resource ('at a specific Aldi store'), distinguishing it from sibling tools like 'get_product_details' or 'search_products' which focus on product information rather than availability. It uses precise language that directly communicates the tool's function without ambiguity.

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

Usage Guidelines3/5

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

The description implies usage when you need to verify product availability at a particular store, but it does not explicitly state when to use this tool versus alternatives like 'search_products' or 'get_product_details'. There is no guidance on prerequisites, exclusions, or specific scenarios, leaving the agent to infer context from the tool name and description alone.

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

find_storesB

Find Aldi store locations near a given address, city, or zip code.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesAddress, city name, or zip/postal code to search near
radius_milesNoSearch radius in miles (default 10, max 50)
limitNoMax number of stores to return (default 5, max 20)

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but only states what the tool does without detailing traits like rate limits, authentication needs, error handling, or response format. It mentions search parameters but doesn't explain what happens if no stores are found or how results are structured, leaving significant gaps in transparency.

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 a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of the sentence earns its place by specifying the action, resource, and search criteria, making it highly concise and well-structured for quick understanding.

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?

Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose but lacks details on behavioral traits, usage guidelines, and output expectations, which are needed for the agent to operate effectively. The high schema coverage helps, but the description doesn't fully compensate for the missing annotations and output schema.

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?

The description adds minimal meaning beyond the input schema, which already has 100% coverage with clear parameter descriptions. It implies location-based filtering but doesn't provide additional context on parameter interactions or usage examples. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate for any gaps.

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 specific action ('Find'), resource ('Aldi store locations'), and scope ('near a given address, city, or zip code'), making the purpose immediately understandable. It distinguishes this tool from siblings like 'get_store_hours' or 'search_products' by focusing on location-based search rather than store details or product information.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as 'get_store_hours' for operational details or 'check_product_availability' for inventory queries. It lacks context about prerequisites, exclusions, or typical use cases, leaving the agent to infer usage based solely on the tool name and description.

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

get_product_detailsA

Get detailed information about a specific Aldi product including nutrition facts, ingredients, and price.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesThe product ID (from search_products results)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes a read-only operation ('Get detailed information'), but does not address potential behavioral traits such as error handling, authentication needs, rate limits, or what happens if the product_id is invalid. For a tool with zero annotation coverage, this is a significant gap in transparency.

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 a single, efficient sentence that is front-loaded with the core purpose and includes specific details without any wasted words. Every part of the sentence contributes to understanding the tool's function.

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?

Given the tool's low complexity (single parameter, no output schema, no annotations), the description is adequate for basic understanding but incomplete. It lacks details on behavioral aspects like error handling or return format, which are important for a tool with no annotations or output schema, leaving gaps in contextual completeness.

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?

The input schema has 100% description coverage, with the parameter 'product_id' well-documented in the schema. The description adds minimal value beyond the schema by implying the product_id comes 'from search_products results', but does not provide additional syntax or format details. Baseline 3 is appropriate when the schema does the heavy lifting.

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 specific action ('Get detailed information') and resource ('about a specific Aldi product'), with explicit details on what information is included ('nutrition facts, ingredients, and price'). It distinguishes this tool from sibling tools like 'search_products' by focusing on detailed retrieval rather than searching.

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 implies usage context by specifying it's for a 'specific Aldi product' and referencing 'product_id (from search_products results)', suggesting this tool is used after searching. However, it does not explicitly state when to use alternatives like 'check_product_availability' or provide exclusions, leaving some guidance gaps.

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

get_store_hoursB

Get operating hours and contact info for a specific Aldi store.

ParametersJSON Schema
NameRequiredDescriptionDefault
store_idYesThe store ID (from find_stores results)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves information ('Get'), implying a read-only operation, but doesn't address key aspects like error handling (e.g., invalid store IDs), response format, or potential rate limits. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves beyond basic functionality.

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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action ('Get operating hours and contact info'), making it easy to parse quickly. Every part of the sentence contributes to understanding, earning its place with zero waste.

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?

Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits, usage context, and output expectations. Without annotations or an output schema, the description should do more to explain what information is returned and how to handle errors, but it meets the bare minimum for a simple lookup tool.

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?

The description adds no parameter-specific information beyond what the schema provides. Since schema description coverage is 100% (the 'store_id' parameter is fully documented in the schema), the baseline score is 3. The description doesn't compensate with additional details like format examples or usage tips, but it doesn't need to given the schema's completeness.

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 clearly states the tool's purpose with a specific verb ('Get') and resource ('operating hours and contact info for a specific Aldi store'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'find_stores' (which likely lists stores) or 'check_product_availability' (which focuses on products), leaving some ambiguity about its unique role in the context of other store-related tools.

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

Usage Guidelines2/5

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

The description provides minimal guidance, only implying usage when store details are needed. It doesn't specify when to use this tool versus alternatives (e.g., 'find_stores' for locating stores or other tools for product info), nor does it mention prerequisites like needing a store ID from 'find_stores' results, which is only hinted at in the schema. This lack of explicit context limits effective tool selection.

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

get_weekly_specialsB

Get current weekly special deals and ALDI Finds for a given store or region.

ParametersJSON Schema
NameRequiredDescriptionDefault
store_idNoOptional store ID to get location-specific specials
categoryNoOptional category to filter specials (e.g. 'produce', 'meat', 'aldi-finds')

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool retrieves 'current' deals, implying real-time or recent data, but doesn't specify whether this is a read-only operation, requires authentication, has rate limits, or what the output format looks like (e.g., list of items, prices, dates). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and constraints.

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 a single, well-structured sentence that efficiently conveys the core purpose and key parameters without any wasted words. It is front-loaded with the main action ('Get current weekly special deals and ALDI Finds') and directly addresses the tool's scope, making it easy to parse and understand quickly.

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?

Given the tool's moderate complexity (2 optional parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and parameter intent, but lacks details on behavioral traits (e.g., read-only status, error handling) and output format, which are important for an agent to use it correctly. Without annotations or an output schema, the description should do more to compensate, but it meets a minimum viable standard.

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%, meaning the input schema already fully documents the two optional parameters ('store_id' and 'category') with clear descriptions. The description adds marginal value by implying these parameters filter results ('for a given store or region' and 'category to filter specials'), but it doesn't provide additional syntax, format details, or examples beyond what the schema states. With high schema coverage, the baseline score of 3 is appropriate.

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 clearly states the tool's purpose with a specific verb ('Get') and resource ('weekly special deals and ALDI Finds'), making it immediately understandable. It distinguishes itself from siblings like 'check_product_availability' or 'search_products' by focusing on promotional items rather than general inventory or product searches. However, it doesn't explicitly contrast with all siblings (e.g., 'get_product_details' might overlap in some contexts).

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

Usage Guidelines3/5

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

The description implies usage context by specifying 'for a given store or region,' which suggests when to use this tool versus alternatives that might not be location-specific. However, it lacks explicit guidance on when to choose this over siblings like 'search_products' (which might also find specials) or 'check_product_availability' (which could check stock for special items), and it doesn't mention prerequisites or exclusions.

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

search_productsC

Search for products in the Aldi grocery catalog by keyword, category, or dietary filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch term (e.g. 'organic milk', 'pasta', 'gluten-free')
categoryNoOptional product category filter (e.g. 'dairy', 'produce', 'bakery', 'frozen', 'meat', 'snacks', 'beverages')
limitNoMax number of results to return (default 10, max 50)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions search functionality but doesn't describe what the tool returns (e.g., list of products with basic info), whether it's read-only (implied but not stated), any rate limits, authentication needs, or error conditions. For a search tool with zero annotation coverage, this leaves significant behavioral gaps.

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 a single, efficient sentence that front-loads the core purpose. Every word earns its place by specifying the action, resource, and search methods without redundancy or fluff. It's appropriately sized for a straightforward search tool.

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

Completeness2/5

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

Given the tool's moderate complexity (search with three parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain what the return values look like (e.g., product list with names, prices, IDs), how results are ordered, or any limitations (e.g., only current products). For a search tool without structured output documentation, this leaves the agent guessing about results.

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 schema already documents all three parameters thoroughly. The description adds marginal value by summarizing the search methods ('keyword, category, or dietary filter'), but doesn't provide additional syntax, format details, or constraints beyond what's in the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

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 clearly states the action ('Search for products') and resource ('Aldi grocery catalog'), with specific search methods ('by keyword, category, or dietary filter'). It distinguishes from siblings like 'check_product_availability' or 'get_product_details' by focusing on search rather than availability checks or detailed lookups. However, it doesn't explicitly contrast with 'get_weekly_specials' which might also involve product listings.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer 'search_products' over 'get_weekly_specials' for finding discounted items, or when to use 'check_product_availability' after searching. There's no context about prerequisites or exclusions, leaving usage entirely implicit.

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.0
    • First observedcheck_product_availability
    • First observedfind_stores
    • First observedget_product_details
    • First observedget_store_hours
    • First observedget_weekly_specials
    • First observedsearch_products

TDQS

A3.6/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose targeting different aspects of the Aldi shopping experience: product availability, store locations, product details, store hours, weekly specials, and product search. There is no overlap or ambiguity between these functions.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case (e.g., check_product_availability, find_stores, get_product_details). The naming convention is predictable and readable throughout the set.

Tool Count5/5

With 6 tools, this server is well-scoped for its grocery shopping domain. Each tool serves a distinct and necessary function, covering key areas like store information, product details, and deals without being overly sparse or bloated.

Completeness4/5

The tool set provides comprehensive coverage for browsing and checking Aldi products and stores, including search, details, availability, and specials. A minor gap exists in transactional operations like ordering or cart management, but core informational needs are fully met.

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

  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that enables users to search for Publix products, find store locations, and browse weekly deals. It provides detailed information including product prices, aisle locations, and store operating hours.
    3
    24
    -
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server for real-time Swiss grocery shopping that searches and compares products across 8 major Swiss retailers (Migros, Coop, Aldi, Denner, Lidl, Farmy, Volgshop, Otto’s), normalizes per-unit prices, surfaces promotions, computes optimal multi-store shopping plans, and works with any MCP-compatible client without API keys or accounts.
    7
    115
    28
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server for grocery shopping at Kroger-owned stores, enabling product search, store finder, cart management, and more through AI assistants.
    21
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A local MCP server for grocery shopping, enabling product search, specials, and browsing across NZ supermarkets, with cart and order history for Countdown/Woolworths via browser-assisted login.
    14
    1
    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/markswendsen-code/mcp-aldi'

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