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対応 (SMS/メール)

  • エージェントの再起動後もセッションを維持

信頼性

  • 85%以上のタスク完了率

  • 自動UI変更検知 (Instacartの変更時にコネクタが更新されます)

  • 失敗時のフォールバックパス

  • 24時間365日の監視とアラート

認証

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

アーキテクチャ

接続方法

このコネクタは、Instacartに公開APIがないため、ブラウザ自動化 (Playwright) を使用してInstacartと対話します。これが安全で信頼できる理由は以下の通りです:

  • ユーザー制御: エージェントはユーザー自身の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