blinkit-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@blinkit-mcpBuy milk from Blinkit"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
⨠What is Blinkit MCP?
Blinkit MCP is a plug-and-play MCP server that allows Claude Desktop to automate your grocery shopping on Blinkit.
Your AI can:
š Search for products (groceries, electronics, etc.)
š Add items to your cart
š Manage delivery locations
š³ Automate checkout and UPI payments
š Login securely with phone and OTP
No manual clicking required. Just ask Claude to buy milk.
Related MCP server: Kroger MCP Server
š¬ Quick Demo
https://github.com/user-attachments/assets/531f09ad-648a-4ee2-9271-5993ce637093
š” Ask Claude: "Buy milk from Blinkit"
š Quick Start (30 seconds)
Install
uv(if you don't have it):macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | shWindows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"(Optional) Pre-install Browsers
If you want to speed up the first run:uvx playwright install chromium # OR if you have Node.js: # npx playwright install chromiumDownload the MCP bundle
š blinkit-mcp.mcpbDouble-click the
.mcpbfile ā Claude Desktop installs it automatically.Open Claude Desktop and start shopping.
š„ Key Features
Feature | Description |
š Secure Auth | Login via Phone Number & OTP (Session persisted locally) |
š Smart Search | Find products by name and get pricing/details |
š Cart Management | Add items, check cart status, and verify availability |
š Location | Detect or manually set delivery location |
š³ Payment Automation | New! Select saved UPI IDs or enter new ones automatically |
š Checkout Flow | Handles address selection and ordering flow seamlessly |
š¦ One-Click Installation (Recommended)
Download and install directly in Claude Desktop:
Supports: macOS ⢠Windows ⢠Linux
š ļø Manual Installation
If you prefer to run from source:
Clone and Run:
git clone https://github.com/hereisSwapnil/blinkit-mcp.git cd blinkit-mcp # Install uv (if needed) curl -LsSf https://astral.sh/uv/install.sh | sh # Install Python dependencies uv sync # Install Playwright browsers uv run playwright install chromium # Run the server uv run main.pyConfigure Claude Desktop:
Add this to your
claude_desktop_config.json:{ "mcpServers": { "blinkit-mcp": { "command": "/usr/local/bin/uv", "args": ["run", "main.py"], "cwd": "/absolute/path/to/blinkit-mcp", "env": { "HEADLESS": "false" } } } }(Set
HEADLESStofalseto see the browser action, ortruefor background mode)
š§° Available MCP Tools
Tool | Description |
| Check if currently logged in |
| Login with phone number |
| Verify login with OTP |
| Manually search and set delivery location |
| Search for products |
| Add product to cart by index |
| Remove item from cart |
| View cart contents |
| Proceed to checkout |
| Get list of saved addresses |
| Select a delivery address |
| Proceed to payment page |
| List available UPI payment options |
| Select a specific UPI ID for payment |
| Click the final Pay Now button |
š¬ Example Queries
"Buy milk from Blinkit to my home and use my UPI for payment"
"Order 2 packets of Maggi and pay via UPI"
"Get me some chips, deliver to office, and checkout"
š Project Structure
blinkit-mcp/
āāā main.py # MCP server entry point
āāā src/
ā āāā auth/ # Authentication module
ā ā āāā service.py # Auth service implementation
ā āāā order/ # Order management module
ā ā āāā blinkit_order.py # Main order controller
ā ā āāā services/ # Domain services
ā ā āāā base.py # Base service class
ā ā āāā search.py # Search logic
ā ā āāā location.py # Location logic
ā ā āāā cart.py # Cart logic
ā ā āāā checkout.py # Checkout & Payment logic
ā āāā server.py # MCP Tool definitions
āāā test/
ā āāā cli.py # CLI for testing independent of Claude
āāā README.mdš License
Licensed under the MIT License.
Blinkit MCP turns Claude into your personal grocery assistant.
ā ļø Disclaimer
This project is an experimental proof of concept and is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Blinkit (Grofers India Private Limited), or any of its subsidiaries or its affiliates. The official Blinkit website can be found at blinkit.com.
Star History
Available Tools
14 toolsadd_to_cartB
Add an item to the cart. Optional: specify quantity (default 1).
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | ||
| quantity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose effects, prerequisites, and side effects. It does not mention what happens if the item already exists, permission needs, or whether login is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (two sentences) and front-loaded with the main action, but could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a simple tool and an existing output schema, the description omits crucial context like error scenarios, behavior on repeated item addition, and response details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description should compensate for missing parameter documentation. It only restates quantity's default (already in schema) and says nothing about item_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action (Add) and target (item to the cart), clearly distinguishing it from siblings like remove_from_cart and check_cart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions quantity optionality but provides no explicit guidance on when to use this tool versus other cart operations, relying on tool name for context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_cartA
Check the current cart products, total value, and the delivery address. If the delivery address is not the intended one, use get_addresses and select_address to change it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It accurately describes the read-only behavior (checking products, total, address). Could explicitly state it does not modify anything, but the verb 'check' and sibling context make it clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded with purpose. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no parameters and an output schema, the description is complete: it explains what the tool returns and even provides troubleshooting steps for a common issue.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so description adds no parameter info. Baseline 4 for zero parameters is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks cart products, total value, and delivery address. It distinguishes from siblings by implying this is a read-only overview, unlike add_to_cart or remove_from_cart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (to check cart) and provides conditional guidance: if delivery address is wrong, use get_addresses and select_address instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_loginA
Check if the current session is logged in. Returns 'Logged In' or 'Not Logged In'.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully explains behavior: it returns either 'Logged In' or 'Not Logged In'. It correctly implies a read-only, non-destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the purpose and output format. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with a clear return value and an output schema, the description provides all necessary context. It is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100%. The description need not add parameter details beyond what the schema already conveys (empty).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks login status and returns one of two specific strings. It distinguishes from siblings like 'login' which performs authentication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While no explicit when-to-use guidance is given, the simple nature of the tool (no parameters, boolean-like output) makes its use case obvious. No alternative tools are suggested, but none are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkoutA
Proceed to checkout (clicks Proceed / Pay button). DO NOT call this if you need to change the delivery address. To change address, use get_addresses and select_address BEFORE checkout! Do not use set_location to fix address here.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only describes the mechanical click action ('clicks Proceed / Pay button') without explaining important implications like order finalization, payment processing, or irreversibility. This is a significant gap for a potentially destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences with immediate action and then warnings. Every sentence adds value; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with an output schema, the description covers the primary usage and constraints. However, it lacks contextual details about the process outcome (e.g., order created, payment charged), which would aid agent confidence. Still, sufficient for a simple action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description need not add parameter details. Baseline 4 is appropriate as per rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Proceed to checkout (clicks Proceed / Pay button).' It explicitly distinguishes from address-change sibling tools, making its specific purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'DO NOT call this if you need to change the delivery address' and directs to use get_addresses and select_address instead, with a warning against set_location. This is comprehensive for when to use vs. alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enter_otpC
Enter the OTP received on your phone to complete authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| otp | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behaviors. It only states 'enter the OTP' without explaining side effects (e.g., what happens on success/failure), authentication requirements, or whether it mutates state. This is insufficient for a security-sensitive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks necessary detail. It is front-loaded but could be expanded without being verbose to cover behavioral and usage aspects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's role in authentication and the presence of an output schema, the description should explain the broader flow (e.g., step after login) and result implications. It fails to provide this context, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'otp' is only described as 'the OTP received on your phone'. With 0% schema description coverage, the description should specify format (e.g., numeric length, expiry) but does not. It adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: entering an OTP to complete authentication. The verb 'enter' and resource 'OTP' are specific, and the context 'complete authentication' distinguishes it from login tools like 'login' and 'check_login', though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'login' or 'check_login'). The description does not mention prerequisites or the flow context, such as being called after receiving an OTP.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_addressesA
Get the list of saved addresses. Use this and select_address to change address on the cart page, if the address in check_cart is incorrect.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description is straightforward about being a read operation (get list). No annotations provided, but no behavioral quirks need disclosure. However, it does not mention prerequisites like being logged in, which might be inferred from sibling tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, first states purpose, second gives usage context. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete enough for a simple getter with an output schema. Tells when to use and with which sibling. Could mention authentication but not critical given sibling tools include check_login.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (schema coverage 100%), so description adds nothing beyond the schema. Baseline 4 is appropriate for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get the list of saved addresses' which is a specific verb+resource. Also differentiates from sibling tools like select_address and check_cart by mentioning their combined usage for changing an address.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use: 'Use this and select_address to change address on the cart page, if the address in check_cart is incorrect.' This provides a clear workflow context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loginA
Log in to Blinkit. Returns status or prompts for OTP (which will be sent to your phone).
| Name | Required | Description | Default |
|---|---|---|---|
| phone_number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that OTP will be sent and that the tool may return status or prompt for OTP. However, it lacks details on response structure, error handling, or side effects like session creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. It front-loads the action and efficiently conveys key functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (1 param, output schema exists), the description is largely complete. It mentions the OTP flow but could briefly guide the agent to use enter_otp afterward for full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameter. It contextually ties phone_number to receiving OTP, adding essential meaning beyond the schema's type and required fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Log in to Blinkit' and indicates the outcome (status or OTP prompt). The verb 'log in' is specific and distinguishes from sibling tools like check_login and enter_otp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for initiating login, but does not explicitly state when to use alternatives like check_login (to verify status) or enter_otp (to complete OTP). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pay_nowB
Click the 'Pay Now' button to complete the transaction.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only mentions clicking a button. It does not disclose behavioral traits such as whether the action is destructive, requires authentication, or has rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence with no redundant information. It is concise but could be expanded slightly for clarity without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having zero parameters and an output schema, the description lacks context about the tool's effect (e.g., finalizing order, irreversibility). It feels incomplete for a transaction completion step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the description adds no additional meaning beyond the schema, but baseline is 4 for no params. The description is trivially sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool completes a transaction by clicking 'Pay Now', which is a specific action. However, it does not differentiate from sibling tools like 'proceed_to_pay' or 'checkout'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention prerequisites like selecting a payment method or being logged in.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proceed_to_payA
Proceed to payment (clicks Proceed button again). Use after selecting address.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool clicks a button, which implies a UI interaction, but does not cover potential errors, side effects, or success criteria. The disclosure is adequate for a simple action but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using a single sentence and a parenthetical to add detail. It is front-loaded with the purpose and contains no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, simple action), the description is complete. It states what the tool does and when to use it. The presence of an output schema covers return values, so no further description is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is 100%. The description adds meaning by explaining the action, fitting the baseline of 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Proceed to payment') and specifies it involves clicking the Proceed button. It provides context ('Use after selecting address') that differentiates it from siblings like pay_now and checkout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 ('after selecting address'), offering clear guidance. However, it does not mention when not to use it or suggest alternatives, but the context is sufficient for this simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_from_cartC
Remove a specific quantity of an item from the cart.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | ||
| quantity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description does not disclose behavior when item not in cart, quantity exceeds available, or any irreversible effects. No annotations provided, so description carries full burden but is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is efficient but lacks essential details, making it under-specified rather than concise. Could be improved with necessary context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists but description doesn't reference it. Missing info on error handling, return values, and edge cases. Incomplete given low schema coverage and no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%; no descriptions for 'item_id' or 'quantity'. Description adds no format, validation, or contextual meaning beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Remove', resource 'a specific quantity of an item from the cart', which distinguishes it from sibling tools like 'add_to_cart' and 'check_cart'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives (e.g., when to remove vs clear entire cart). No mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchB
Search for a product on Blinkit. Returns a list of items with their IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must cover behavioral traits. It only states it searches and returns item IDs, omitting details like rate limits, pagination, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with no wasted words, fitting the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with an output schema, the description is minimally adequate but lacks details on result limits or usage hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It implies 'query' is a product search term, adding some meaning beyond the schema, but does not specify format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'product on Blinkit', and mentions it returns items with IDs, distinguishing it from sibling tools like add_to_cart or login.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The description is solely about what it does, not the context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_addressB
Select a delivery address by its index. Only use this BEFORE checkout.
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It does not explain side effects, what happens on invalid index, or the output format. The description is too minimal for a state-changing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core information. It could benefit from additional details about the parameter, but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter and an output schema, the description lacks completeness. It does not mention the output or tie the tool to the address retrieval process (e.g., using 'get_addresses' first). The context of the checkout flow is only hinted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 0%, so the description must compensate. It only says 'by its index' without clarifying the index's semantics (e.g., 0-based or 1-based, valid range, or relationship to addresses from 'get_addresses'). This is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Select'), the resource ('delivery address'), and the method ('by its index'). It also specifies the context ('only use this BEFORE checkout'), distinguishing it from sibling tools like 'get_addresses' and 'checkout'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('Only use this BEFORE checkout'), which provides clear usage context. However, it does not mention when not to use it or explicitly name alternatives, though the constraint is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_payment_methodA
Select a payment method. Automatically chooses Cash on Delivery if available. If not, it opens UPI and generates a QR code to be scanned by the customer.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides good transparency by detailing the automatic selection logic and the fallback to UPI/QR generation. It discloses the core behavior, though side effects or required order state are not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loading the purpose and key behavior. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description covers the main behavior adequately. It could be slightly more complete by clarifying if user interaction is required beyond scanning the QR code.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema coverage is 100% trivially. The description adds value by explaining the decision logic, which compensates for the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool selects a payment method and explains the automatic behavior (COD if available, otherwise UPI with QR code). It distinguishes from siblings like 'pay_now' by focusing on selection, but could be more explicit about the exact role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'checkout' or 'pay_now'. The description implies it is automatic, but does not specify prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_locationA
Manually set the delivery location via search. Pass 'detect' to click 'Detect my location'. The flow should be: login -> set_location('detect') -> add items -> check_cart -> if address not same, use get_addresses and select_address. Do not use this tool to fix address after adding items.
| Name | Required | Description | Default |
|---|---|---|---|
| location_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description partially discloses behavior: use before adding items, 'detect' parameter action. Lacks details on side effects, errors, or what happens if used after adding items. Moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a flow instruction; moderately concise but includes procedural steps that could be streamlined. Front-loads purpose but then dives into sequence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool with one parameter and output schema, description provides a usage flow and context with siblings. But lacks information on error handling, output, or boundary cases. Sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds meaning to the single parameter 'location_name' by showing 'detect' as a special value and implying it can be a search query. However, does not specify format or valid alternatives beyond 'detect'. Schema has no description, so partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets the delivery location via search, and distinguishes from related siblings like get_addresses and select_address by specifying when to use each. It includes a specific example for 'detect'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit flow with ordered steps (login -> set_location -> add items -> check_cart) and a clear alternative for after adding items. Also states not to use this tool for fixing address after adding items.
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.
14 tool updates
v1.0.2- First observed
add_to_cart - First observed
check_cart - First observed
check_login - First observed
checkout - First observed
enter_otp - First observed
get_addresses - First observed
login - First observed
pay_now - First observed
proceed_to_pay - First observed
remove_from_cart - First observed
search - First observed
select_address - First observed
select_payment_method - First observed
set_location
TDQS
Scored across 14 tools
Each tool has a distinct purpose: login, location, cart operations, address management, checkout steps, and payment. No two tools overlap in functionality; even sequential checkout steps are clearly differentiated.
All tools follow a consistent verb_noun pattern (e.g., add_to_cart, check_cart, select_address). Exceptions like 'checkout' and 'login' are single verbs but fit naturally and do not break the pattern.
14 tools cover the full grocery delivery workflow from login to payment without unnecessary complexity. The number is appropriate for the domain.
The tool set covers the essential user flow: login, location, search, cart management, address change, checkout, and payment. Missing features like order history or cancellation are non-critical for core delivery; minor gap.
Maintenance
Related MCP Connectors
Create instxnt.xyz storefronts through Claude: add products, connect Stripe, go live.
Run your ecommerce ads from Claude & ChatGPT: Meta, Google, Amazon, Shopify (150 tools)
AI-powered browser automation ā navigate, click, fill forms, and extract data from any website.
Turn any shopping list into a ready-to-checkout grocery cart across 26 European supermarkets.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to search for products, manage shopping carts, and place grocery orders on Instacart using browser automation. It includes comprehensive tools for store discovery, product searching, and secure checkout with explicit user confirmation.1135 npm10MIT
- FlicenseNot gradedqualityDmaintenanceIntegrates Kroger's public API with Claude to allow adding meal plan grocery lists directly to your Kroger cart via natural language.-
- AlicenseAqualityDmaintenanceEnables Claude to browse stores, search products, manage the cart, and open checkout on Rappi Chile through natural language, automating grocery and delivery purchases.121MIT
- AlicenseCqualityDmaintenanceAutomated grocery shopping assistant with intelligent unit pricing and automatic coupon clipping, enabling AI to search products, manage carts, and plan grocery runs via Claude Desktop or CLI.181-