Skip to main content
Glama

@striderlabs/mcp-instacart

Pide comestibles a través de Instacart usando agentes de IA

npm MCP Registry Claude Desktop License: MIT

Parte de Strider Labs — ejecución de acciones para agentes de IA personales.

Empieza en 2 minutos

Para usuarios de Claude Desktop

  1. Añade esto a tu configuración de Claude Desktop:

{
  "mcpServers": {
    "instacart": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-instacart"]
    }
  }
}
  1. Reinicia Claude.

  2. Dile a Claude: "Pide mis comestibles habituales para entrega mañana por la mañana"

Tu agente ya puede realizar pedidos. Eso es todo.


Related MCP server: Frisco MCP

Instalación (NPM)

npm install @striderlabs/mcp-instacart

O directamente con npx:

npx @striderlabs/mcp-instacart

Características

  • 🛒 Buscar productos por nombre o categoría

  • 📦 Explorar tiendas y disponibilidad de productos

  • 🏪 Añadir al carrito con cantidades y peticiones especiales

  • 💳 Realizar pedidos con selección de hora de entrega

  • 📍 Seguimiento de pedidos con estado en tiempo real

  • 🔐 Sesiones persistentes - mantente conectado tras los reinicios

  • 🔄 MFA automático - gestiona la autenticación de múltiples factores

  • 📱 Credenciales por usuario - almacenamiento de sesión cifrado

  • Artículos guardados - pide tus favoritos más rápido

Probado y compatible

Componente

Versión

Estado

MCP SDK

^1.0.0

Node.js

18+

Claude Desktop

Última

Claude (API)

claude-3.5-sonnet+

Anthropic SDK

^0.20+

Métricas

  • Descargas semanales: 271 (10-17 de abril de 2026) — Conector de comestibles líder (crecimiento del +330%)

  • Estado: ✅ En producción

  • Fiabilidad: Tasa de finalización de tareas del 85%+

  • Descubrimiento: npm, mcpservers.org, ClawHub, PulseMCP, Glama, LobeHub

Disponible en otros lugares

Cómo funciona

Para agentes

Tu agente puede usar estas capacidades:

// 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 })

Gestión de sesiones

  • Cada usuario tiene credenciales cifradas y persistentes

  • Actualización automática de tokens OAuth

  • Gestión de MFA (SMS/correo electrónico)

  • Las sesiones sobreviven a los reinicios del agente

Fiabilidad

  • Tasa de finalización de tareas del 85%+

  • Detección automatizada de cambios en la interfaz de usuario (los conectores se actualizan cuando Instacart cambia)

  • Rutas de respaldo para fallos

  • Monitorización y alertas 24/7

Autenticación

El servidor MCP utiliza un perfil de navegador persistente (~/.strider/instacart/browser-profile) para que tu sesión de inicio de sesión sobreviva automáticamente a los reinicios del servidor.

Inicio de sesión por primera vez

  1. Establece INSTACART_HEADLESS=false en la configuración de tu servidor MCP para que la ventana del navegador sea visible:

{
  "mcpServers": {
    "instacart": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-instacart"],
      "env": { "INSTACART_HEADLESS": "false" }
    }
  }
}
  1. Reinicia Claude / tu cliente MCP.

  2. Pide a Claude que ejecute instacart_login — se abrirá una ventana de navegador real.

  3. Inicia sesión en Instacart dentro de esa ventana.

  4. Ejecuta instacart_status para confirmar la autenticación.

  5. Elimina INSTACART_HEADLESS (o establécelo de nuevo en true) y reinicia — el perfil guardado te mantendrá conectado.

Cómo funciona la detección de inicio de sesión

La autenticación se verifica navegando a /account y confirmando que la página se resuelve sin una redirección a /login o /authentication (detección positiva). Esto es más fiable que comprobar la ausencia de un botón de "Iniciar sesión".

Configuración

Variables de entorno

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

Autoalojado

# 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

Arquitectura

Cómo nos conectamos

Este conector utiliza automatización de navegador (Playwright) para interactuar con Instacart, ya que Instacart no tiene una API pública. He aquí por qué es seguro y fiable:

  • Controlado por el usuario: Tu agente solo accede a tu propia cuenta de Instacart

  • Basado en sesiones: Almacenamos tu sesión de inicio de sesión de forma segura, no tu contraseña

  • Consciente de los cambios: Detectamos cambios en la interfaz de usuario de Instacart y alertamos inmediatamente

  • Huella digital: Utilizamos perfiles de navegador realistas para evitar la detección de bots

  • Limitación de tasa: Respetamos la infraestructura de Instacart con los retrasos adecuados

Seguridad

  • Credenciales almacenadas cifradas en tu .env local o bóveda segura

  • Sesiones aisladas por usuario

  • No se envían datos a terceros

  • Licencia MIT — audita el código tú mismo

Soporte

Contribución

¡Damos la bienvenida a las contribuciones! Áreas de interés:

  • Informes de errores y correcciones

  • Solicitudes de funciones (nuevas tiendas, categorías, etc.)

  • Mejoras de rendimiento

  • Mejoras en la documentación

Consulta CONTRIBUTING.md para ver las directrices.

Licencia

MIT — Libre de usar, modificar y distribuir. Consulta LICENSE para más detalles.


Creado por Strider Labs — Haciendo que los agentes de IA sean realmente útiles.

GitHub | Sitio web | 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.

  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

Scored across 11 tools

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

Related MCP Connectors

Related MCP Servers