1. Conduid
  2. Automation
  3. Caal
MCP server · Automation

Caal

Local voice assistant that learns new abilities via auto-discovered n8n workflows exposed as tools via MCP

Unclaimed MIT automation
77Good

Scored 11 hours ago · breakdown

About Caal

Caal is an MCP server published by CoreWorxLab in the Automation category: local voice assistant that learns new abilities via auto-discovered n8n workflows exposed as tools via MCP.

The repository has 441 stars and 109 forks, with the last commit 4 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/CoreWorxLab/CAAL

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Caal

Powered by Claude · Grounded in docs

I know everything about Caal. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 11 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.6.0v1.6.0 - OpenAI-Compatible & OpenRouter Providers · 7 Feb 2026OpenAI-Compatible & OpenRouter Providers This release adds two new LLM providers, restructures the settings UI around the voice pipeline architecture, and fixes Apple Silicon deployment. New LLM Providers OpenAI-compatible: Connect to…
v1.5.0v1.5.0 - CAAL Tool API & Registry · 31 Jan 2026CAAL Tool API & Registry This release introduces the CAAL Tool API - a complete system for building, sharing, and installing voice-callable tools. Browse community tools, install with one click, and share your own workflows with the…
v1.4.0v1.4.0 - GPU-Free Mode & First-Start Wizard · 15 Jan 2026🎉 The Accessibility Release CAAL now runs without a GPU. Deploy on TrueNAS, cloud VMs, or any machine with Docker. New Features GPU-Free Deployment `docker compose -f docker-compose.cpu.yaml up -d` Uses Groq (LLM + STT) + Piper (TTS)…
v1.3.0v1.3.0 - Server-side Wake Word with OpenWakeWord · 4 Jan 2026What's New This release replaces client-side Picovoice wake word detection with server-side OpenWakeWord, enabling unlimited device support without per-device licensing restrictions. Highlights Server-side OpenWakeWord - Wake word…
v1.2.0v1.2.0 - Apple Silicon Support · 1 Jan 2026Apple Silicon Support (M1/M2/M3/M4) CAAL now runs on Apple Silicon Macs using mlx-audio for Metal-accelerated STT/TTS. New Features `docker-compose.apple.yaml` - Minimal compose for Apple Silicon…

README

CAAL

LiveKit

Self-hosted voice assistant you actually own. Secure by design - the LLM never sees your API keys.

CAAL is an open-source voice assistant built on LiveKit Agents that runs entirely on your hardware. Your voice, your data, your credentials — all on your network.

CAAL Voice Assistant


Why CAAL?

Secure by architecture. The model never sees your API keys. Ever. Credentials live in n8n's encrypted credential store. The LLM sends parameters to a webhook, the workflow handles auth. Even if a prompt injection succeeds, the model can only call pre-built workflows — no shell access, no curl, no ability to transmit data. It's an air gap for the LLM. Every tool in the registry goes through automated security review and human approval before it's available to install.

Purpose-built model. CAAL ships with caal-ministral — a fine-tuned 8B model trained specifically for voice tool calling. It knows how to control your smart home, chain tools together, and respond naturally. The LLM is one piece of the architecture, not the architecture. It handles decisions that code can't — which tool to call, what parameters to use, when to chain steps. Everything else is code. That's why an 8B model works.

ollama pull coreworxlab/caal-qwen3.5-9b

Infinitely extensible. Any n8n workflow becomes a voice-activated tool. Control Home Assistant devices, query APIs, automate your life — then share your tools with the community via the CAAL Tool Registry. Tools follow a suite convention — fewer tools, better accuracy, more reliable routing.

Local by default. Runs fully on your network with Ollama. No accounts, no telemetry, no cloud dependency. Want to use Groq, OpenRouter, or any OpenAI-compatible API? Your choice. Your credentials and tool executions never leave your network regardless.


Features

  • Tool Registry — Browse and install community tools with one click. Every submission goes through automated security review and human approval
  • Tool Chaining — Sequential multi-tool calls in one prompt. The model uses real data from each step to inform the next
  • Home Assistant — Voice control across lights, covers, locks, climate, media, and more via hass
  • n8n Workflows — Any workflow becomes a tool. Visual, inspectable, shareable, auditable through n8n's execution history
  • Flexible Providers — Ollama, Groq, OpenRouter, or any OpenAI-compatible API. Speaches or Groq for STT. Kokoro or Piper for TTS
  • Short-Term Memory — Store and recall information across sessions
  • Internationalization — English, French, Italian, with more coming
  • Wake Word — "Hey Cal" via OpenWakeWord
  • Web Search — DuckDuckGo integration for real-time information
  • Mobile App — Android client available from Releases
  • Webhook API — REST API for announcements, settings, and external triggers

Quick Start

git clone https://github.com/CoreWorxLab/caal.git
cd caal
cp .env.example .env
nano .env  # Set CAAL_HOST_IP to your server's LAN IP

# If using Ollama (recommended)
ollama pull coreworxlab/caal-ministral:latest

docker compose up -d

Open https://YOUR_SERVER_IP:3443 and complete the setup wizard.

Requires Docker with NVIDIA Container Toolkit and 8GB+ VRAM. For CPU-only or Apple Silicon setups, see Deployment Options.

Deployment Options

Mode Hardware Command Guide
GPU Linux + NVIDIA GPU docker compose up -d Quick Start above
CPU-only Any Docker host docker compose -f docker-compose.cpu.yaml up -d Wiki: CPU Mode
Apple Silicon M1/M2/M3/M4 Mac ./start-apple.sh Apple Silicon Guide
Distributed GPU server + frontend See guide Distributed Guide

HTTPS & Network

HTTPS is enabled by default with auto-generated self-signed certificates. This is required because browsers block microphone access on non-localhost HTTP.

To avoid the browser certificate warning, trust the auto-generated cert:

./trust-cert.sh

This works on macOS and Linux (Debian/Ubuntu, RHEL/Fedora, Arch, Chrome, Firefox). Pass --yes to skip the confirmation prompt. On Apple Silicon, start-apple.sh runs it automatically.

Alternatively, for browser-trusted certs use mkcert:

mkcert -install && mkcert 192.168.1.100
mkdir -p certs && mv 192.168.1.100.pem certs/server.crt && mv 192.168.1.100-key.pem certs/server.key

For remote access via Tailscale, set HTTPS_DOMAIN in .env to your Tailscale domain. See the wiki for details.

The mobile app connects via LiveKit directly and doesn't require HTTPS.


Documentation

Resource Description
Wiki Full documentation — architecture, configuration, deployment
Home Assistant Smart home integration setup and usage
n8n Workflows Creating and connecting workflow tools
Apple Silicon Running on M1/M2/M3/M4 Macs
Distributed Deployment Split GPU backend and frontend
Internationalization Adding language support
Tool Registry Browse and submit community tools
CONTRIBUTING.md Development setup and contribution guidelines

Architecture

                          https://<IP>:3443    https://<IP>:7443
                                │                     │
                          ┌─────┴─────────────────────┴─────┐
                          │           nginx (TLS)           │
                          │         :3443  :7443            │
                          └─────┬─────────────────┬─────────┘
                                │                 │
┌───────────────────────────────┼─────────────────┼───────────────────┐
│  Docker Compose Stack         │                 │                   │
│                               │                 │                   │
│  ┌────────────┐         ┌─────┴──────┐  ┌───────┴────┐  ┌────────┐  │
│  │  Speaches  │         │  Frontend  │  │  LiveKit   │  │ Kokoro │  │
│  │(STT, GPU)  │         │  (Next.js) │  │   Server   │  │ (TTS)  │  │
│  │   :8000    │         │   :3000    │  │   :7880    │  │ :8880  │  │
│  └─────┬──────┘         └─────┬──────┘  └─────┬──────┘  └───┬────┘  │
│        │                      │               │             │       │
│        └──────────────────────┼───────────────┼─────────────┘       │
│                               │               │                     │
│                         ┌─────┴───────────────┴─────┐               │
│                         │         Agent             │               │
│                         │    (Voice Pipeline)       │               │
│                         │    :8889 (webhooks)       │               │
│                         └─────────┬─────────────────┘               │
│                                   │                                 │
└───────────────────────────────────┼─────────────────────────────────┘
                                    │
           ┌────────────────────────┼────────────────────────┐
           │                        │                        │
     ┌─────┴─────┐           ┌──────┴──────┐          ┌──────┴──────┐
     │   Ollama  │           │     n8n     │          │    Home     │
     │Groq / OR  │           │  Workflows  │          │  Assistant  │
     └───────────┘           └─────────────┘          └─────────────┘
                      External Services (via MCP)

Community

CAAL is built in the open. If you build a tool, we see the PR. If you find a bug, we see the issue.


Related Projects

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

License

MIT License — see LICENSE for details.

README fetched from the repository 11 hours ago. The original is authoritative.

Questions

About Caal

How do I install Caal?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Caal safe to use with an AI agent?

Its trust score is 77 out of 100 (good). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Caal still maintained?

Yes — the last commit was 4 months ago. The repository has 441 stars and 109 forks and 12 open issues.