SiYuan MCP Server — Piloter ses bases de données avec l'IA, sans compromis
Contexte
SiYuan Note est un outil de gestion de connaissances puissant, utilisé par des milliers de professionnels pour organiser leurs projets, tâches et données sous forme de bases de données relationnelles (Attribute Views).
Le protocole MCP (Model Context Protocol) d'Anthropic permet aux assistants IA Claude, Cursor, etc. d'interagir directement avec des applications tierces. L'enjeu : rendre SiYuan pilotable par l'IA de bout en bout.
Problème
Les serveurs MCP existants pour SiYuan gèrent les documents et les blocs de texte, mais aucun ne supporte les Attribute Views, le système de bases de données relationnelles de SiYuan.
Concrètement :
impossible de demander à Claude de lire, créer ou mettre à jour une entrée dans une base de données SiYuan. La partie la plus structurée de l'outil restait invisible à l'IA.
impossible de demander à Claude de lire, créer ou mettre à jour une entrée dans une base de données SiYuan. La partie la plus structurée de l'outil restait invisible à l'IA.
Raison technique :
l'API HTTP officielle de SiYuan est incomplète pour les opérations d'écriture sur les Attribute Views. Les données sont stockées dans des fichiers JSON indépendants, non exposés par les endpoints standards.
l'API HTTP officielle de SiYuan est incomplète pour les opérations d'écriture sur les Attribute Views. Les données sont stockées dans des fichiers JSON indépendants, non exposés par les endpoints standards.
Solution
Développement d'un serveur MCP complet en TypeScript, publié en open source.
Approche technique:
contournement de l'API incomplète via les endpoints `/api/file/getFile` et `/api/file/putFile`, accès direct aux fichiers JSON des bases de données, sans accès au système de fichiers local. 100% HTTP, compatible instances distantes et Docker.
contournement de l'API incomplète via les endpoints `/api/file/getFile` et `/api/file/putFile`, accès direct aux fichiers JSON des bases de données, sans accès au système de fichiers local. 100% HTTP, compatible instances distantes et Docker.
Fonctionnalités clés :
- Lecture complète des bases (colonnes typées + toutes les lignes)
- Création de lignes avec valeurs initiales
- Mise à jour de plusieurs cellules en un seul appel
- Filtrage de lignes par colonne/valeur
- Création de bases de données par programmation
- Support de 11 types de colonnes en lecture/écriture
- Auto-découverte du port SiYuan
Installation sans build :
```bash
npx siyuan-query-mcp@latest
```
Aucune compilation locale requise. L'utilisateur configure Claude Desktop en 3 lignes.
Résultat
- Package npm public : `siyuan-query-mcp`
- Pipeline CI/CD automatisé : 1 tag git → Release GitHub + publish npm en 16 secondes
- Communauté SiYuan notifiée
- Fonctionnalité unique : seul serveur MCP à supporter les Attribute Views en lecture/écriture
Links
GitHub : https://github.com/MyrkoF/siyuan-mcp
npm : https://www.npmjs.com/package/siyuan-query-mcp
npm : https://www.npmjs.com/package/siyuan-query-mcp
Ce projet démontre
- Capacité à identifier un manque dans un écosystème open source et à le combler de façon autonome
- Approche d'ingénierie rigoureuse : analyse de l'API officielle, identification des limites, contournement technique documenté
- Maîtrise du cycle complet : développement → packaging → publication → automatisation CI/CD → communication communauté
- Travail en collaboration homme-IA : développement assisté par Claude Code, supervision et décisions techniques assurées par le développeur
Tags : projets, MCP, SiYuan, TypeScript, open source, IA, automatisation, npm, GitHub Actions