An MCP server that gives Claude Desktop a maid personality, complete with a Japanese-accented voice, visual avatar, and speech recognition.
A full-featured MCP (Model Context Protocol) server that gives Claude Desktop a maid personality codenamed Mimi with Japanese-accented voice, visual avatar presence, and speech recognition capabilities. Best used with a Claude Max plan, Opus 4 is very good about managing all the maid tools while coding things for you. This project is specifically meant to be for fun, not for productivity. There are already a million productivity mcp servers.
# Install Node.js dependencies (if not already done)
npm install
# Install Python dependencies for voice input
cd voice
install_voice_deps.bat
cd ..
# Install Python dependencies for avatar (if needed)
cd avatar
install_avatar_deps.bat
cd ..
Add to your %APPDATA%\Claude\claude_desktop_config.json
:
{
"mcpServers": {
"maid": {
"command": "node",
"args": ["path/to/maid-mcp/maid-server.js"]
}
}
}
Replace path/to/maid-mcp
with the actual path where you cloned this repository.
# Recommended: Use Python launcher for best process management
start_all_python.bat
# Alternative: Use enhanced batch launcher
start_all.bat
This automatically:
stop_all.bat
Tool | Description | Parameters |
---|---|---|
speak | Convert text to speech | text , emotion (optional) |
list_voices | Get available voices | None |
set_voice | Change current voice | voiceId |
Emotions: neutral, happy, sad, excited, angry, shy
Tool | Description | Parameters |
---|---|---|
show_avatar | Display avatar on screen | animation , x , y (all optional) |
hide_avatar | Hide avatar (keeps running) | None |
play_animation | Play animation or pose | id |
stop_animation | Stop current animation | None |
move_avatar | Reposition avatar | x , y |
create_animation | Create custom sequence | id , name , frames , fps , loop |
list_animations | List all animations | None |
list_poses | List available sprites | None |
Action | Result |
---|---|
Right-click | Hide avatar (stays running) |
Double-click | Close avatar permanently |
Left-click | Cancel animation |
Drag | Move avatar (shows pick_up pose) |
ESC key | Close avatar permanently |
maid-mcp/
โโโ maid-server.js # Main MCP server
โโโ package.json # Node.js dependencies
โโโ start_all_python.bat # Recommended launcher
โโโ start_all.bat # Alternative launcher
โโโ stop_all.bat # Stop all systems
โ
โโโ voice/ # Voice system module
โ โโโ outgoing/ # Text-to-speech engine
โ โโโ incoming/ # Speech recognition
โ โโโ README.md # Voice documentation
โ โโโ [utility scripts] # Calibration & setup tools
โ
โโโ avatar/ # Visual avatar system
โ โโโ avatar_display.py # PyQt5 window
โ โโโ avatar_state_server.py # Coordination server
โ โโโ library/ # Sprite assets
โ โ โโโ *.png # Sprite images
โ โ โโโ animations/ # Animation definitions
โ โโโ README.md # Avatar documentation
โ
โโโ auto_claude/ # Claude Desktop automation
โ โโโ ultra_fast_sender.py # Message sending
โ
โโโ temp_voice/ # Temporary audio files
โโโ junk/ # Archive of old implementations
โโโ needed_poses.md # Wishlist for new sprites
cd voice
adjust_sensitivity.bat
Recommended sensitivity values:
cd voice
calibrate_voice.bat
Edit voice/incoming/voice_config.ini
:
[recognition]
energy_threshold = 4000 # Microphone sensitivity
message_cooldown = 3.0 # Seconds between messages
start_all_python.bat
for better process managementstop_all.bat
before starting againtemp_voice/
folder for audio filesavatar/library/
Edit voice/outgoing/voiceConfig.js
to add more Edge TTS voices
avatar/library/
// Example: Create a greeting sequence
create_animation({
id: "greeting",
name: "Greeting Sequence",
frames: "idle,happy,love,idle",
fps: 2,
loop: false
})
MIT
Interact with the ClickUp API to manage tasks, lists, and spaces, automating project planning and workflows.
Productโdiscovery and strategy platform integration. Create, query and update opportunities, solutions, outcomes, requirements and feedback from any MCPโaware LLM.
Interact with the Qonto Business API to manage finances, transactions, and account information using API credentials.
AI Task schedule planning with LLamaIndex and Timefold: breaks down a task description and schedules it around an existing calendar
Automates marketing operations with AI-powered optimization, real-time analytics, and multi-platform integration.
A Python monorepo for AI-powered project management and productivity servers, utilizing the Claude API.
Interact with the DeepWriter API, an AI-powered writing assistant.
Provides comprehensive project management context to AI agents using the Helios-9 API.
Manage Zendesk tickets and comments, analyze tickets, draft responses, and access Help Center articles as a knowledge base.
Control your Spotify music playback through conversations using the Spotify API.