π English | Π ΡΡΡΠΊΠΈΠΉ | δΈζ
MCP server for CM3588 NAS Kit - semantic knowledge base, change logging, live device status.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Local Machine β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Claude Code + MCP Server β β
β β βββ Knowledge Base (Qdrant) - semantic search β β
β β βββ Changelog - change history β β
β β βββ SSH client β CM3588 live status β β
β β βββ MCP Tools/Resources/Prompts β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β β SSH β
ββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββ
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CM3588 NAS Kit (192.168.1.173) β
β βββ RK3588 (NPU 6 TOPS) β
β βββ Wyoming/Whisper/Piper services β
β βββ Microphone, cameras, GPIO β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Create virtual environment
python -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -e .docker-compose up -dcp .env.example .envConfigure in .env:
CM3588_HOST- CM3588 IP address (192.168.1.173)CM3588_USER- SSH user (root)CM3588_SSH_KEY- path to SSH key (~/.ssh/id_ed25519)QDRANT_HOST,QDRANT_PORT- Qdrant (localhost:6333)
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@192.168.1.173Create .mcp.json in your project root:
{
"mcpServers": {
"cm3588": {
"command": "/path/to/mcp-cm3588/.venv/bin/python",
"args": ["-m", "mcp_cm3588.server"],
"cwd": "/path/to/mcp-cm3588"
}
}
}Restart Claude Code or run /mcp restart cm3588.
| Tool | Description |
|---|---|
save_knowledge(title, content, category, tags) |
Save knowledge |
search_knowledge(query, category, limit) |
Semantic search |
get_knowledge(entry_id) |
Get entry by ID |
update_knowledge(entry_id, content, append) |
Update entry |
list_categories() |
List categories |
list_knowledge(category, limit) |
List entries in category |
| Tool | Description |
|---|---|
log_change(what, why, details, files_changed, commands_run) |
Log a change |
log_solution(problem, solution, steps) |
Save problem solution |
get_changelog(limit) |
Get change history |
| Tool | Description |
|---|---|
document_config(service_name, config_path, description) |
Document config |
create_howto(title, steps, category, tags) |
Create step-by-step guide |
| URI | Description |
|---|---|
docs://hardware |
CM3588 specifications |
docs://npu |
NPU/RKNN documentation |
docs://wyoming |
Wyoming Protocol |
docs://llm |
LLM on RK3588 |
| URI | Description |
|---|---|
live://system |
Uptime, memory, disk, temperature |
live://services |
Docker containers |
live://npu |
NPU status, driver, load |
live://network |
IP addresses, ports |
live://voice-pipeline |
Whisper/Piper/Wake status |
live://llm |
LLM processes and models |
| URI | Description |
|---|---|
config://whisper |
Docker inspect whisper |
config://piper |
Docker inspect piper |
config://docker-compose |
docker-compose.yml files |
| URI | Description |
|---|---|
logs://whisper |
Whisper logs (50 lines) |
logs://piper |
Piper logs |
logs://system |
System logs |
| Prompt | Description |
|---|---|
setup_microphone |
USB microphone setup |
setup_camera |
Camera setup |
setup_llm_npu |
Run LLM on NPU |
optimize_model_npu |
Optimize model for RKNN |
troubleshoot_voice |
Voice pipeline diagnostics |
after_change |
What to do after changes |
document_current_state |
Document current state |
hardware- hardware, specificationsvoice-pipeline- voice pipeline (Whisper, Piper, Wake Word)npu- NPU, RKNN, model accelerationdocker- Docker containers and configstroubleshooting- problem solutions
After connecting MCP server, Claude Code automatically:
-
Searches knowledge base before work:
> How to setup microphone? [Claude uses search_knowledge("microphone")] -
Logs changes:
> Changed whisper config [Claude uses log_change()] -
Checks live status:
> What's the voice pipeline status? [Claude reads live://voice-pipeline] -
Saves solutions:
> Fixed NPU issue [Claude uses log_solution()]
# Run server directly
python -m mcp_cm3588.server
# Linting
ruff check src/
ruff format src/
# Tests
pytestMIT License - see LICENSE