π¦ PURPCLAW v7.0 β ULTIMATE
The AI Voice Agent MCP Bridge β Gives your Xiaozhi AI hardware full autonomous PC control via 66 MCP tools. Built by WEEMADSCOTSMAN at Pixel Dynasty.
The setup guide covers everything from buying the hardware to your first voice command. Anyone with a Xiaozhi ball can use this.
PURPCLAW is an MCP (Model Context Protocol) bridge that connects a Xiaozhi AI voice agent to your Windows PC. It turns a voice-enabled AI ball into a fully autonomous engineering assistant that can:
π₯οΈ See your screen β Screenshots + OCR text recognition
πΈ See YOU β Webcam capture, face/object detection
π Browse the web β Playwright-powered: click links, fill forms, read pages
π Manage files β Read, write, copy, move, delete, search, zip/extract
π±οΈ Control your desktop β Mouse clicks, keyboard typing, window management
β¬οΈ Download files β Direct URL downloads
π¦ Install packages β pip, npm, or choco
π Control audio β Volume up/down/mute/set
π§ Run commands β Shell execution with injection protection
π§ Remember things β Persistent memory across sessions
π¦ Run AI pipelines β Start/stop/monitor PURPCLAW build pipelines
ββββββββββββββββββββ WebSocket ββββββββββββββββββββ
β Xiaozhi Ball β βββββββββββββββββ β xiaozhi_bridge β
β (DeepSeek V3.1) β MCP Protocol β v7.0.0 β
ββββββββββββββββββββ ββββββββββ¬ββββββββββ
β
βββββββββββββββββββΌββββββββββββββββββ
β β β
βββββββ΄ββββββ ββββββββ΄βββββββ βββββββ΄ββββββ
β Playwright β β PowerShell β β Python β
β Browser β β .NET APIs β β OpenCV β
βββββββββββββ βββββββββββββββ βββββββββββββ
Tool
Description
screen_capture
Screenshot the screen
screen_ocr
Read text from screen via OCR
screen_find_object
Detect objects with YOLO
screen_find_template
Find image on screen (template match)
screen_info
Get monitor sizes
Tool
Description
webcam_look
Take a photo with PC webcam
webcam_detect
Detect people/faces/objects
webcam_read
OCR text visible to camera
Tool
Description
mouse_click
Click, double-click, right-click, drag
mouse_scroll
Scroll wheel
keyboard_type
Type text or press shortcuts
Tool
Description
find_and_click
Find and click UI elements by text
Tool
Description
window_list
List open windows
window_focus
Focus a window by title
window_close
Close a window
Tool
Description
file_read
Read file contents
file_write
Write/append to files
file_list
List directory contents
file_search
Search by name or content (Node.js, fast)
file_copy
Copy files/directories
file_move
Move/rename files
file_delete
Delete files (system path protected)
dir_create
Create directories
Browser (9) β Playwright-Powered
Tool
Description
browser_open
Open URL with full interaction
browser_click
Click links/buttons by visible text
browser_type
Type into form fields
browser_scroll
Scroll pages up/down
browser_get_content
Read page text content
browser_screenshot
Screenshot the browser
browser_navigate
Navigate: goto/back/forward/reload
browser_tabs
List open tabs
browser_close_tab
Close a tab
Tool
Description
download_file
Download file from URL
Tool
Description
process_list
List running processes
process_kill
Kill process by name/PID (critical procs blocked)
Tool
Description
volume_control
Set volume, mute/unmute, up/down
Tool
Description
zip_create
Create zip archives
zip_extract
Extract zip archives
Tool
Description
install_package
Install via pip/npm/choco
Tool
Description
purpclaw_start
Start AI build pipeline
purpclaw_stop
Stop pipeline
purpclaw_status
Get pipeline status
purpclaw_logs
Read pipeline logs
Tool
Description
git_command
Run git commands
Tool
Description
http_request
HTTP GET/POST/PUT/DELETE
clipboard
Read/write clipboard
speak
Text-to-speech via Kokoro TTS
notification
Desktop toast notifications
Tool
Description
active_window
Get focused window info
system_status
CPU, RAM, process overview
disk_info
Drive space for all disks
network_info
IP, WiFi, internet status
execute_command
Execute shell commands (injection-proof)
Tool
Description
open_application
Launch apps by name
memory
Persistent remember/recall/forget/list
task_schedule
Schedule delayed tasks
task_list
List scheduled tasks
Node.js 18+
Python 3.10+ with opencv-python
Playwright (npm i playwright)
Xiaozhi.me account + configured agent
git clone https://github.com/weemadscotsman/purpclaw.git
cd purpclaw
npm install
cp .env.example .env
# Edit .env with your Xiaozhi MCP token
# Windows (recommended)
start_xiaozhi_bridge.bat
# Or manually
set XIAOZHI_MCP_URL=wss://api.xiaozhi.me/mcp/? token=YOUR_TOKEN
node lib/xiaozhi_bridge.js
Variable
Description
XIAOZHI_MCP_URL
WebSocket URL from Xiaozhi MCP settings
OPENCLAW_GATEWAY
OpenClaw WebSocket (default: ws://127.0.0.1:18789)
MCP_BRIDGE_URL
Bridge HTTP server (default: http://localhost:3001)
Shell injection protection β All user input is sanitized via san() function
System path protection β Cannot delete Windows/Program Files/AppData
Critical process protection β Cannot kill explorer, csrss, lsass, svchost
Destructive command blocking β Blocks format, recursive system deletes, shutdown
Tool timeout β Every tool has a timeout to prevent hanging
Runtime : Node.js (single-process, async event loop)
Browser : Playwright (Chromium, headless: false)
Vision : Python OpenCV + Haar cascade face detection
Screen : .NET System.Drawing (fast screenshot via PowerShell)
Shell : PowerShell -NoProfile -NonInteractive (fast startup)
Protocol : MCP over WebSocket (JSON-RPC 2.0)
Created by Eddie Cannon (@weemadscotsman ) β Edinburgh, Scotland π΄σ §σ ’σ ³σ £σ ΄σ Ώ
Pixel Dynasty β Gaming Archive & Collab Hub
NDK Threads β ndkthreads.com
PixelBits420 β Fair-launch cryptocurrency
MIT