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 MCPSet my location to home, then add 2 litres of milk and brown bread."
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 it is
bun-blinkit-mcp (display name Blinkit MCP) is an unofficial MCP server for
blinkit.com. It is API-only: it talks directly to Blinkit's
consumer-web JSON API over HTTPS.
There is no Playwright, Chromium, or Firefox and no browser automation at runtime. Your assistant searches products, builds a cart, and prepares an order; you complete the payment yourself in the Blinkit app or website.
Related MCP server: Milkbasket MCP Server
How it works
Cloudflare bypass without a browser. Cloudflare blocks ordinary HTTP clients by TLS fingerprint, so every request is made with the
impitpackage configured asnew Impit({ browser: "chrome" }), which impersonates Chrome's TLS handshake. No browser binary is downloaded or launched.Headless login. Phone + OTP (
send_otp→verify_otp). Blinkit returnssuccess: trueeven for a wrong code, so the server treatsverified/ presence of anaccess_tokenas the real success signal.Device bootstrap. The
auth_keycall uses a fixedreq_keyconstant (c0e6868e-1180-400c-be51-f473479f1f0a); a random UUID returns HTTP 400. Override withBLINKIT_REQ_KEYif Blinkit rotates it.Local memory. A SQLite database keeps staples, named combos, the working cart, and order history.
Payments are intentionally NOT automated
The server can prepare and validate an order, but it will never pay for one. These tools do not exist and are deliberately absent:
proceed_to_pay, get_upi_ids, select_upi_id, pay_now, and payment-method selection.
checkout only creates a server cart and binds a delivery address, then returns a
reminder to pay manually. (bun run test/tools.ts fails if any payment tool leaks
into the tool surface.)
Requirements
Bun (the
.mcpbentrypoint installs it automatically if missing)Network access to
blinkit.comA Blinkit account (for login, addresses, and orders)
Install
From source
git clone https://github.com/SinghChinmay/bun-blinkit-mcp.git
cd bun-blinkit-mcp
bun install
bun run main.tsbun run main.ts starts the MCP server on stdio. Point your MCP client at it:
{
"mcpServers": {
"blinkit": {
"command": "bun",
"args": ["run", "/absolute/path/to/bun-blinkit-mcp/main.ts"]
}
}
}To launch through the packaged entrypoint instead (the path used by the .mcpb
bundle), point at start.sh. It installs Bun if needed, runs
bun install --frozen-lockfile, keeps setup output on stderr, and then execs the
server:
{
"mcpServers": {
"blinkit": {
"command": "sh",
"args": ["/absolute/path/to/bun-blinkit-mcp/start.sh"]
}
}
}Usage
The assistant must confirm a delivery location before it can search, build a cart, or check out. A typical flow looks like this:
set_location(lat/lon) orfind_location("home", "Koramangala") — then confirm the returned address with the assistant.search/pick_best/recommendations/home_feedto find products.add_to_cart/check_cart/remove_from_cart/clear_cartto build the basket.When ready:
send_otp→verify_otp(if not logged in), thenget_addresses→select_address.checkoutprepares and validates the order and returns the payable amount.You open the Blinkit app or website and pay.
For repeat shopping there are named combos (save_combo, add_combo_to_cart, e.g.
"pizza night") and staples (quick_reorder) stored locally, plus
get_repeat_suggestions based on past orders.
Example requests to your assistant:
"Set my location to home, then add 2 litres of milk and a loaf of brown bread."
"Find the cheapest full-cream milk and add it to my cart."
"Order my 'pizza night' combo and prepare checkout with my saved address."
Commands
Command | Purpose |
| Install dependencies. |
| Run the MCP server (stdio by default). |
| Interactive CLI for manually exercising the full flow. |
| List registered MCP tools; fails if a payment tool leaks. |
| Unit tests for the parsers, scorer, and SQLite store. |
| Type-check the project. |
| Live end-to-end smoke: |
Configuration
Copy .env.sample to .env (Bun loads .env automatically) or export the variables.
Variable | Default | Purpose |
|
|
|
|
| Port for the SSE transport. |
|
| Directory for session + SQLite state. |
|
| SQLite database path (e.g. |
| fixed constant | Override only if Blinkit rotates the |
Transport
stdio (default): the server speaks JSON-RPC on stdout. Because stdout is the protocol channel, all setup logging goes to stderr.
SSE: set
SERVE_HTTPS=trueto serve on0.0.0.0:8000with endpoints/sse(event stream) and/messages(client → server POSTs).
Tools
Auth
Tool | Description |
| Show login status and the confirmed delivery location. |
| Send a login OTP to a phone number. |
| Verify the OTP and persist the access token. |
| Clear the stored access token. |
Location
Tool | Description |
| Show the currently confirmed delivery location. |
| Resolve a free-text address and save it as the location. |
| Set the delivery location from coordinates. |
| Check if Blinkit delivers to a lat/lon. |
Catalog
Tool | Description |
| Search products at the confirmed location. |
| Typeahead search suggestions. |
| Products on the home feed for the location. |
| Products frequently bought with a product id. |
| Search and auto-pick the best product with the multi-factor scorer. |
Cart
Tool | Description |
| Add products to the working cart and reprice. |
| Remove a product from the working cart. |
| Show the working cart repriced. |
| Empty the working cart. |
Combos & staples
Tool | Description |
| Save a named custom combination of products. |
| List saved custom combinations. |
| Replay a saved combo into the working cart. |
| Delete a saved combo. |
| Rebuild a basket from saved staples. |
| List the saved reorder catalog. |
| Add or update a staple. |
| Remove a staple. |
| Products bought in multiple past orders. |
Addresses & checkout
Tool | Description |
| List saved delivery addresses (requires login). |
| Choose a saved delivery address for checkout. |
| Prepare and validate an order (never pays). |
Orders
Tool | Description |
| Fetch and persist recent orders. |
| Lifetime order counts. |
Local data
Everything the server remembers lives under ~/.blinkit-mcp (override with
BLINKIT_HOME):
session.json— device id,auth_key,access_token, and the confirmed location. Written withchmod 600; treat it as a secret.memory.sqlite— staples, named combos, the stateful working cart, and persisted order history. Blinkit's/v5/cartsendpoint is stateless, so the local cart is the source of truth and is repriced against Blinkit on every change.
Delete these files to reset local state.
Development
TypeScript + Bun, ESM, strict mode.
HTTP happens only in
src/client.ts, viaimpitwith a Chrome TLS fingerprint.src/parse.tsextracts products and orders defensively from Blinkit's hashed, deeply nested server-driven-UI responses;bun testcovers it along with the scorer (src/staples.ts) and the SQLite store (usingBLINKIT_DB=:memory:).test/smoke.tshits the live API and needs network access.
Attribution & notes
Endpoint research was informed by the MIT-licensed
yniks/blinkit-mcpproject.This is an unofficial, reverse-engineered client with no stability guarantees. Blinkit changes its API and hashed response shapes without notice; header and version constants may need bumping.
Repository:
SinghChinmay/bun-blinkit-mcp.Licensed under the MIT License.
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 affiliates. The official Blinkit website is blinkit.com. Use at your own risk.
This server cannot be deployed
Maintenance
Related MCP Connectors
Product search for AI agents: Amazon + Shopify, cart-to-checkout buy path. Pay-per-call, no API key.
Agentic commerce gateway: discovery, search, checkout across Shopify/Woo/Odoo/PrestaShop.
Directory of APIs, merchants, and tools AI agents can actually use.
Agent-native product catalog: 300M+ products, 150,000+ stores, deliver_to ranking.
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.1154 npm10MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with Milkbasket for grocery shopping, including OTP authentication, product search, cart management, wallet balance checks, and order summaries through natural language.1627 npm1MIT
- AlicenseBqualityBmaintenanceEnables Claude to automate grocery shopping on Blinkit, including product search, cart management, location setup, and payment via UPI.41546MIT
- AlicenseAqualityDmaintenanceAn API-only MCP server for Blinkit that enables automated shopping on the Indian quick-commerce platform, supporting login, search, cart, checkout, and payment via UPI.251MIT