Skip to main content
Glama

@striderlabs/mcp-instacart

使用 AI 智能体通过 Instacart 订购杂货

npm MCP Registry Claude Desktop License: MIT

Strider Labs 的一部分 — 为个人 AI 智能体提供操作执行能力。

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 (2026年4月10-17日) — 顶级杂货连接器(增长率 +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 处理(短信/电子邮件)

  • 会话在智能体重启后依然有效

可靠性

  • 85%+ 任务完成率

  • 自动 UI 变更检测(当 Instacart 更新时连接器会自动更新)

  • 故障回退路径

  • 24/7 监控与警报

身份验证

该 MCP 服务器使用持久化浏览器配置文件 (~/.strider/instacart/browser-profile),因此您的登录会话在服务器重启后会自动保留。

首次登录

  1. 在您的 MCP 服务器配置中设置 INSTACART_HEADLESS=false,以便显示浏览器窗口:

{
  "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 UI 的变更并立即发出警报

  • 指纹识别: 我们使用真实的浏览器配置文件以避免被识别为机器人

  • 速率限制: 我们通过适当的延迟来尊重 Instacart 的基础设施

安全性

  • 凭据加密存储在您的本地 .env 或安全保险库中

  • 每个用户的会话相互隔离

  • 不会向第三方发送数据

  • MIT 许可 — 您可以自行审计代码

支持

贡献

我们欢迎贡献!关注领域:

  • 错误报告和修复

  • 功能请求(新商店、类别等)

  • 性能改进

  • 文档增强

请参阅 CONTRIBUTING.md 获取指南。

许可

MIT — 可免费使用、修改和分发。详情请参阅 LICENSE


由 Strider Labs 构建 — 让 AI 智能体真正有用。

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.

  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