live2d-mcp
An interactive desktop companion with a Live2D model that can be controlled via MCP protocol, featuring TTS, music playback, alarms, and more.
README
Live2D MCP Companion
Интерактивный десктопный компаньон с Live2D-моделью, управляемый через MCP (Model Context Protocol). Работает на Windows.
Возможности
- Live2D-персонаж — анимированная модель Hiyori на десктопе (через PyQt6 + OpenGL)
- TTS (Text-to-Speech) — голосовой вывод через Piper TTS (русские голоса: Irina, Denis, Ruslan)
- STT (Speech-to-Text) — распознавание речи через faster-whisper ⚠️ (временно не работает)
- MCP сервер — 36 инструментов для управления персонажем через любой MCP-клиент
- RAG (Retrieval-Augmented Generation) — семантический поиск по документам
- Веб-интерфейс — управление через браузер на
http://localhost:8766 - Музыкальный плеер — воспроизведение MP3 через pygame
- Будильник и таймер — с MCP-уведомлениями
- Скриншоты — снимок экрана с реакцией персонажа
- Игровые режимы — прятки, танцы, эмоции и др.
- Дополнительные модели — Nagatoro Sprite (спрайтовая модель в отдельном репозитории)
Системные требования
- Windows 10/11
- Python 3.12+
- Видеокарта с поддержкой OpenGL
- Микрофон (для STT)
Установка
1. Клонировать репозиторий
git clone https://github.com/nukkerman2000/live2d-mcp.git
cd live2d-mcp
2. Установить портабельный Python
Скачайте embeddable Python 3.12 и распакуйте в папку python\.
Либо используйте системный Python.
3. Установить зависимости
Запустите setup_python.bat или выполните вручную:
python\python.exe get-pip.py
python\Scripts\pip.exe install -r requirements.txt
4. Настроить конфиг
Скопируйте config.example.json в config.json и настройте под себя.
5. Загрузить голосовые модели
Скачайте Piper-голоса в папку voices\:
6. Загрузить Piper TTS бинарники
Скачайте Piper TTS для Windows и распакуйте piper.exe и DLL в папку piper\.
Запуск
start.bat
После запуска:
- MCP сервер:
http://127.0.0.1:8765/mcp - Веб-интерфейс:
http://127.0.0.1:8766
MCP Инструменты
Всего 36 инструментов для управления персонажем через MCP.
Управление моделью
| Инструмент | Описание |
|---|---|
switch_model |
Переключение между моделями (hiyori, nagatoro_sprite) |
set_emotion |
Установить эмоцию/выражение лица |
set_mouth_open |
Управление открытием рта (липсинк) |
play_motion |
Воспроизвести анимацию движения |
stop_all_motions |
Остановить все анимации |
list_motion_groups |
Список доступных групп анимаций |
set_eye_position |
Управление направлением взгляда |
set_parameter |
Установить любой параметр модели Live2D |
Окно персонажа
| Инструмент | Описание |
|---|---|
show / hide |
Показать/скрыть окно персонажа |
move_window |
Переместить окно по координатам |
resize_window |
Изменить размер окна |
center_window |
Центрировать окно на экране |
get_status |
Получить статус персонажа и окна |
TTS / Голос
| Инструмент | Описание |
|---|---|
speak |
Озвучить текст через TTS (с липсинком) |
list_voices |
Список доступных голосов |
stop_speaking |
Остановить воспроизведение |
Музыка
| Инструмент | Описание |
|---|---|
list_tracks |
Список MP3-треков |
play_track / stop_music |
Воспроизвести/остановить трек |
next_track / prev_track |
Следующий/предыдущий трек |
play_random_track |
Случайный трек |
set_loop / set_autoplay |
Режимы повтора и автовоспроизведения |
set_music_volume |
Громкость музыки |
set_mcp_music |
Разрешить MCP управлять музыкой |
Будильник и таймер
| Инструмент | Описание |
|---|---|
set_alarm_text |
Установить будильник (время HH:MM, текст) |
set_timer |
Запустить таймер (в минутах) |
get_alarm_timer_status |
Статус будильника и таймера |
Прочее
| Инструмент | Описание |
|---|---|
take_screenshot |
Сделать скриншот экрана |
list_available_emotions |
Список доступных эмоций |
query_documents |
Поиск по документам (RAG) |
ingest_file |
Загрузить файл в RAG-индекс |
list_documents |
Список проиндексированных документов |
rag_status |
Статус RAG-системы |
Конфигурация
Основные настройки в config.json:
- TTS движок, голос, скорость
- Порты MCP и веб-интерфейса
- Включение/отключение STT, музыки, будильника
- Эмоции и анимации для разных режимов
- Фразы для интерактивного общения
Структура проекта
├── run.py # Точка входа
├── mcp_server.py # MCP сервер
├── live2d_display.py # Отрисовка Live2D (PyQt6 + OpenGL)
├── talk.py # Логика диалогов и интерактивности
├── tts.py # TTS движок (Piper)
├── stt.py # Распознавание речи
├── music_player.py # Музыкальный плеер
├── alarm_timer.py # Будильник и таймер
├── voice_bridge.py # Голосовой мост
├── web_ui.py # Веб-интерфейс (Starlette + uvicorn)
├── mcp_client.py # MCP клиент
├── phrases.py / .json # Фразы персонажа
├── ui.js # Клиентская часть веб-интерфейса
├── rag/ # RAG движок
├── play_modes/ # Игровые режимы
└── assets/live2d/ # Live2D и спрайтовые модели (Hiyori, Nagatoro_sprite)
Безопасность
Приложение не отправляет данные в интернет (кроме загрузки моделей STT/TTS при первом запуске). MCP сервер слушает только 127.0.0.1.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.