Local-first MCP server to query and maintain a Markdown vault from Claude, Cursor, Gemini, Codex & other AI clients - no cloud, no context dump. Guided setup + standalone binaries.
claude mcp add datacron -- python -m -e{
"mcpServers": {
"datacron": {
"command": "python",
"args": ["-m", "pip"]
}
}
}Resumen de MCP Servers
# Datacron
> Serveur MCP local pour interroger et maintenir un vault Markdown depuis Claude, Codex,
> Gemini ou un autre client MCP stdio, sans envoyer tout le vault dans le contexte.
[](LICENSE)
[](pyproject.toml)
[](#mcp-tools)
[](https://github.com/VBlackJack/datacron/actions/workflows/ci.yml)
**Français** | [English](README.en.md)
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.
## Ce qui est en place
| 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, Antigravity, LM Studio, Codex CLI, Windsurf, VS Code |
| Protocole mémoire | Instructions MCP universelles + règles globales natives installées pour les clients pris en charge |
| 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 :
```text
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.
## Installation
### Windows : installeur en un double-clic
Le plus simple sous Windows : télécharge `Datacron-Setup.exe` depuis la
[dernière Release](https://github.com/VBlackJack/datacron/releases/latest), double-clique,
et choisis ton vault. Aucun Python, aucun terminal, aucun droit administrateur ; Datacron
s'enregistre automatiquement dans tes clients IA. Guide détaillé :
[Installation sous Windows](docs/fr/installation-windows.md).
### Depuis les sources
Depuis un clone du repo :
```bash
python -m pip install -e ".[dev]"
```
Ou, pour installer seulement l'application :
```bash
python -m pip install -e .
```
Prérequis runtime :
- Python 3.11+
- `ripgrep` disponible dans le `PATH` pour `search_regex`
- un dossier de notes Markdown
- un client MCP stdio pris en charge, par exemple Claude Desktop, Codex CLI ou Gemini CLI
## Démarrage rapide
Le plus simple - une commande détecte tes clients IA, initialise le vault, l'indexe et
enregistre Datacron partout :
```bash
datacron setup # interactif ; ajoute --yes pour tout par défaut
```
Voir le [guide d'installation](docs/fr/setup.md) pour les options (`--client`, `--scope`,
écriture, durabilité). Ou étape par étape :
```bash
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
```
La sous-commande `mcp install` ci-dessus est dédiée à Claude Desktop. Pour Codex CLI,
Gemini CLI, Antigravity, LM Studio, Cursor et les autres clients, utilise le setup multi-client avec
`datacron setup --client <identifiant>` ou l'auto-détection avec `--client all`.
### Add to LM Studio
LM Studio 0.3.17+ possède une configuration utilisateur unique et aucun scope projet. La
commande recommandée est :
```bash
datacron setup --yes --vault "CHEMIN_VAULT" --client lmstudio --scope user
```
Pour une installation Python où `datacron-mcp` est dans le `PATH`, la configuration
équivalente en lecture seule peut aussi être importée avec ce deeplink officiel :
[Add to LM Studio](lmstudio://add_mcp?name=datacron&config=eyJjb21tYW5kIjoiZGF0YWNyb24tbWNwIiwiYXJncyI6W10sImVudiI6eyJEQVRBQ1JPTl9WQVVMVF9ST09UIjoiPFlPVVJfVkFVTFQ%2BIiwiREFUQUNST05fUkVBRF9QQVRIUyI6IjxZT1VSX1ZBVUxUPiIsIkRBVEFDUk9OX0RVUkFCSUxJVFkiOiJiZXN0LWVmZm9ydCJ9fQ%3D%3D)
Le lien importe cet exemple. Ouvre l'éditeur MCP de LM Studio et remplace les deux
placeholders `<YOUR_VAULT>` avant de démarrer le serveur :
```json
{
"mcpServers": {
"datacron": {
"command": "datacron-mcp",
"args": [],
"env": {
"DATACRON_VAULT_ROOT": "<YOUR_VAULT>",
"DATACRON_READ_PATHS": "<YOUR_VAULT>",
"DATACRON_DURABILITY": "best-effort"
}
}
}
}
```
L'exemple n'active pas les outils d'écriture. Le setup CLI est plus sûr pour les
installations packagées, car il écrit automatiquement le vrai chemin de l'exécutable.
Redémarre le ou les clients configurés après l'installation.
Pour lancer le serveur manuellement :
```bash
datacron mcp serve --vault /path/to/vault
```
L'entrée script directe utilisée par l'installateur est aussi disponible :
```bash
datacron-mcp
```
`datacron-mcp` lit le vault depuis `DATACRON_VAULT_ROOT`.
## Configuration
`datacron init` crée `.datacron/VAULT.yaml`. Ce fichier peut porter la configuration
vault-local, notamment la query-expansion :
```yaml
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 ; le setup des clients 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).
## Écriture
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 :
```powershell
$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
```
`datacron setup` peut aussi poser l'allowlist au niveau du poste (variable
d'environnement utilisateur, opt-in) pour que tous les clients MCP en héritent ;
défaut : `_memory`, `_drafts`, `_journal`. Voir le [guide d'installation](docs/fr/setup.md).
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 et la liste `rejected` (options écartées) 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 :
- confinement strict dans `DATACRON_WRITE_PATHS`
- overwrite atomique via fichier temporaire + `os.replace`
- historique adressé par contenu avant modification d'une note existante
- `reconcile()` après write pour rendre la note immédiatement cherchable
- audit log local
Le mode concurrent multi-machines n'est pas supporté pour les écritures : garde une règle
single-writer sur le vault.
## MCP Tools
### Lecture
| Tool | Description |
|---|---|
| `list_notes` | retourne une liste paginée, filtrable par dossier, tags et paires frontmatter clé/valeur, 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 |
### Écriture
| 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 uniquemeLo que la gente pregunta sobre Datacron
¿Qué es VBlackJack/Datacron?
+
VBlackJack/Datacron es mcp servers para el ecosistema de Claude AI. Local-first MCP server to query and maintain a Markdown vault from Claude, Cursor, Gemini, Codex & other AI clients - no cloud, no context dump. Guided setup + standalone binaries. Tiene 0 estrellas en GitHub y se actualizó por última vez yesterday.
¿Cómo se instala Datacron?
+
Puedes instalar Datacron clonando el repositorio (https://github.com/VBlackJack/Datacron) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar VBlackJack/Datacron?
+
VBlackJack/Datacron aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.
¿Quién mantiene VBlackJack/Datacron?
+
VBlackJack/Datacron es mantenido por VBlackJack. La última actividad registrada en GitHub es de yesterday, con 0 issues abiertos.
¿Hay alternativas a Datacron?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega Datacron en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/vblackjack-datacron)<a href="https://claudewave.com/repo/vblackjack-datacron"><img src="https://claudewave.com/api/badge/vblackjack-datacron" alt="Featured on ClaudeWave: VBlackJack/Datacron" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface