紫鸟与 Chrome 浏览器 MCP 服务器 — 让 AI Agent 操控紫鸟店铺与本地 Chrome
Project description
ziniao-mcp
紫鸟与 Chrome 浏览器 AI 自动化 — 让 AI Agent(Cursor、Claude 等)操控紫鸟店铺与本地 Chrome,统一会话、统一工具。
GitHub:https://github.com/tianyehedashu/ziniao-mcp
快速使用
只需两步即可在 Cursor 中使用全部 MCP 工具(紫鸟店铺 + Chrome 浏览器)。
1. 安装 uv
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
2. 配置 MCP
打开 Cursor Settings → MCP → New MCP Server,粘贴以下配置(将环境变量替换为你的账号信息):
{
"mcpServers": {
"ziniao": {
"command": "uvx",
"args": ["ziniao-mcp"],
"env": {
"ZINIAO_COMPANY": "你的企业名",
"ZINIAO_USERNAME": "你的用户名",
"ZINIAO_PASSWORD": "你的密码",
"ZINIAO_CLIENT_PATH": "D:\\soft\\ziniao-v6\\ziniao.exe",
"ZINIAO_VERSION": "v6"
}
}
}
}
| 环境变量 | 说明 |
|---|---|
ZINIAO_COMPANY |
紫鸟企业名 |
ZINIAO_USERNAME |
登录用户名 |
ZINIAO_PASSWORD |
登录密码 |
ZINIAO_CLIENT_PATH |
紫鸟客户端可执行文件路径 |
ZINIAO_SOCKET_PORT |
(可选)与客户端通信的 HTTP 端口。不配置时自动检测运行中的客户端端口,检测不到则默认 16851 |
ZINIAO_VERSION |
客户端版本,默认 v6 |
配置完成后,在 Cursor 对话框中试试:
列出我所有的紫鸟店铺
打开第一个亚马逊店铺,截图看看当前页面
连接我之前打开的店铺,导航到亚马逊卖家后台
版本:查看
uvx ziniao-mcp -V;刷新uvx --refresh ziniao-mcp --help,再重启 Cursor MCP。前提:安装 紫鸟客户端,并开启 WebDriver 权限(开通说明)。客户端需以 WebDriver 模式运行(使用
start_client工具可自动处理;日常也建议以此模式启动,功能与普通模式完全一致)。更多安装方式与故障排查见 安装与使用。
特性
- 统一浏览器支持:紫鸟店铺(多店铺、WebDriver)与本地 Chrome(启动/连接 CDP)同一套 MCP 工具
- 全部 MCP 工具:店铺管理、Chrome 管理、统一会话、页面导航、输入自动化、录制回放、网络监控、调试截图等
- 4 个 AI 技能(Skills):浏览器自动化、店铺管理、亚马逊运营、店铺运营 RPA 脚本生成
- 1 个专用 Agent:紫鸟运营专家角色,具备跨境电商领域知识
- 2 个快捷命令(Commands):一键检查店铺状态、批量截图
- 跨会话状态持久化:MCP 进程重启后可恢复已打开店铺或 Chrome 的 CDP 连接
- 多会话并行:同时打开多个紫鸟店铺或 Chrome 实例,按需切换活动会话
- 跨平台:支持 Windows / macOS / Linux
工具列表
店铺管理(紫鸟,7 个)
| 工具 | 说明 |
|---|---|
start_client |
启动紫鸟客户端(WebDriver 模式) |
list_stores |
获取所有店铺列表(自动启动客户端) |
list_open_stores |
查询当前已打开的店铺(通过 CDP 端口验证) |
open_store |
打开店铺并建立 CDP 连接 |
connect_store |
连接已运行的店铺(不重启,推荐) |
close_store |
关闭店铺并断开 CDP |
stop_client |
退出紫鸟客户端 |
Chrome 管理(4 个)
| 工具 | 说明 |
|---|---|
launch_chrome |
启动本地 Chrome 并通过 CDP 连接 |
connect_chrome |
连接已运行的 Chrome(需带 --remote-debugging-port 启动) |
list_chrome |
列出当前所有 Chrome 会话 |
close_chrome |
关闭指定 Chrome 会话 |
统一会话(1 个)
| 工具 | 说明 |
|---|---|
browser_session |
列出/切换/查看所有浏览器会话(紫鸟 + Chrome) |
输入自动化(9 个)
| 工具 | 说明 |
|---|---|
click |
点击元素 |
fill |
清空并填写输入框 |
fill_form |
批量填写表单 |
type_text |
逐字输入文本(模拟真实键盘) |
press_key |
按键(如 Enter、Tab、Ctrl+A) |
hover |
悬停 |
drag |
拖拽元素 |
handle_dialog |
设置弹窗处理策略 |
upload_file |
上传文件 |
导航(6 个)
| 工具 | 说明 |
|---|---|
navigate_page |
导航到 URL |
list_pages |
列出所有标签页 |
select_page |
切换标签页 |
new_page |
新建标签页 |
close_page |
关闭标签页 |
wait_for |
等待元素/页面加载 |
仿真(2 个)
| 工具 | 说明 |
|---|---|
emulate |
模拟设备(iPhone、iPad、Pixel 等) |
resize_page |
调整视口大小 |
网络(2 个)
| 工具 | 说明 |
|---|---|
list_network_requests |
列出捕获的网络请求 |
get_network_request |
获取请求详情(含请求头/响应头) |
调试(5 个)
| 工具 | 说明 |
|---|---|
evaluate_script |
执行 JavaScript |
take_screenshot |
截图(支持元素截图和全页截图) |
take_snapshot |
获取页面 HTML 快照 |
list_console_messages |
列出控制台消息 |
get_console_message |
获取消息详情 |
典型使用流程
基本流程
在 Cursor 中对 Agent 说:
打开我的紫鸟店铺列表,打开第一个亚马逊店铺,然后截图看看当前页面
Agent 会依次调用:
list_stores→ 获取店铺列表(自动启动客户端)open_store("xxx")→ 打开店铺并建立 CDP 连接take_screenshot()→ 截图返回
恢复已打开的店铺
连接我之前打开的店铺,导航到亚马逊后台
Agent 调用:
list_open_stores→ 查看哪些店铺还在运行connect_store("xxx")→ 恢复 CDP 连接(不重启店铺)navigate_page("https://sellercentral.amazon.com")→ 导航
表单自动化
帮我在当前页面填写商品标题和价格
Agent 调用:
take_snapshot()→ 获取页面 HTML 分析表单结构fill_form('[{"selector": "#title", "value": "商品名"}, {"selector": "#price", "value": "99.99"}]')→ 批量填写
项目结构
ziniao-mcp/
├── .cursor-plugin/
│ └── plugin.json # Cursor Plugin manifest
├── .mcp.json # MCP Server 配置(Plugin 自动发现)
├── skills/ # AI 技能指南
│ ├── ziniao-browser/ # 核心浏览器自动化技能
│ │ └── SKILL.md
│ ├── store-management/ # 多店铺管理技能
│ │ └── SKILL.md
│ ├── amazon-operations/ # 亚马逊运营技能
│ │ └── SKILL.md
│ └── store-rpa-scripting/ # 店铺运营 RPA 脚本生成(探索→确认→生成脚本+过程文档)
│ ├── SKILL.md
│ ├── tools-reference.md
│ ├── doc-template.md
│ └── examples.md
├── agents/ # 自定义 Agent 角色
│ └── ziniao-operator.md # 紫鸟运营专家
├── commands/ # 快捷命令
│ ├── quick-check-stores.md
│ └── batch-screenshot.md
├── ziniao_webdriver/ # 紫鸟客户端 HTTP 通信层
│ ├── __init__.py
│ └── client.py # ZiniaoClient 类
├── ziniao_mcp/ # MCP 服务器
│ ├── __init__.py
│ ├── __main__.py # python -m ziniao_mcp 入口
│ ├── server.py # 配置解析 + 工具注册 + 启动
│ ├── session.py # 会话管理 + CDP 连接 + 状态持久化
│ └── tools/ # MCP 工具集
│ ├── store.py # 店铺管理 (7)
│ ├── input.py # 输入自动化 (9)
│ ├── navigation.py # 导航 (6)
│ ├── emulation.py # 仿真 (2)
│ ├── network.py # 网络 (2)
│ └── debug.py # 调试 (5)
├── config/
│ └── config.yaml # 默认配置文件
├── docs/ # 项目文档
│ ├── installation.md # 安装与使用
│ ├── architecture.md # 架构设计
│ ├── api-reference.md # API 参考
│ └── development.md # 开发指南
├── pyproject.toml
└── README.md
Plugin 组件
Skills(AI 技能)
| 技能 | 触发场景 |
|---|---|
ziniao-browser |
浏览器自动化操作、页面交互、截图调试 |
store-management |
多店铺管理、会话恢复、批量操作 |
amazon-operations |
亚马逊 Listing 管理、订单处理、广告分析 |
store-rpa-scripting |
RPA 脚本生成:用 MCP 工具探索页面 → 确认步骤 → 生成可独立运行的 Python 脚本(nodriver + ziniao_webdriver)及复现文档 |
Agents(专用角色)
| Agent | 说明 |
|---|---|
ziniao-operator |
跨境电商运营专家,具备多平台操作经验和安全意识 |
Commands(快捷命令)
| 命令 | 说明 |
|---|---|
quick-check-stores |
一键检查所有店铺状态 |
batch-screenshot |
对所有已打开店铺截图 |
技术栈
| 组件 | 技术 |
|---|---|
| MCP 协议 | mcp (FastMCP) |
| 浏览器自动化 | nodriver (CDP) |
| 客户端通信 | requests (HTTP) |
| CDP 探测 | httpx (异步) |
| 配置解析 | PyYAML |
| 包管理 | uv + hatchling |
CDP 调试端口说明
open_store调用紫鸟的startBrowserAPI,紫鸟自动为店铺浏览器实例开启 CDP 端口- MCP 服务器通过 nodriver 的
Browser.create()连接到该端口 - 所有浏览器自动化工具通过此连接操作店铺页面
- 已打开店铺的 CDP 信息持久化在
~/.ziniao/sessions.json,支持跨进程恢复
文档
| 文档 | 说明 |
|---|---|
| 安装与使用 | Plugin / MCP / PyPI 多种安装方式、配置、故障排查 |
| Windows 下安装 uv | 在 Windows 上安装 uv(PowerShell / WinGet / Scoop) |
| 架构设计 | 三层架构、模块职责、数据流 |
| API 参考 | 31 个 MCP 工具的详细参数和返回值 |
| 开发指南 | 添加新工具、调试、构建发布、GitHub 自动发布 PyPI |
许可证
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ziniao_mcp-0.1.23.tar.gz.
File metadata
- Download URL: ziniao_mcp-0.1.23.tar.gz
- Upload date:
- Size: 121.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
010c9f6d2d84b91a0d264c62299591b61de1fbd2df32fceece0961d22944a8e4
|
|
| MD5 |
d484a0d3238d8e8f51a8d4c1b1294f9a
|
|
| BLAKE2b-256 |
63365aa9dd69671b98069879ae2d77be652cd7ad94658b9ae076cad0f4c8cb3b
|
File details
Details for the file ziniao_mcp-0.1.23-py3-none-any.whl.
File metadata
- Download URL: ziniao_mcp-0.1.23-py3-none-any.whl
- Upload date:
- Size: 61.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26472032a175c4fa407358e4f2027e71d293530eb9441a1749dd5ec246a4a6a4
|
|
| MD5 |
d9a75c9b062d665bc05ce6ef297d53e5
|
|
| BLAKE2b-256 |
b11cf11f14d4062c4d18183e1e13938890a9da6f0e107064051ad0ce6ac71b5c
|