Content
# Smart Pet with MCP
A smart pet companion application based on the MCP (Model Context Protocol) protocol, providing real-time interaction and services for pet owners through voice recognition and natural language processing technologies. This application is an MCP-Client that can be paired with an MCP-Server to meet various needs.
The open-source repository for the accompanying MCP server can be found at: https://github.com/shijianzhong/mcp-server-for-pc. This MCP server is primarily used to operate personal PCs, such as opening browsers, launching applications, opening files, playing music, sending emails, and more.
## Project Features
- 🎯 **Intelligent Interaction**: Achieves smart conversations through voice recognition and natural language processing.
- 🎨 **Beautiful Interface**: A modern interface built with Vue3 + Electron.
- 🔄 **Real-time Response**: Fast response based on the MCP protocol.
- 🐱 **Pet Companionship**: Provides a virtual pet interaction experience.
- 🌐 **Multi-platform Support**: Compatible with Windows, macOS, and Linux systems.
## Tech Stack
- **Frontend Framework**: Vue 3 + Electron
- **Voice Recognition**: FunASR
- **Protocol Support**: MCP (Model Context Protocol)
- **UI Rendering**: Pixi.js
- **Database**: Better-SQLite3
- **AI Models**: Supports large models like Anthropic, OpenAI, etc.
## Features
### Core Features
- 🎤 **Voice Recognition**: Captures user voice through the microphone and converts it to text.
- 🤖 **Natural Language Processing**: Converts the text from voice recognition into commands in MCP protocol format.
- 💬 **Smart Conversation**: Supports natural language dialogue with the virtual pet.
- 🎮 **Interactive Control**: Supports various interaction methods such as voice and clicks.
### Special Features
- 🎭 **Virtual Avatar**: Supports Live2D virtual avatar display.
- 🌡️ **Environmental Awareness**: Displays weather and environmental information.
- 🔄 **Real-time Updates**: Supports automatic application updates.
- ⚙️ **Configuration Management**: Supports MCP server configuration management.
## System Architecture
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ Smart Pet App │────▶│ MCP Client │────▶│ MCP Server │
│ (Electron) │ │ │ │ │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ FunASR Engine │ │ AI Models │ │ File System │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
```
## Quick Start
### Environment Requirements
- Node.js >= 16
- pnpm >= 7
- Docker (for running FunASR)
### Installation Steps
1. Clone the project
```bash
git clone https://github.com/yourusername/smart-pet-with-mcp.git
cd smart-pet-with-mcp
```
2. Install dependencies
```bash
pnpm install
```
3. Start the development environment
```bash
pnpm start
```
### Build the Application
```bash
# Windows
pnpm build:win
# macOS
pnpm build:mac
# Linux
pnpm build:linux
```
## FunASR Configuration
### Start Docker Container
```bash
sudo docker pull registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12
mkdir -p ./funasr-runtime-resources/models
sudo docker run -p 10096:10095 -it --privileged=true \
-v $PWD/funasr-runtime-resources/models:/workspace/models \
registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12
```
### Start FunASR Service
```bash
cd FunASR/runtime
nohup bash run_server_2pass.sh \
--model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-onnx \
--online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx \
--vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx \
--punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx \
--lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst \
--itn-dir thuduj12/fst_itn_zh \
--certfile 0 \
--hotword ../../hotwords.txt > log.txt 2>&1 &
```
## Contribution Guidelines
We welcome Issue and Pull Request submissions to help improve the project. Before submitting, please ensure that:
1. The code adheres to the project's coding standards.
2. The commit messages are clear and concise.
3. Tests cover the new features added.
## Online Demo
- [Video Demo](https://shijianzhong.github.io/7_1744033926.mp4)
- [YouTube](https://www.youtube.com/watch?v=hSaFswzjQ2Q)
- [Bilibili](https://www.bilibili.com/video/BV1irRUYrE4u)
- [Douyin](https://www.douyin.com/user/self?from_tab_name=main&modal_id=7490551766623292712)
## Project Screenshots
<img src="./resources/demo1.jpg" width="400" height="400">
<img src="./resources/mcpsetting.jpg" width="400" height="400">
## Contact and Support
### Contact Information
- **Email**: 994129509@qq.com
- **QQ Group**: 994129509
### Discussion Group
<div align="center">
<img src="./resources/wechat.jpg" width="400" height="400">
</div>
### Support the Project
<div align="center">
<p>Thank you for your support!</p>
<div align="center">
<img src="./resources/dashang.jpg" width="400" height="400">
</div>
</div>
## Special Thanks
Thanks to the following sponsors for their support:
- Captain Sweet Potato ¥5
- Lu Tao ¥10
- Brother Cat ¥50
- Cai Congyang Tom ¥1
- Jian Wenbin ¥5
- Keep it up, support ¥5
- Tanix ¥5
- Zhu Songling ¥5
- Victor ¥5
- Kelly ¥1
You Might Also Like
OpenWebUI
Open WebUI is an extensible web interface for customizable applications.

NextChat
NextChat is a light and fast AI assistant supporting Claude, DeepSeek, GPT4...

cherry-studio
Cherry Studio is a multilingual project for creative collaboration.

LibreChat
LibreChat is an open-source chat platform for seamless communication.

Continue
Continue is an open-source project for seamless server management.

repomix
Repomix packages your codebase into AI-friendly formats for easy use.