Jarvis Assistant Vocal MCP Server

Jarvis Assistant Vocal MCP Server

Exposes home automation and PC control tools from the Jarvis vocal assistant to any MCP client, such as Claude Desktop or Hermes.

Category
Visit Server

README

🤖 Jarvis — assistant vocal local

English version

Python License Platform Mode

Un assistant vocal en français qui tourne sur ta machine. Dis « Hey Jarvis », parle naturellement : il raisonne avec un LLM, utilise une boîte à outils extensible (domotique, PC, web, téléphone…) et te répond à voix haute. Deux modes au choix, en une ligne de config : cloud (Claude + ElevenLabs) ou 100 % local hors ligne (Ollama + Piper).

Projet perso partagé tel quel. Cible Windows 11, nécessite un micro et (en mode cloud) une clé API Anthropic. La plupart des intégrations sont optionnelles et se désactivent proprement si non configurées.

✨ Fonctionnalités

  • 🎙️ Tout à la voix — mot d'activation (openWakeWord), transcription locale (Whisper), réponses parlées
  • 👁️ Vision de l'écran — « c'est quoi cette erreur ? », « lis ça », « traduis » (capture → LLM)
  • 💡 Domotique — Philips Hue (allumer, luminosité, couleur), ambiances/scènes
  • 🎬 Streaming — contrôle d'OBS (direct, enregistrement, scènes, replay)
  • 🖥️ Contrôle PC — lancer des apps, média/volume, stats GPU/CPU/RAM en direct
  • 📅 Agenda — Google Agenda sur tous tes agendas (y compris abonnés iCal), création/suppression avec confirmation
  • 📧 Mail — résumés Gmail et rédaction
  • 💬 Discord — mentions + récap des messages du jour
  • 📸 Instagram — abonnés & vues des vidéos vs la veille (multi-comptes)
  • 🍽️ Réservations web — réserve resto/rendez-vous via un vrai navigateur (Playwright)
  • 🌐 Assistant navigateur — résume/traduit l'onglet actif, gère les onglets, agit sur les pages (ton vrai Chrome)
  • 📞 Appels téléphoniques — Twilio : jouer un message, ou une vraie conversation temps réel
  • 🧠 Mémoire long terme — retient tes préférences, tes proches, tes projets
  • 🎭 Personnalités — majordome sarcastique, neutre, concis — changeable à la voix
  • 🏠 Présence — ping ton téléphone, déclenche des scènes quand tu pars/reviens
  • 🌤️ Utilitaires — météo, minuteurs, heure/date
  • 🔌 Serveur MCP — expose les outils domotique/PC à tout client MCP (Claude Desktop, Hermes…)

🎬 Démo

📺 Vidéo / GIF de démo à venir — placeholder.

🏗️ Architecture

flowchart LR
    Mic([🎙️ Micro]) --> WW[openWakeWord<br/>« Hey Jarvis »]
    WW --> STT[faster-whisper<br/>STT — local]
    STT --> LLM{{LLM<br/>Claude ☁️ OU Ollama 🏠}}
    LLM <-->|appels d'outils| TOOLS[🧰 Outils]
    LLM --> TTS{{TTS<br/>ElevenLabs ☁️ OU Piper 🏠}}
    TTS --> SPK([🔊 Haut-parleurs])

    TOOLS -.-> HOME[💡 Hue / 🎬 OBS / 🖥️ PC]
    TOOLS -.-> NET[📅 Agenda / 📧 Mail / 💬 Discord / 📸 Instagram]
    TOOLS -.-> CDP[🌐 Chrome via CDP]
    TOOLS -.-> TW[📞 Appels Twilio]
    TOOLS -.-> MCP[[🔌 Serveur MCP]]
    MCP -.-> EXT[Hermes Agent / Claude Desktop]

☁️ Cloud vs 🏠 Local

cloud (défaut) local (hors ligne)
LLM Claude (API Anthropic) Ollama (qwen3.5:4b…)
Voix ElevenLabs Piper (français)
Transcription faster-whisper (local) faster-whisper (local)
Qualité maximale bonne (selon le modèle)
Coût à l'usage gratuit
Vie privée appels API rien ne sort de la machine
Matériel léger GPU recommandé

Bascule en une ligne : mode: cloud ou mode: local. Voir docs/local.md pour le bilan honnête de fiabilité (un modèle 7B gère bien les outils domotique/PC ; les features à vision comme le navigateur & les réservations restent cloud recommandé).

Matériel local (honnête) : Whisper medium ≈ 2–3 Go VRAM, qwen3.5:4b (Q4) ≈ 3 Go — une carte 6 Go (RTX 2060/3060) fait tourner les deux confortablement. Le qwen3.5:9b (~6 Go) demande plus de marge. Piper est temps réel sur CPU. python scripts/doctor.py conseille le modèle selon ta VRAM.

🚀 Démarrage rapide

Prérequis : Python 3.13, uv, Windows 11, un micro.

uv sync
uv run playwright install chromium        # pour les réservations / le navigateur
copy config.example.yaml config.yaml      # puis remplis ce dont tu as besoin
uv run python jarvis14.py

Dis « Hey Jarvis ». Le seul réglage strictement requis est anthropic.cle (mode cloud) ou un modèle local (mode local). Tout le reste est optionnel.

Débutant complet ? Vois INSTALL_WITH_AI.md — à coller dans n'importe quelle IA gratuite, elle t'installe tout pas à pas. Ou lance l'installateur interactif : python scripts/setup.py. Un souci ? python scripts/doctor.py diagnostique.

🤝 Se faire aider par une IA (gratuitement)

Pour INSTALLER (aucune connaissance requise) — l'option zéro friction : ouvre n'importe quel chatbot gratuit (Claude.ai, ChatGPT, Gemini), colle le contenu de INSTALL_WITH_AI.md, et laisse-toi guider.

Pour MODIFIER / bidouiller le code, plusieurs options gratuites :

  • 🏠 Cline ou Aider + Ollama — un assistant de code 100 % local et gratuit, dans l'esprit du projet. Le must si tu veux rester hors ligne.
  • Gemini CLI — gratuit, limites généreuses, agentique dans le terminal.
  • GitHub Copilot Free — niveau gratuit dans VS Code.
  • Cursor (offre gratuite) — pratique pour découvrir, mais limité.
  • Claude Code — si tu l'as (c'est ce qui a construit ce projet).

Aucun outil n'est imposé : prends celui qui te convient.

⚙️ Configuration

Tout est dans un unique config.yaml non versionné (copié depuis config.example.yaml, qui documente chaque clé). Guides par intégration :

Intégration Guide
Cloud vs local, Ollama, Piper docs/local.md
Philips Hue docs/hue.md
OBS docs/obs.md
Google Agenda + iCal docs/agenda.md
Détection de présence docs/presence.md
Bot Discord docs/discord.md
Appels Twilio docs/appels.md
Navigateur (Chrome CDP) docs/navigateur.md
Réservations web docs/reservation.md
Instagram docs/instagram.md
Serveur MCP docs/mcp.md
Latence perçue (UX) docs/latency.md

🛡️ Éthique & Sécurité

La confiance est intégrée, pas rajoutée :

  • Confirmation vocale avant toute action irréversible (envoi de mail, réservation, suppression, appel…).
  • Les appels se présentent honnêtement : « Bonjour, je suis l'assistant vocal automatisé de [prénom]… » — jamais en se faisant passer pour un humain.
  • Jamais de mot de passe ni de données bancaires saisis, jamais de paiement automatique.
  • Domaines protégés (banque, impôts, santé) sur ton vrai navigateur = lecture seule.
  • Secrets & données perso jamais versionnés (config.yaml, mémoire, logs, transcriptions d'appels, tokens OAuth — tous gitignorés).
  • Au téléphone, Jarvis ne confirme que ce que tu as validé avant l'appel.

🗺️ Roadmap

  • [ ] Contrôle des lampes vidéo Godox (aujourd'hui Hue seulement)
  • [ ] Outils notes & rappels
  • [ ] TTS en streaming phrase par phrase (voir docs/latency.md)
  • [ ] Boucle navigateur en 100 % local : la vision de qwen3.5 lit déjà le texte des boutons (testé) — reste à valider le pilotage complet
  • [ ] Rafraîchissement auto des tokens Instagram entre redémarrages (partiel aujourd'hui)

🤝 Contribuer

Ajouter un outil = un seul fichier dans tools/ avec un décorateur @outil(...) — il est auto-découvert, aucun câblage. Issues et PR bienvenues. Merci de ne jamais committer de vrais secrets (vois .gitignore).

📄 Licence

MIT — voir LICENSE.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured