Skip to main content
Glama

✨ 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)

  1. Install uv (if you don't have it):

    macOS / Linux

    curl -LsSf https://astral.sh/uv/install.sh | sh

    Windows

    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  2. (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 chromium
  3. Download the MCP bundle
    šŸ‘‰ blinkit-mcp.mcpb

  4. Double-click the .mcpb file — Claude Desktop installs it automatically.

  5. 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


Download and install directly in Claude Desktop:

Supports: macOS • Windows • Linux


šŸ› ļø Manual Installation

If you prefer to run from source:

  1. 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.py
  2. Configure 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 HEADLESS to false to see the browser action, or true for background mode)

🧰 Available MCP Tools

Tool

Description

check_login

Check if currently logged in

login

Login with phone number

enter_otp

Verify login with OTP

set_location

Manually search and set delivery location

search

Search for products

add_to_cart

Add product to cart by index

remove_from_cart

Remove item from cart

check_cart

View cart contents

checkout

Proceed to checkout

get_addresses

Get list of saved addresses

select_address

Select a delivery address

proceed_to_pay

Proceed to payment page

get_upi_ids

List available UPI payment options

select_upi_id

Select a specific UPI ID for payment

pay_now

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

Star History Chart


Available Tools

14 tools
add_to_cartB

Add an item to the cart. Optional: specify quantity (default 1).

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYes
quantityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

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 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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
otpYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters2/5

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.

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: 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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
phone_numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/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 ('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.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYes
quantityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

select_addressB

Select a delivery address by its index. Only use this BEFORE checkout.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
location_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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.

  1. 14 tool updatesv1.0.2
    • First observedadd_to_cart
    • First observedcheck_cart
    • First observedcheck_login
    • First observedcheckout
    • First observedenter_otp
    • First observedget_addresses
    • First observedlogin
    • First observedpay_now
    • First observedproceed_to_pay
    • First observedremove_from_cart
    • First observedsearch
    • First observedselect_address
    • First observedselect_payment_method
    • First observedset_location

TDQS

A3.7/5.0

Scored across 14 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

14 tools cover the full grocery delivery workflow from login to payment without unnecessary complexity. The number is appropriate for the domain.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables Claude to browse stores, search products, manage the cart, and open checkout on Rappi Chile through natural language, automating grocery and delivery purchases.
    12
    1
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Automated 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.
    18
    1
    -