Technique

Comment fonctionne Maurice

En bref

Maurice transforme une consigne en langage naturel en workflow : une suite d'étapes décrite dans un fichier versionné, l'Agent Spec. Les étapes à règles s'exécutent en code ; un modèle d'IA n'est appelé qu'aux étapes qui le demandent. Maurice s'installe depuis votre assistant de code et tourne sur un poste, sur un serveur, ou en Kubernetes sur devis.

1. De la consigne au workflow

  1. Vous décrivez la tâche, dans votre assistant ou dans le Studio de Maurice.
  2. Maurice rédige l'Agent Spec : les entrées, les étapes, les sorties, les droits. C'est un ensemble de fichiers lisibles (agent-spec.json, workflows/, miniapps/, tests/), validés par des schémas JSON et versionnables dans Git.
  3. Vous précisez, vous testez, vous corrigez, en langage naturel, jusqu'à ce que le résultat vous convienne : Maurice reprend la spécification et ses tests à chaque tour. Puis vous approuvez. L'approbation est toujours humaine : un assistant de code peut préparer et vérifier une Agent Spec, il ne peut pas l'approuver à votre place.
  4. Maurice l'applique et la vérifie.
maurice spec check  →  maurice spec plan  →  approbation humaine  →  maurice spec apply  →  maurice spec verify

Ce que la spécification garantit à l'entreprise

  • Un plan immuable : avant d'appliquer, Maurice produit un plan avec son empreinte et le détail des changements. Ce qui est approuvé est exactement ce qui est appliqué.
  • Une approbation par une personne distincte de l'agent qui a préparé la spécification. En production, aucun agent ni service ne peut s'approuver lui-même.
  • Pas de retour en arrière silencieux : un ancien plan ne peut pas rétablir un droit qui a été retiré.
  • Des tests livrés avec la spécification, rejoués à chaque changement.
  • Un outil qui survit à son auteur : la spécification et ses tests restent dans l'entreprise, versionnés.

2. Les étapes d'un workflow

ÉtapeCe qu'elle faitAppelle un modèle ?
code_executionExécute du code : les règles, les calculs, les contrôlesNon
tool_callAppelle un outil : un serveur MCP, une intégrationNon
workflow_callAppelle un autre workflow publiéSelon ce workflow
decisionChoisit une branche parmi un ensemble borné
questionPose une question fermée (choix, note, oui/non) à un modèle de jugementOui
llm_callDemande un texte ou une sortie structurée à un modèleOui

Une étape protégée (require_approval) attend la décision d'une personne avant de s'exécuter.

C'est ce qui fait l'IA compilée : dans la mesure publiée sur 1 000 contrôles de commandes, neuf règles sur dix tournaient en code_execution, et une seule étape gardait un appel de modèle. Lire la mesure

3. L'exécution

  • Le code tourne dans un bac à sable (Deno) avec des permissions explicites : pas d'accès réseau sans liste d'hôtes autorisés par Agent, limite de temps (300 s par défaut), de sortie et de mémoire, répertoire privé par exécution.
  • Chaque exécution est tracée : état, étapes, appels d'outils, appels de modèles, coût.
  • Une même clé d'exécution donne la même exécution : un appel répété ne relance pas le travail.

4. Quand il faut réfléchir à chaque fois : le mode agent

Pour une tâche ouverte, Maurice confie le raisonnement à un modèle à chaque exécution, comme un agent IA, dans le même cadre : mêmes droits, mêmes validations, même journal. Le coût est alors celui des appels de modèles.

5. Depuis votre assistant

  • Installation : vous collez un texte dans votre assistant de code ; il installe Maurice, l'appaire avec un lien à usage unique valable 15 minutes, puis vérifie l'installation (maurice doctor). Assistants pris en charge : Claude Code, Codex, Cursor, Grok Bot, Hark, ou tout client MCP générique.
  • La porte MCP maurice : votre assistant découvre, se fait expliquer et exécute les workflows que vous l'autorisez à utiliser, avec trois outils : search, explain, execute. Chaque autorisation a une portée (un workflow ou une application), une durée et un quota, et se révoque à tout moment. Une étape qui demande votre approbation se décide dans votre propre session, jamais par l'assistant.

6. Les modèles d'IA

  • Avec vos clés : Anthropic, OpenAI, Mistral, Google, ou un modèle local (Ollama). Vos clés sont chiffrées au repos.
  • Avec nos crédits : plus de 500 modèles sur étagère (Claude, GPT, Gemini, Mistral, Grok, Llama, Qwen, DeepSeek…), des modèles d'embeddings et un OCR, appelés par notre passerelle. Voir les connecteurs
  • Pas de bascule automatique d'un fournisseur à un autre : un appel en échec est réessayé chez le même fournisseur, puis signalé.

7. Les connexions et les canaux

Ce que Maurice utilise

  • Serveurs MCP : recherche, mémoire, documents, navigateur, SSH… et vos propres serveurs MCP. Nos serveurs MCP sont open source. github.com/agentmaurice/mcp
  • Intégrations : plus de 800 services en OAuth, connectés depuis la Console.
  • Services clés en main : recherche, fichiers, mémoire, documents, OCR, navigateur, activés en un clic. Voir les connecteurs

Par où on utilise Maurice

CanalQui s'en sertComment
Agents IAClaude Code, Codex, Cursor, Grok Bot, Hark, tout client MCPLa porte MCP maurice (section 5)
MessageriesTelegram, Slack, WhatsApp, Discord, Google Chat, SignalVos équipes ou vos clients écrivent à Maurice dans leur messagerie
WebVotre site, votre produitUn chat temps réel à intégrer (SDK)
HTTPSVos applicationsUne API REST, avec des clés limitées à ce que vous exposez
MQTTMachines, capteurs, automatesUn broker MQTT ; chaque clé n'accède qu'à ses propres topics
Autres MauriceUne autre instance approuvéeVoir la section 8

Ce qui est exposé se définit une fois, dans une surface publique versionnée. Les droits, les validations et le journal sont les mêmes quel que soit le canal. Voir la page Essaim

8. L'essaim : Maurice à Maurice

Une instance de Maurice peut confier une demande à une autre instance : le Maurice d'un collègue, celui du serveur de l'équipe ou de l'entreprise.

  • Le destinataire choisit qui peut lui écrire : il approuve chaque instance source. Pas de découverte d'inconnus.
  • Vous autorisez chaque envoi : Maurice vous montre la demande transmise et ses limites avant de l'envoyer.
  • Seule la demande circule : votre conversation reste sur votre instance.
  • Une réponse signée, affichée avec sa provenance et son état réel ; la conversation peut continuer sur plusieurs tours avec le même destinataire.
  • Pas de rejeu silencieux : un tour dont l'issue est inconnue est signalé comme tel et bloque le suivant jusqu'à votre décision.

9. Où Maurice tourne

ModePour quiCe qui change
Sur le posteUne personneLe binaire maurice ; les données restent sur le poste ; la porte MCP n'écoute que localement
Sur un serveurUne équipeVotre serveur (Docker Compose) ou une machine dédiée hébergée par nous ; plusieurs utilisateurs, rôles et droits
Maurice Entreprise (Kubernetes)Organisations exigeantesPlusieurs nœuds, haute disponibilité, déploiement accompagné ; sur devis

10. CLI et API

  • Maurice, c'est la CLI maurice : elle peut être elle-même une instance, qui fait tourner vos outils, ou parler à des instances distantes (le serveur de votre entreprise, une machine que nous hébergeons). Elle sert à installer, connecter un assistant, gérer les Agent Specs, exécuter et diagnostiquer (maurice doctor).
  • API REST et contrats publiés pour la porte MCP.