blinkit-mcp
Click on "Install 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-mcpfind me amul butter"
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.
blinkit-mcp
An API-only MCP server for Blinkit
(Indian quick-commerce). Every runtime call is a plain HTTPS request to blinkit.com — no browser
automation in the happy path. A browser is used only once, during research, to discover endpoints;
see RESEARCH.md.
How it works (the important bits)
Cloudflare TLS fingerprinting blocks ordinary HTTP clients (curl, Node
fetch→ 403). We useimpitto impersonate Chrome's TLS handshake, so requests pass with no browser and no cookie/challenge. This is what makes API-only possible.Bootstrap:
GET /v2/accounts/auth_key/with a fixedreq_keyconstant → deviceauth_key(no login). Sent on every call.Login is headless OTP:
send_otp(phone)→verify_otp(phone, code)returns anaccess_tokenwe persist. No browser ever involved.Server-driven UI responses are parsed defensively into clean product/order objects.
Related MCP server: Swissgroceries MCP
Setup
pnpm install
pnpm buildAdd to your MCP client (e.g. Claude Code mcp config):
{
"mcpServers": {
"blinkit": { "command": "node", "args": ["/path/to/blinkit-mcp/dist/index.js"] }
}
}State is stored in ~/.blinkit-mcp/:
session.json— device id, auth_key, access_token (secret), location, store. chmod 600.staples.json— your reorder catalog + scorer weights.cart.json— the current working cart.
Tools
Auth/login — blinkit_login_status, blinkit_send_otp, blinkit_verify_otp, blinkit_logout
Location — blinkit_set_location, blinkit_check_serviceability
Discovery — blinkit_search, blinkit_autosuggest, blinkit_pick_best, blinkit_recommendations, blinkit_home_feed
Cart — blinkit_add_to_cart, blinkit_remove_from_cart, blinkit_view_cart, blinkit_clear_cart
Reorder — blinkit_quick_reorder, blinkit_list_staples, blinkit_set_staple
Checkout/pay — blinkit_get_addresses, blinkit_checkout, blinkit_prepare_order, blinkit_pay_upi, blinkit_payment_status
Orders — blinkit_order_count, blinkit_order_history
Typical flow (fully headless; only PhonePe approval is manual)
blinkit_set_location { lat: 28.5653836, lon: 77.38265 } # once, persists
blinkit_send_otp { phone: "9XXXXXXXXX" }
blinkit_verify_otp { phone: "9XXXXXXXXX", code: "1234" } # stores access_token + phone
blinkit_pick_best { query: "milk", brands:["Amul"], attrs:["full cream"] } # → product
blinkit_get_addresses # → address_id
blinkit_checkout { items: [ <chosen> ], address_id } # → server cart_id (creates+binds+validates)
blinkit_pay_upi { cart_id, method:"collect", vpa:"name@ybl", wait:true }
# → pushes a UPI collect to PhonePe; streams status via notifications; you approve on your phonePayment status & notifications
blinkit_pay_upiinitiates UPI payment (method:"qr"returns aupi://payintent link;method:"collect"+vpapushes a collect request to your UPI app). Withwait:trueit pollsverifyPaymentStatusuntil terminal and returnsfinal_status.blinkit_payment_statuschecks the last (or a given) in-flight payment on demand — returnspending/success/failed.The server declares the MCP
loggingcapability and emitsnotifications/messageduring the wait ("waiting for approval", "✅ approved", "❌ failed") — surfaced live by Claude Code.
Payment is delegated to Zomato zpaykit; the human step is approving the UPI request in PhonePe. See
RESEARCH.md §8–9for the full captured flow.
Notes / limits
Unofficial, reverse-engineered API — no stability guarantees; header/version constants may need bumping. Respect Blinkit's ToS and rate limits; intended for personal automation.
auth_key/req_keyconstants are overridable viaBLINKIT_REQ_KEYif Blinkit rotates them.Not affiliated with or endorsed by Blinkit/Zomato. Use at your own risk.
License
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yniks/blinkit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server