项目简介
Blinkit MCP 是一个基于 MCP(Model Context Protocol)的服务器实现。它暴露一组工具函数,供大语言模型(如 Claude Desktop)以标准化的方式调用,进而对 Blinkit 的购物流程进行自动化操作。核心通过浏览器自动化与后端服务协同工作,提供安全、可扩展的上下文服务框架。
主要功能点
- 登录认证与会话管理:支持通过手机号获取 OTP 进行登录,并持久化会话以便下次使用
- 商品搜索与浏览:能够在 Blinkit 中搜索商品,返回结果列表(名称、价格、ID 等)
- 购物车管理:添加、修改、移除购物车中的商品
- 下单与支付流程辅助:执行结账、地址选择、支付方式选择、跳转至支付环节
- 地址与支付信息获取:获取已保存的地址、保存的 UPI IDs 等信息,便于后续支付
- 浏览器自动化执行:使用 Playwright 驱动浏览器进行实际网页互动
- 会话复用与容错:能够检测浏览器状态,必要时重新启动浏览器并恢复会话
安装步骤
- 准备环境
- 需要 Python 3.12 及以上版本
- 安装并配置运行环境所需的依赖(如 Playwright、uv、环境变量管理工具等)
- 获取代码
- 将仓库克隆到本地:git clone https://github.com/hereisSwapnil/blinkit-mcp.git
- 安装运行工具与依赖
- 安装 uv(用于运行 Python 服务)并确保可执行
- 安装 Python 依赖(如 playwright 等,通常通过 pip 安装)
- 启动 MCP 服务器
- 使用命令启动服务器(示例:直接运行 main.py,或通过 uv 以指定传输方式启动)
- 服务器默认支持通过环境变量控制传输模式(如 SERVE_HTTPS=true 时使用 SSE)
- 配置 Claude Desktop 客户端
- MCP 客户端无需安装,按照 MCP 的标准配置向服务器注册即可
- 参考下方的配置示例进行 server 连接参数配置
- 使用前准备
- 浏览器自动化需要允许访问 Blinkit,若涉及定位服务,请按提示进行授权
服务器配置(MCP 客户端所需信息,JSON 格式,注释仅为说明)
为了让 MCP 客户端能够连接并使用该服务器,以下配置示例描述了服务器端的启动信息,实际使用时请将路径替换为你的环境实际路径: { "server_name": "blinkit-mcp", "command": "/usr/local/bin/uv", "args": ["run", "main.py"], "cwd": "/absolute/path/to/blinkit-mcp", "env": { "HEADLESS": "false", "SERVE_HTTPS": "false" } /* 注释:HEADLESS 设置为 false 将显示浏览器界面,true 为无头模式;SERVE_HTTPS 控制是否通过 SSE 传输 */ }
- server_name:服务器名称,客户端用于标识与连接
- command 与 args:启动服务器的命令及参数
- cwd:服务器工作目录的绝对路径
- env:环境变量,HEADLESS 控制是否显示浏览器界面,SERVE_HTTPS 控制传输协议
基本使用方法
- 启动后,客户端发送 MCP 请求(如读取资源、调用工具等),服务器返回标准的 JSON-RPC 响应
- 可通过工具列表执行登录、搜索商品、加入购物车、结账等操作
- 如需查看当前会话状态,可调用相应的工具方法(如检查登录状态、获取卡片等)
运行与调试要点
- 确保浏览器驱动和网络环境可访问 Blinkit 网站
- 如遇到页面加载慢,可适当增大等待超时设置
- 浏览器会话信息会被持久化到指定路径以实现持续会话
信息
分类
网页与API