Skip to main content
Glama

@striderlabs/mcp-instacart

Заказывайте продукты через Instacart с помощью ИИ-агентов

npm MCP Registry Claude Desktop License: MIT

Часть Strider Labs — выполнение действий для персональных ИИ-агентов.

Начните работу за 2 минуты

Для пользователей Claude Desktop

  1. Добавьте это в конфигурацию Claude Desktop:

{
  "mcpServers": {
    "instacart": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-instacart"]
    }
  }
}
  1. Перезапустите Claude.

  2. Скажите Claude: "Закажи мои обычные продукты с доставкой на завтрашнее утро"

Ваш агент теперь может оформлять заказы. Это всё.


Related MCP server: Frisco MCP

Установка (NPM)

npm install @striderlabs/mcp-instacart

Или напрямую через npx:

npx @striderlabs/mcp-instacart

Функции

  • 🛒 Поиск товаров по названию или категории

  • 📦 Просмотр магазинов и наличия товаров

  • 🏪 Добавление в корзину с указанием количества и особых пожеланий

  • 💳 Оформление заказов с выбором времени доставки

  • 📍 Отслеживание заказов со статусом в реальном времени

  • 🔐 Постоянные сессии — оставайтесь в системе после перезапуска

  • 🔄 Автоматическая MFA — обработка многофакторной аутентификации

  • 📱 Учетные данные для каждого пользователя — зашифрованное хранилище сессий

  • Сохраненные товары — заказывайте любимые продукты быстрее

Протестировано и совместимо

Компонент

Версия

Статус

MCP SDK

^1.0.0

Node.js

18+

Claude Desktop

Последняя

Claude (API)

claude-3.5-sonnet+

Anthropic SDK

^0.20+

Метрики

  • Еженедельные загрузки: 271 (10-17 апреля 2026 г.) — Лучший коннектор для продуктов (+330% роста)

  • Статус: ✅ Работает в продакшене

  • Надежность: 85%+ уровень выполнения задач

  • Обнаружение: npm, mcpservers.org, ClawHub, PulseMCP, Glama, LobeHub

Доступно на других платформах

Как это работает

Для агентов

Ваш агент может использовать следующие возможности:

// Search for products
products = search_products({
  query: "organic milk",
  location: "San Francisco, CA"
})

// Browse a store's offerings
store_products = get_store_products({
  store_id: "whole_foods_sf",
  category: "Dairy"
})

// Add to cart
add_to_cart({
  product_id: "organic_milk_gallon",
  quantity: 2,
  special_instructions: "Cold stock, please"
})

// Place an order
order = place_order({
  delivery_time: "tomorrow morning",
  delivery_address: "123 Main St, San Francisco, CA",
  special_instructions: "Ring the doorbell twice"
})

// Track delivery
status = track_order({ order_id: order.order_id })

Управление сессиями

  • У каждого пользователя есть зашифрованные, постоянные учетные данные

  • Автоматическое обновление токена OAuth

  • Обработка MFA (SMS/email)

  • Сессии сохраняются после перезапуска агента

Надежность

  • 85%+ уровень выполнения задач

  • Автоматическое обнаружение изменений в пользовательском интерфейсе (коннекторы обновляются при изменениях в Instacart)

  • Резервные пути при сбоях

  • Круглосуточный мониторинг и оповещения

Аутентификация

MCP-сервер использует постоянный профиль браузера (~/.strider/instacart/browser-profile), поэтому ваша сессия входа сохраняется после перезапуска сервера автоматически.

Первый вход в систему

  1. Установите INSTACART_HEADLESS=false в конфигурации вашего MCP-сервера, чтобы окно браузера было видно:

{
  "mcpServers": {
    "instacart": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-instacart"],
      "env": { "INSTACART_HEADLESS": "false" }
    }
  }
}
  1. Перезапустите Claude / ваш MCP-клиент.

  2. Попросите Claude запустить instacart_login — откроется настоящее окно браузера.

  3. Войдите в Instacart в этом окне.

  4. Запустите instacart_status для подтверждения аутентификации.

  5. Удалите INSTACART_HEADLESS (или установите его обратно в true) и перезапустите — сохраненный профиль позволит вам оставаться в системе.

Как работает обнаружение входа

Аутентификация проверяется путем перехода на /account и подтверждения того, что страница загружается без перенаправления на /login или /authentication (положительное обнаружение). Это надежнее, чем проверка отсутствия кнопки "Войти".

Конфигурация

Переменные окружения

# Show browser window (required for first-time login)
INSTACART_HEADLESS=false   # default: true (headless)

Самостоятельный хостинг

# Clone the repo
git clone https://github.com/striderlabsdev/mcp-instacart
cd mcp-instacart

# Install dependencies
npm install

# Start the server
npm start

# Your agent can now connect to localhost:3000

Архитектура

Как мы подключаемся

Этот коннектор использует автоматизацию браузера (Playwright) для взаимодействия с Instacart, так как у Instacart нет публичного API. Вот почему это безопасно и надежно:

  • Под контролем пользователя: Ваш агент получает доступ только к вашей собственной учетной записи Instacart

  • На основе сессий: Мы безопасно храним вашу сессию входа, а не пароль

  • Отслеживание изменений: Мы обнаруживаем изменения в интерфейсе Instacart и немедленно оповещаем об этом

  • Отпечатки устройств: Мы используем реалистичные профили браузера, чтобы избежать обнаружения ботов

  • Ограничение частоты запросов: Мы уважаем инфраструктуру Instacart, соблюдая соответствующие задержки

Безопасность

  • Учетные данные хранятся в зашифрованном виде в вашем локальном файле .env или защищенном хранилище

  • Сессии изолированы для каждого пользователя

  • Данные не передаются третьим лицам

  • Лицензия MIT — вы можете самостоятельно провести аудит кода

Поддержка

Вклад в проект

Мы приветствуем участие в проекте! Области интереса:

  • Отчеты об ошибках и исправления

  • Запросы на новые функции (новые магазины, категории и т.д.)

  • Улучшение производительности

  • Улучшение документации

См. CONTRIBUTING.md для получения инструкций.

Лицензия

MIT — бесплатно для использования, изменения и распространения. Подробности см. в LICENSE.


Создано Strider Labs — делаем ИИ-агентов действительно полезными.

GitHub | Веб-сайт | Discord

Available Tools

11 tools
instacart_add_to_cartB

Add a product to the Instacart cart. Searches for the product and adds the first matching result.

ParametersJSON Schema
NameRequiredDescriptionDefault
productYesProduct name or search query
quantityNoQuantity to add (default: 1)

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. It discloses that the tool searches and adds the first matching result, which is a key behavioral trait. However, it lacks details on error handling, authentication needs, rate limits, or what happens if the product isn't found, which are important for a mutation tool.

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 action and includes essential behavioral context. Every word earns its place, with no redundant or unnecessary information, making it highly concise and well-structured.

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 (a mutation with search behavior), no annotations, and no output schema, the description is somewhat complete but has gaps. It covers the basic operation but lacks details on prerequisites, errors, or return values, which could hinder agent effectiveness in edge cases.

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 both parameters ('product' and 'quantity') adequately. The description adds minimal value by implying the 'product' parameter is used for searching, but doesn't provide additional semantics beyond what the schema states, meeting the baseline for high coverage.

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 ('Add a product') and resource ('to the Instacart cart'), making the purpose evident. It distinguishes from siblings like 'instacart_search' by specifying it adds the first matching result, though it doesn't explicitly contrast with 'instacart_view_cart' or 'instacart_clear_cart'.

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 by mentioning it searches for the product and adds the first match, suggesting it's for adding items after a search. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'instacart_search' for browsing or 'instacart_view_cart' for checking contents, leaving some ambiguity.

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

instacart_clear_cartA

Remove all items from the Instacart cart.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/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 full burden. It states the action ('Remove all items') which implies a destructive mutation, but doesn't disclose behavioral traits like whether this requires authentication, if it's reversible, what happens to saved items, or error conditions. The description is minimal and lacks necessary context for a mutation tool.

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 with zero wasted words. It's front-loaded with the core action and resource, making it immediately understandable. Every word earns its place.

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 this is a destructive mutation tool with no annotations and no output schema, the description is incomplete. It doesn't cover authentication needs, side effects, return values, or error handling. For a tool that modifies state, more context is needed to use it safely and effectively.

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?

The tool has 0 parameters, and schema description coverage is 100% (empty schema). The description doesn't need to explain parameters, and it correctly implies no inputs are required. A baseline of 4 is appropriate for zero-parameter tools when the description is consistent.

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 ('Remove all items') and target resource ('from the Instacart cart'), using precise verb+resource phrasing. It distinguishes this tool from siblings like 'instacart_view_cart' (which shows items) and 'instacart_add_to_cart' (which adds items).

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 (when you want to empty the cart) but doesn't explicitly state when to use this vs alternatives. It doesn't mention prerequisites (e.g., needing an active cart or session) or exclusions (e.g., not for partial removal). The context is reasonable but lacks explicit guidance.

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

instacart_loginA

Initiate Instacart login flow. Returns a URL and instructions for the user to complete login manually. After logging in, use instacart_status to verify.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: the tool returns a URL and instructions for manual login, and it's part of a multi-step flow. However, it lacks details on error handling, timeout behavior, or authentication requirements beyond the basic flow.

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 perfectly concise with two sentences that front-load the core purpose and follow with essential usage guidance. Every word earns its place, with no redundancy or unnecessary elaboration.

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?

Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is nearly complete. It explains what the tool does, what it returns, and how to use it in context. The only minor gap is lack of explicit error or edge case handling.

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?

The tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description appropriately focuses on the tool's behavior rather than parameters, meeting the baseline for parameterless tools.

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 purpose with a specific verb ('Initiate') and resource ('Instacart login flow'), distinguishing it from siblings like instacart_status (verification) and instacart_logout (termination). It precisely defines what the tool does without being tautological.

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?

The description explicitly states when to use this tool ('Initiate Instacart login flow') and provides clear alternatives for next steps ('use instacart_status to verify'). It includes prerequisites (manual user completion) and distinguishes it from other login-related tools in the sibling list.

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

instacart_logoutA

Clear saved Instacart session and cookies. Use this to log out or reset authentication state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/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. It discloses the behavioral trait of clearing session/cookies and resetting authentication state, which is appropriate for a logout tool. However, it doesn't mention potential side effects (e.g., loss of cart data, need to re-login for subsequent operations) or error conditions.

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 that are front-loaded with the core action and followed by usage guidance. Every sentence earns its place with no wasted words, making it highly efficient and clear.

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?

Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is complete enough for a logout operation. It explains what the tool does and when to use it. A 5 would require more behavioral details (e.g., confirmation of logout success), but it's largely adequate.

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?

The tool has 0 parameters with 100% schema description coverage. The description doesn't need to add parameter details, so it appropriately focuses on the tool's purpose and usage. Baseline 4 is correct for zero-parameter tools.

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 ('Clear saved Instacart session and cookies') and the resource affected (authentication state). It distinguishes itself from siblings like instacart_login by focusing on logout/reset rather than login or other cart operations.

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?

Explicitly states when to use this tool: 'to log out or reset authentication state.' This provides clear context for usage versus alternatives like instacart_login for authentication or other tools for cart management.

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

instacart_place_orderA

Place the order. IMPORTANT: Set confirm=true only when you have explicit user confirmation. Without confirm=true, this returns a preview instead of placing the order.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNoSet to true to actually place the order. If false or omitted, returns a preview instead. NEVER set to true without explicit user confirmation.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden and effectively discloses key behavioral traits: it describes the dual-mode operation (preview vs. actual placement), emphasizes the critical safety rule for 'confirm=true', and implies mutation (placing an order). However, it lacks details on error handling, response format, or side effects like payment processing.

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 with zero waste: the first states the purpose, the second provides crucial usage rules and behavioral context. It is front-loaded with the core action and efficiently conveys all necessary information without redundancy.

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 single-parameter mutation tool with no annotations or output schema, the description is mostly complete: it covers purpose, usage, and key behavior. However, it omits details on what happens after placement (e.g., order confirmation, errors) or prerequisites (e.g., requires a logged-in session or populated cart), leaving minor gaps.

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 fully documents the 'confirm' parameter. The description adds minimal value beyond restating the schema's warning about user confirmation and preview behavior, aligning with the baseline score for high schema coverage.

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 verb ('Place') and resource ('the order'), distinguishing it from siblings like 'instacart_preview_order' (which it explicitly references) and 'instacart_add_to_cart'. It specifies the core action of submitting an order, not just modifying or viewing cart contents.

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?

It provides explicit when-to-use guidance: 'Set confirm=true only when you have explicit user confirmation' and 'Without confirm=true, this returns a preview instead of placing the order'. It also implicitly contrasts with 'instacart_preview_order' by noting the preview functionality, offering clear alternatives.

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

instacart_preview_orderB

Preview order before placing. Shows cart summary, delivery window, and any issues that need to be resolved.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It mentions the tool 'shows cart summary, delivery window, and any issues' which describes output behavior, but doesn't disclose whether this is a read-only operation, if it requires authentication, potential rate limits, or side effects. For a preview 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 perfectly concise: two sentences that efficiently communicate purpose and output. Every word earns its place with no redundancy or unnecessary elaboration. The structure is front-loaded with the core purpose followed by specific output details.

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 zero parameters, no annotations, and no output schema, the description provides adequate basic information about what the tool does. However, for a tool that likely interacts with user accounts and shopping data, it should ideally mention authentication requirements or relationship to other cart operations. The description is minimally complete but could be more comprehensive.

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?

The tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and instead focuses on what the tool does and what information it provides.

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: 'Preview order before placing' is a specific verb+resource combination. It distinguishes from siblings like 'instacart_place_order' (which actually places the order) and 'instacart_view_cart' (which likely shows current cart contents without preview details). However, it doesn't explicitly differentiate from all siblings, keeping it at 4 rather than 5.

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 ('before placing') but doesn't provide explicit guidance on when to use this versus alternatives like 'instacart_view_cart' or 'instacart_status'. It suggests this is a pre-check before order placement, but lacks clear when-not-to-use criteria or prerequisite requirements.

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

instacart_set_addressC

Set delivery address or zip code for Instacart orders.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesFull address or zip code (e.g., '123 Main St, San Francisco, CA' or '94105')

TDQS

C2.9/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 'Set[s] delivery address or zip code,' implying a write operation, but doesn't disclose critical behaviors like whether this requires authentication, if it's reversible, what happens to existing addresses, or error conditions. This leaves significant gaps for a mutation tool.

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, clear sentence that efficiently conveys the core purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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 that this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on authentication requirements, side effects, return values, error handling, and how it fits into the broader Instacart workflow, leaving the agent with insufficient context for reliable 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?

The schema description coverage is 100%, with the parameter 'address' fully documented in the input schema (including examples). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for adequate but minimal value.

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 ('Set') and resource ('delivery address or zip code for Instacart orders'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'instacart_status' or 'instacart_stores' which might also involve location-related operations.

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 prerequisites (e.g., whether login is required), exclusions, or how it relates to sibling tools like 'instacart_place_order' or 'instacart_preview_order' in the ordering workflow.

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

instacart_statusA

Check Instacart login status and session info. Use this to verify authentication before performing other actions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the tool's purpose (checking login status/session info) and context (verification before other actions), but lacks details about what specific information is returned, error conditions, or how it determines authentication status. It's adequate but has gaps in behavioral specifics.

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 concise sentences with zero waste. The first sentence states the purpose, and the second provides usage guidance. Every word earns its place, and it's front-loaded with the core functionality.

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?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is reasonably complete. It explains what the tool does and when to use it. However, without an output schema, it could benefit from mentioning what information is returned (e.g., user ID, session validity, error messages) to be fully comprehensive.

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?

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description appropriately doesn't add parameter information beyond what's already covered, maintaining a baseline score for parameterless tools.

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 purpose with specific verbs ('check', 'verify') and resources ('Instacart login status', 'session info'). It distinguishes itself from siblings by focusing on authentication verification rather than cart management, ordering, or other actions.

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?

The description explicitly states when to use this tool: 'before performing other actions.' This provides clear guidance on its role as a prerequisite check for authentication-dependent operations among the sibling tools.

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

instacart_storesB

Get list of available stores for the current delivery location.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/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 states the tool retrieves a list, implying a read-only operation, but doesn't clarify if it requires authentication, has rate limits, or what the output format might be (e.g., list structure, error handling). For a tool with zero annotation coverage, this is inadequate.

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, clear sentence with no wasted words. It's front-loaded with the core purpose and efficiently conveys the essential information. Every part of the sentence earns its place, making it highly concise and well-structured.

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 (0 parameters, no output schema, no annotations), the description is minimally complete. It states what the tool does but lacks details on behavioral aspects like authentication needs or output format. For a simple read operation, this is adequate but leaves gaps in operational context.

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?

The tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it correctly avoids mentioning any. This meets the baseline for tools with no parameters.

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: 'Get list of available stores for the current delivery location.' It specifies the action ('Get list') and resource ('available stores'), and distinguishes it from siblings like 'instacart_search' or 'instacart_set_address'. However, it doesn't explicitly differentiate from all siblings, such as 'instacart_status', which might also relate to location context.

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 mentions 'current delivery location' but doesn't specify prerequisites (e.g., whether an address must be set first) or when to prefer this over other tools like 'instacart_search' for store-related queries. This leaves the agent with minimal usage context.

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

instacart_view_cartA

View current Instacart cart contents, including items, quantities, and totals.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 mentions what data is returned ('items, quantities, and totals') but does not address other behavioral traits such as authentication requirements (implied by sibling tools like 'instacart_login'), rate limits, error conditions, or whether it requires an active session. This leaves significant gaps for a tool in a context with authentication-related siblings.

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 tool's purpose without any wasted words. It is front-loaded with the core action ('View current Instacart cart contents') and adds necessary specifics ('including items, quantities, and totals') concisely.

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 simplicity (0 parameters, no output schema) and lack of annotations, the description is adequate for basic understanding but incomplete. It does not address contextual needs like authentication (implied by sibling tools) or error handling, which are important in this server's context. The description is complete enough for a read-only view tool but misses broader integration aspects.

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?

The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on the tool's purpose. A baseline of 4 is applied as it effectively handles the lack of parameters without unnecessary detail.

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 verb ('View') and resource ('current Instacart cart contents'), with explicit details about what is included ('items, quantities, and totals'). It distinguishes this tool from siblings like 'instacart_add_to_cart' or 'instacart_clear_cart' by focusing on read-only viewing rather than modification.

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 'current Instacart cart contents,' suggesting it should be used to check cart status. However, it does not explicitly state when to use this tool versus alternatives (e.g., 'instacart_preview_order' for order details or 'instacart_status' for general status), nor does it provide exclusions or prerequisites.

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. 11 tool updatesv0.1.3
    • First observedinstacart_add_to_cart
    • First observedinstacart_clear_cart
    • First observedinstacart_login
    • First observedinstacart_logout
    • First observedinstacart_place_order
    • First observedinstacart_preview_order
    • First observedinstacart_search
    • First observedinstacart_set_address
    • First observedinstacart_status
    • First observedinstacart_stores
    • First observedinstacart_view_cart

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity. For example, instacart_search finds products, instacart_add_to_cart adds them, and instacart_view_cart shows the cart, making misselection unlikely. The tools cover different aspects like authentication, cart management, ordering, and store selection without overlap.

Naming Consistency5/5

All tool names follow a consistent 'instacart_verb_noun' pattern, such as instacart_add_to_cart and instacart_set_address. This predictable naming scheme enhances readability and helps agents understand the tool's function at a glance, with no deviations in style.

Tool Count5/5

With 11 tools, the server is well-scoped for an Instacart integration, covering essential workflows like login, search, cart management, and ordering. Each tool serves a specific function, and the count is neither too sparse nor bloated, fitting typical server ranges of 3-15 tools.

Completeness4/5

The tool surface is nearly complete for the Instacart domain, covering core operations from authentication to order placement. Minor gaps exist, such as the lack of tools for updating cart item quantities or removing specific items, but agents can work around these by using clear_cart and re-adding items.

Maintenance

ActivityInactive
ResponsivenessWithin a week

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

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-instacart'

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