Server data from the Official MCP Registry
Local-first MCP server that exposes a Markdown vault through MCP.
Local-first MCP server that exposes a Markdown vault through MCP.
Datacron is a well-architected local-first MCP server with strong security controls. The codebase demonstrates careful attention to path confinement, input sanitization, and permission scoping. Write operations are disabled by default and confined to explicitly allowed paths. No authentication is required (appropriate for local stdio MCP), and no malicious patterns or credential handling issues were detected. Minor code quality observations exist but do not materially impact security. Supply chain analysis found 5 known vulnerabilities in dependencies (0 critical, 5 high severity). Package verification found 1 issue.
3 files analyzed · 10 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: DATACRON_VAULT_ROOT
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-vblackjack-datacron": {
"env": {
"DATACRON_VAULT_ROOT": "your-datacron-vault-root-here"
},
"args": [
"datacron"
],
"command": "uvx"
}
}
}From the project's GitHub README.
Serveur MCP local pour interroger et maintenir un vault Markdown depuis Claude Desktop ou Claude Code, sans envoyer tout le vault dans le contexte.
Français | English
Datacron indexe un dossier de notes Markdown, expose un serveur MCP local, puis renvoie
au client les notes ou chunks pertinents au lieu d'un dump complet. Le vault reste un
dossier Markdown normal : Datacron ajoute seulement un sidecar .datacron/ pour l'index,
les logs, les ULID internes, l'historique et le journal d'opérations.
| Surface | État actuel |
|---|---|
| Lecture vault | list_notes, get_note, resources datacron://vault/map, vault/info, policy/active |
| Recherche | SQLite FTS5/BM25, query-expansion FR↔EN, re-rank temporel, ripgrep via search_regex |
| Graphe local | Wikilinks et backlinks via get_backlinks |
| Écriture | 5 tools confinés et réversibles, désactivés par défaut sans DATACRON_WRITE_PATHS |
| Index | datacron index incrémental, datacron reindex complet, réparation automatique à la lecture |
| Évaluation | datacron eval sur le pipeline MCP réel : recall@k, MRR, nDCG, fraîcheur, latence et payload tokens |
| Setup guidé | datacron setup : init + index + enregistrement MCP en une commande |
| Clients | Auto-détection et enregistrement via datacron setup --client all : Claude Desktop, Claude Code, Cursor, Gemini CLI, Codex CLI, Windsurf, VS Code |
| Distribution | Installeur Windows (Datacron-Setup.exe), exécutable autonome (PyInstaller) sans Python requis, ou installation depuis les sources |
Mesure locale du pipeline tool/impl réellement reçu par l'agent, 19 questions,
configuration 8k tokens / 20 résultats, 17 juillet 2026 :
recall@5 0.89
recall@10 0.95
recall@20 0.95
MRR 0.73
nDCG@10 0.79
latence p50 57 ms
latence p95 276 ms
payload tokens 90567
Le tool égale désormais le store brut à recall@5 (0,89) : le delta précédent venait de la
comparaison globale de scores issus des requêtes AND et OR, pas du budget ni d'une limite de
BM25. Le throttle repair-on-read ramène sa p50 propre à 0,009 ms ; le premier sweep complet
de la session reste visible dans la p95. Le golden ne contient pas encore de cas
forbidden_paths et le vault n'a pas de relation supersedes indexée.
Le plus simple sous Windows : telecharge Datacron-Setup.exe depuis la
derniere Release, double-clique,
et choisis ton vault. Aucun Python, aucun terminal, aucun droit administrateur ; Datacron
s'enregistre automatiquement dans tes clients IA. Guide detaille :
Installation sous Windows.
Depuis un clone du repo :
python -m pip install -e ".[dev]"
Ou, pour installer seulement l'application :
python -m pip install -e .
Prérequis runtime :
ripgrep disponible dans le PATH pour search_regexLe plus simple - une commande détecte tes clients IA, initialise le vault, l'indexe et enregistre Datacron partout :
datacron setup # interactif ; ajoute --yes pour tout par défaut
Voir le guide d'installation pour les options (--client, --scope,
écriture, durabilité). Ou étape par étape :
datacron init /path/to/vault
datacron index --vault /path/to/vault
datacron status --vault /path/to/vault
datacron mcp install --client claude-desktop --vault /path/to/vault
Redémarre le client (ex. Claude Desktop) après l'installation.
Pour lancer le serveur manuellement :
datacron mcp serve --vault /path/to/vault
L'entrée script directe utilisée par l'installateur est aussi disponible :
datacron-mcp
datacron-mcp lit le vault depuis DATACRON_VAULT_ROOT.
datacron init crée .datacron/VAULT.yaml. Ce fichier peut porter la configuration
vault-local, notamment la query-expansion :
query_expansion:
supervision: [monitoring]
sauvegarde: [backup]
restauration: [restore]
chiffrement: [encryption]
sécurité: [security]
validité: [validity]
certificat: [certificate]
Variables d'environnement utiles :
| Variable | Défaut | Rôle |
|---|---|---|
DATACRON_VAULT_ROOT | répertoire courant ou --vault | vault servi par le serveur |
DATACRON_READ_PATHS | vide | allowlist de lecture ; l'installateur Claude Desktop la fixe au vault |
DATACRON_WRITE_PATHS | vide | allowlist d'écriture ; vide = write tools désactivés |
DATACRON_MAX_RESULT_COUNT | 20 | nombre max de résultats retournés |
DATACRON_MAX_RESULT_TOKENS | 8000 | budget token des résultats de recherche |
DATACRON_REPAIR_MIN_INTERVAL_SECONDS | 30 | intervalle minimal entre les sweeps repair-on-read ; 0 = chaque lecture |
DATACRON_GET_NOTE_MAX_TOKENS | 25000 | budget de get_note(format="full") |
DATACRON_CHUNK_MAX_TOKENS | 1024 | taille cible max des chunks |
DATACRON_RIPGREP_PATH | rg | binaire ripgrep |
Les listes de chemins utilisent le séparateur de l'OS (: sous Unix, ; sous Windows).
Les writes sont volontairement OFF par défaut. Sans DATACRON_WRITE_PATHS, les tools
d'écriture renvoient une erreur claire et ne créent aucun fichier.
Pour activer l'écriture sur un sous-dossier précis :
$env:DATACRON_VAULT_ROOT = "G:\_DATA"
$env:DATACRON_READ_PATHS = "G:\_DATA"
$env:DATACRON_WRITE_PATHS = "G:\_DATA\_memory"
datacron mcp serve --vault G:\_DATA
Tools d'écriture disponibles :
create_note_ai : crée une note Markdown typée, sans overwrite.append_journal : ajoute une entrée sous un heading d'une note existante.set_frontmatter : met à jour les champs de cycle de vie sans modifier le corps Markdown.patch_note_section : remplace le contenu sous un heading existant avec contrôle CAS.revert_note : restaure les octets exacts d'une version conservée dans l'historique.Garanties :
DATACRON_WRITE_PATHSos.replacereconcile() après write pour rendre la note immédiatement cherchableLe mode concurrent multi-machines n'est pas supporté pour les écritures : garde une règle single-writer sur le vault.
| Tool | Description |
|---|---|
list_notes | retourne une liste paginée, filtrable par dossier et tags, avec ULID, titre, tags, alias et dates |
get_note | lit une note par ULID, chunk id ou chemin relatif, en contenu paginé, chunk ou plan de headings |
search_text | effectue une recherche BM25 sur l'index FTS5 avec snippets classés et notes obsolètes démotées par défaut |
search_regex | effectue une recherche regex via ripgrep et résout les lignes trouvées vers les chunks indexés |
get_backlinks | retourne les chunks dont les wikilinks ciblent un ULID ou un alias résolu |
| Tool | Description |
|---|---|
create_note_ai | crée une nouvelle note _memory typée, confinée aux chemins autorisés, sans overwrite et avec journal durable |
append_journal | ajoute une entrée Markdown sous un heading, avec confinement, historique exact et écriture atomique |
set_frontmatter | modifie uniquement les champs de cycle de vie et la date updated, en préservant le corps Markdown |
patch_note_section | remplace le contenu d'un heading existant avec CAS, historique exact et préservation des autres sections |
revert_note | restaure une note depuis son historique adressé par contenu ; l'opération reste durable, réversible et auditée |
| Tool | Description |
|---|---|
get_health | retourne l'état réel de fraîcheur de l'index, d'intégrité, de checksum, de durabilité et des invariants |
get_note_history | liste les métadonnées d'opérations validées d'une note sans lire le contenu historique ni modifier le journal |
audit_query | interroge les métadonnées d'opérations par période, tool ou note sans modifier le journal ni le vault |
| Tool | Description |
|---|---|
contradiction_scan | scan live, déterministe et borné des contradictions/raffinements entre sections ; propose puis confirme en lecture seule un appel CAS explicite, sans jamais écrire automatiquement |
Resources MCP :
datacron://vault/mapdatacron://vault/infodatacron://policy/activesearch_text combine plusieurs signaux :
VAULT.yamlsupersedes d'une autre est fortement démotéeconfidence: low et confidence: needs_verification appliquent une pénalité légèreinclude_superseded=true permet de remonter les notes historiquessearch_regex reste littéral : il n'applique ni query-expansion ni re-rank temporel.
<vault_content>...</vault_content>.DATACRON_READ_PATHS et DATACRON_WRITE_PATHS.datacron setup # parcours guidé : init + index + config client
datacron setup --yes # tout par défaut, sans question
datacron init /path/to/vault
datacron status --vault /path/to/vault
datacron index --vault /path/to/vault
datacron reindex --vault /path/to/vault
datacron scrub-init --vault /path/to/vault
datacron scrub --vault /path/to/vault
datacron eval --questions examples/eval-questions.example.yaml --vault /path/to/vault
datacron eval --questions local/golden.yaml --vault /path/to/vault --save-baseline
datacron eval --questions local/golden.yaml --vault /path/to/vault --compare --json
datacron mcp serve --vault /path/to/vault
datacron mcp install --client claude-desktop --vault /path/to/vault
datacron unregister --client claude-desktop --vault /path/to/vault
datacron setup est best-effort (présence d'un dossier de config
ou d'un binaire sur le PATH) ; une installation dans un emplacement non standard peut être
manquée et se configure alors à la main.Sommaire complet : docs/fr/index.md | English index.
Pour démarrer :
Références techniques :
python -m pip install -e ".[dev]"
ruff check .
ruff format --check .
mypy
pytest
Copyright 2026 Julien Bombled.
Licensed under the Apache License, Version 2.0.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.