Optimike Obsidian MCP : un serveur MCP gratuit et open source pour piloter un coffre Obsidian

Optimike Obsidian MCP est un serveur MCP gratuit et open source (licence Apache-2.0) qui permet à une application d’IA de chercher, lire et modifier un coffre Obsidian : notes, propriétés, Bases, Canvas et tâches Operon. Sa particularité : les modifications importantes se font en trois temps, plan, application, statut, et l’application est refusée si la note a changé depuis le plan. La version décrite ici est la 3.19.0, publiée le 5 novembre 2026. L’installation est technique : Node.js 22.12 minimum et compilation locale. Je suis l’auteur de ce serveur.

Pour l’installer, tout part du dépôt GitHub d’Optimike Obsidian MCP. Pour le situer parmi les autres serveurs MCP pour Obsidian, avec leurs limites, voir le comparatif MCP Obsidian : dix serveurs comparés, dont il fait partie. Si le terme MCP est nouveau pour vous, Serveur MCP : définition, fonctionnement et exemple avec Obsidian pose les bases.

Sommaire 13 sections
  1. Fiche rapide
  2. Ce que fait le serveur
  3. Les écritures protégées : plan, application, statut
  4. Pour qui, et pour qui ce n’est pas fait
  5. Prérequis
  6. Installer Optimike Obsidian MCP
  7. Compatibilité avec les clients d’IA
  8. Limites
  9. Versions récentes
  10. D’où vient Optimike Obsidian MCP
  11. Installer depuis GitHub
  12. Questions fréquentes
  13. Sources

Fiche rapide

Version décrite3.19.0, publiée le 5 novembre 2026
Licence et prixApache-2.0, gratuit. L’abonnement à votre agent et l’éventuel coût d’API restent à votre charge
AuteurMickaël Ahouansou (Optimike)
PrérequisNode.js 22.12 ou plus récent ; Obsidian Desktop pour les fonctions « live »
InstallationClone du dépôt, npm install, npm run build ; extensions Obsidian de la même version pour les écritures protégées
SystèmesTests automatiques sous Linux et Windows ; macOS non testé
Dépôtgithub.com/optimikelabs/optimike-obsidian-mcp
Dernière vérification9 novembre 2026, par lecture du README, des notes de version, du code et de la documentation du dépôt. Je n’ai pas rejoué de test pour cette page

Ce que fait le serveur

DomaineCe que le serveur proposeCe dont il dépend
NotesLire, chercher et modifier ; remplacer une note, modifier son texte ou ses propriétés par des opérations protégéesPlugin Local REST API et extension Atomic Write Bridge pour le mode live
Bases et CanvasInterroger une Base ; modifier une propriété, une formule ou la configuration d’une Base existante (filtres, vues) ; créer une Base ou un Canvas, sans jamais écraser un fichier existantExtensions Bases Bridge et Atomic Write Bridge
TâchesLire les tâches au format Obsidian Tasks ; 25 outils protégés pour les tâches OperonAPI développeur d’Operon (V1) par une extension fournie avec le serveur
Recherche sémantiqueChercher dans l’index de Smart ConnectionsSmart Connections, avec Ollama, un fournisseur compatible OpenAI ou le modèle intégré de Smart Connections
Documents hors coffreLire et lister des fichiers d’un dossier que vous autorisez, refusé par défautUne liste de dossiers autorisés ; le déplacement reste désactivé
Sans Obsidian ouvertLecture, et quelques écritures prudentes, sur une copie ou un coffre dédiéModes « headless » ; pas d’écritures protégées

Chaque fonction est facultative : activez seulement les surfaces que vous utilisez. La liste complète des outils est dans la documentation des outils.

Les écritures protégées : plan, application, statut

Pour remplacer une note, modifier son texte ou ses propriétés, éditer une formule ou la configuration d’une Base, ou modifier un Canvas, l’agent ne réécrit pas le fichier d’un coup. Il passe par trois temps, décrits dans le dépôt :

  1. Plan. L’agent indique la note visée et la modification voulue. Le serveur lit le fichier à cet instant et scelle son empreinte avec la modification, sans rien écrire.
  2. Application. L’extension relit le fichier et compare son empreinte à celle du plan. Si la note a changé depuis, l’écriture est refusée.
  3. Statut. L’écriture n’est réussie que lorsque son statut indique qu’elle est enregistrée et vérifiée. Après une coupure, l’agent demande le statut avant toute nouvelle tentative, au lieu de relancer à l’aveugle.
Une mutation gouvernée est préparée avec plan, autorisée avant apply, puis suivie avec status. Un retour pending ne confirme pas que l’opération est terminée.
Schéma des opérations gouvernées prises en charge. L’accord précède apply ; status permet de suivre le résultat. Un conflit, un échec ou un état incertain se traite selon le diagnostic, sans recréer la mutation.

Pour cinq familles d’opérations (remplacement de note, texte, propriétés, formules de Base, Canvas), une étape de reprise rejoue au besoin l’opération exacte avec le même plan. Reprendre n’est pas annuler. Pour les propriétés, un plan accepte jusqu’à 64 opérations sur des clés de premier niveau (ajout, remplacement, suppression) et refuse une forme YAML ambiguë plutôt que de la réécrire, d’après la documentation des propriétés protégées.

Ce que cela protège : une modification faite dans Obsidian entre le plan et l’application. Ce que cela ne protège pas : d’après la documentation du texte protégé de la 3.19.0, le plan relit la note au moment où il est préparé et scelle cet état, pas la version que l’agent avait lue plus tôt. Une retouche faite entre cette lecture et le plan n’est pas détectée par ce contrôle.

Les règles de votre coffre, avant l’écriture

Depuis la 3.19, quand votre coffre garde des règles pour les agents dans des fichiers AGENTS.md, le serveur repère ceux qui s’appliquent aux notes qu’une écriture vise et indique si l’agent les a lus dans leur version actuelle. Par défaut, il informe sans refuser ; en mode enforce, il refuse l’écriture tant que ces fichiers n’ont pas été lus. Il prouve que l’agent a reçu les règles, pas qu’il les suit (documentation).

Pour qui, et pour qui ce n’est pas fait

Optimike Obsidian MCP s’adresse à quelqu’un qui confie à un agent des modifications répétées dans un coffre Obsidian, ouvert sur Windows ou Linux, et qui veut qu’elles passent par un plan vérifiable : notes, propriétés, formules de Base, Canvas ou tâches Operon. Il suppose d’être à l’aise avec un terminal, Node.js et une configuration.

Ce n’est pas le bon choix pour lire, chercher et modifier quelques notes : des serveurs plus simples à installer suffisent, et le comparatif dit lesquels, avec leurs limites. Ce n’est pas non plus un choix pour qui n’a pas de terminal, ni pour macOS tant que ce système n’est pas testé.

Prérequis

  • Node.js 22.12 ou plus récent et npm.
  • Obsidian Desktop, seulement pour les fonctions « live », avec le plugin Local REST API.
  • Les extensions Obsidian de la même version pour les écritures protégées. La 3.19.0 se publie avec Atomic Write Bridge 0.9.2, Operon Bridge 0.9.7 et Bases Bridge 1.2.2, dans un seul paquet vérifié par somme de contrôle, disponible sur la page de la version. Le guide du paquet décrit la mise à jour et le retour arrière.
  • Pour les tâches : Operon et son extension. Les modifications de tâches demandent un réglage dans l’extension et la variable OPERON_MUTATIONS_ENABLED=true.
  • Facultatif : Smart Connections pour la recherche sémantique ; un gestionnaire de dates, voir les limites.

Certaines écritures, comme la suppression d’une note vers la corbeille d’Obsidian ou la création d’une Base ou d’un Canvas, sont désactivées par défaut et demandent une autorisation explicite côté extension.

Installer Optimike Obsidian MCP

Le serveur ne s’installe pas depuis npm : on clone le dépôt et on compile.

git clone https://github.com/optimikelabs/optimike-obsidian-mcp.git
cd optimike-obsidian-mcp
npm install
npm run build
node dist/stdio-proxy.js --tool-profile standard

Il reste à déclarer le serveur dans votre application d’IA. Voici l’exemple du README pour Codex :

[mcp_servers.optimike-obsidian-mcp-stdio]
command = "node"
args = [
  "/chemin/vers/optimike-obsidian-mcp/dist/stdio-proxy.js",
  "--tool-profile",
  "standard"
]

[mcp_servers.optimike-obsidian-mcp-stdio.env]
OBSIDIAN_VAULT = "/chemin/vers/le/coffre"
OBSIDIAN_RUNTIME_MODE = "live"
OBSIDIAN_BASE_URL = "http://127.0.0.1:27123"
OBSIDIAN_API_KEY = "<clé-de-local-rest-api>"

Pour Claude Code, la documentation d’Anthropic donne la syntaxe d’un serveur local : claude mcp add --env CLÉ=valeur --transport stdio <nom> -- <commande>. Avec les variables ci-dessus, elle produit la même déclaration ; cette commande est construite d’après la documentation et n’a pas été rejouée pour cette page.

Gardez la clé de Local REST API, les chemins réels et les journaux hors du dépôt. Les options d’installation sont détaillées dans le README et les choix d’installation. Avant de confier une modification, faites lire à l’agent une note que vous connaissez.

Choisir un profil d’outils

Un profil détermine les outils que l’agent voit. Il réduit le catalogue, il ne remplace pas les autorisations. Sans choix, le serveur utilise standard.

ProfilPour quoi faireOutils en mode live
standardTravail général sur le coffre30
authoringNotes, étiquettes, Bases et Canvas54
tasksTâches Operon et Markdown36
operationalFlux quotidiens complets, écritures protégées préférées97
fullSurface complète, y compris l’administration102

Ces nombres excluent trois outils facultatifs d’import d’images ; ils viennent du README de la 3.19.0.

Compatibilité avec les clients d’IA

Cette table distingue ce que le dépôt documente de ce que j’ai observé. Aucun client n’a fait l’objet d’une certification de la 3.19.0.

ClientCe qui est établiNatureLimite
CodexDéclaration en stdio documentée dans le README. Mes essais du 22 octobre 2026 (voir plus bas)Documentation + observationEssais faits avec la 3.13.0
Claude CodeMes essais du 22 octobre 2026 ; ajout de serveurs stdio documenté par AnthropicObservation + documentationEssais faits avec la 3.13.0
Claude DesktopCité dans la documentation du dépôt parmi les clients qui voient le coffre seulement par MCPDocumentationAucun essai de ma part publié : non vérifié
ChatGPTChemin documenté par le tunnel MCP sécurisé d’OpenAI. Une recherche a abouti le 8 octobre 2026 sur ma version de travailDocumentation + observationCompte ChatGPT éligible et client de tunnel requis ; refus d’une modification devenue ancienne non essayé depuis ChatGPT

ChatGPT fonctionne dans le cloud et ne joint pas une adresse locale : la documentation du tunnel décrit le chemin retenu. Le détail de mes essais, avec leurs limites, est dans le comparatif.

Limites

  • L’installation est technique. Node.js, clone, compilation, plugin et extensions : plus qu’un plugin à activer.
  • Il ne protège que ce qui passe par ses outils protégés, et seulement depuis le plan. Les écritures directes existent aussi, selon le profil, et n’ont pas ces garanties. Un agent qui garde un accès au terminal ou aux fichiers peut écrire par d’autres chemins. Optimike ne verrouille pas votre ordinateur.
  • Votre agent ne s’en sert que s’il voit ses outils et en a un pour le geste demandé. Le 22 octobre 2026, sur des copies de mon coffre, avec la 3.13.0, Claude Code et Codex n’ont appelé le serveur que dans 9 essais sur 34. Aucun gain n’a été mesuré et aucun dégât n’a été observé ; le détail est dans le comparatif. Pour modifier une note, demandez à l’agent de passer par les outils protégés.
  • Gestionnaires de dates. La préparation d’une note sans date de création est qualifiée pour la version 1.6.0 de Frontmatter Date Manager ; les autres gestionnaires ne le sont pas. Mettre à jour le serveur et l’extension ne libère pas une note verrouillée par la 3.18 ou une version antérieure : la procédure de déblocage est décrite dans la note de version.
  • Systèmes. Tests automatiques sous Linux et Windows ; macOS non testé.
  • Accès à distance. L’accès HTTP depuis une autre machine reste un pilote : passez par un proxy TLS vérifié et un réseau privé. Ne l’exposez pas directement sur Internet.
  • Fichiers hors coffre. Le serveur transmet le fichier ; l’extraction de texte des PDF, documents Office ou images reste à la charge du client.
  • Les contrôles portent sur la note visée. Ils n’annulent ni la synchronisation ni l’effet d’autres plugins, ni ce que des programmes écrivent hors d’Obsidian.
  • Les règles du coffre ne sont prouvées que reçues, pas suivies (voir plus haut).

Les problèmes connus sont suivis dans les issues du dépôt.

Versions récentes

VersionDateCe qu’elle apporte
3.19.05 novembre 2026Débloque les notes datées par Frontmatter Date Manager ; transmet les règles AGENTS.md du coffre avant une écriture
3.18.03 novembre 2026Prise en charge d’Operon 4.4.0 ; parité de la recherche sémantique
3.17.028 octobre 2026Configuration protégée d’une Base ; toutes les options du Canvas
3.16.028 octobre 2026Création protégée d’une Base ou d’un Canvas

L’historique complet est dans le journal des modifications et sur la page des versions.

D’où vient Optimike Obsidian MCP

Je l’ai créé à partir d’obsidian-mcp-server de Casey Hand (cyanheads), dont la licence conserve le copyright. En juin 2025, ma question était simple : comment donner à une IA un accès utile à mon coffre ? Lui donner accès au coffre restait simple. Le laisser y agir sans écraser un état, dépasser une permission ou perdre la trace d’une écriture l’était beaucoup moins. Optimike Obsidian MCP est gratuit, n’est pas inclus dans ce que je vends par ailleurs, et son support passe par les issues GitHub. Puisque je le compare moi-même à neuf autres serveurs, le comparatif déclare cette implication et publie le protocole de son test.

Installer depuis GitHub

Le README donne les prérequis, la compilation et les profils. Un problème ou une question ? Ouvrez une issue. Pour comparer avant d’installer, retrouvez les dix serveurs dans MCP Obsidian : quel serveur choisir ?.

Questions fréquentes

Optimike Obsidian MCP est-il gratuit ?

Oui. Le code est publié sur GitHub sous licence Apache-2.0. L’installation demande Node.js 22.12 ou plus récent et une compilation locale. L’abonnement à votre agent et l’éventuel coût d’API restent à votre charge.

Faut-il qu’Obsidian soit ouvert ?

Pour les fonctions « live » et les écritures protégées, oui : elles passent par Obsidian Desktop, Local REST API et les extensions. Des modes sans Obsidian existent pour lire, et pour quelques écritures prudentes, sur une copie ou un coffre dédié.

Faut-il Operon ou Smart Connections ?

Non. Chaque intégration est facultative. Operon sert aux tâches ; Smart Connections à la recherche sémantique.

Peut-on l’utiliser avec ChatGPT ?

Un chemin est documenté, par le tunnel MCP sécurisé d’OpenAI, qui demande un compte ChatGPT éligible et un client de tunnel sur votre machine. Une recherche a abouti ainsi le 8 octobre 2026 sur ma version de travail ; ce n’est pas une certification de la 3.19.0.

En quoi diffère-t-il du MCP intégré à Local REST API ?

Le MCP de Local REST API est un plugin simple à installer, avec une précondition de version que l’agent doit transmettre. Optimike ajoute des opérations en plan, application et statut, des Bases, des Canvas et des tâches Operon, au prix d’une installation technique. Le comparatif détaille les différences.

Sources

Consultées le 9 novembre 2026, sur la version 3.19.0 du dépôt.

La lettre Optimike

Ce que je teste sur Obsidian et l’IA, avant que ça devienne un guide.

Ce qui marche, ce qui casse. Premier envoi en novembre. Vous vous désinscrivez quand vous voulez.

Votre email sert uniquement à l’envoi de la lettre d’Optimike. Données personnelles