MCP Catalogs
Homepy-xiaozhi screenshot

py-xiaozhi

by huangjunsen0406·3,309·Score 56

A Python-based Xiaozhi AI voice assistant with MCP tools integration, supporting GUI/CLI/GPI interfaces and multimodal interactions.

ai-llmdeveloper-toolsproductivity
696
Forks
4
Open issues
this month
Last commit
2d ago
Indexed

Overview

Py-Xiaozhi is a Python implementation of Xiaozhi AI voice assistant that provides full Xiaozhi experience without specialized hardware. It features AI voice interaction, visual multimodal capabilities, smart wake-up detection, automatic conversation mode, and MCP tool ecosystem integration. The project supports multiple interface modes including GUI (PySide6 + QML), CLI, and GPIO, with cross-platform compatibility for Windows, macOS, and Linux. The architecture includes plugin system, multiple communication protocols (WebSocket/MQTT), and various audio codecs.

Try asking AI

After installing, here are 6 things you can ask your AI assistant:

you:Voice-controlled desktop assistant with multimodal capabilities
you:Home automation through voice commands and tool integration
you:Development platform for custom voice assistant applications
you:What are the system requirements for Py-Xiaozhi?
you:How to add custom MCP tools to the system?
you:Can Py-Xiaozhi work offline?

When to choose this

Choose py-xiaozhi for building voice-controlled applications with multimodal AI capabilities, especially when you need cross-platform support without hardware dependencies.

When NOT to choose this

Avoid if you need a pure MCP server without voice interaction capabilities, or if you prefer cloud-based AI services rather than local deployment.

Tools this server exposes

6 tools extracted from the README
  • music_play

    Play music through the music player

  • camera_capture

    Capture images using the camera

  • screenshot

    Take a screenshot of the current display

  • app_control

    Control running applications

  • weather_query

    Get weather information for a location

  • volume_control

    Adjust system volume levels

Comparable tools

xiaozhi-desktopopen-assistantvoiceflowraspberry-pi-voice-assistant

Installation

# Clone repository
git clone https://github.com/huangjunsen0406/py-xiaozhi.git
cd py-xiaozhi

# Install dependencies (CLI/GPIO mode)
uv sync
# or: pip install -e .

# Install with GUI support
uv sync --extra gui
# or: pip install -e '.[gui]'

# Run the application
python main.py  # GUI mode (default)
python main.py --mode cli  # CLI mode
python main.py --protocol mqtt  # MQTT protocol

For Claude Desktop integration, add to claude_desktop_config.json:

{
  "mcpServers": {
    "xiaozhi": {
      "command": "python",
      "args": ["/path/to/py-xiaozhi/main.py"]
    }
  }
}

FAQ

What are the system requirements for Py-Xiaozhi?
Python >= 3.10, microphone and speakers, stable internet connection. Compatible with Windows 10+, macOS 10.15+, and Linux.
How to add custom MCP tools to the system?
Custom tools can be added through the plugin system in the `src/plugins/mcp/tools/` directory. The project supports extending the MCP tool ecosystem with custom implementations.
Can Py-Xiaozhi work offline?
The wake word detection is based on Sherpa-ONNX for offline recognition, but some features require internet connection for cloud AI processing.

Compare py-xiaozhi with

GitHub →

Last updated · Auto-generated from public README + GitHub signals.