Modèle / jeu de données
polterguy/magic avatar
polterguy/magic

Magic et Hyperlambda : générer une API REST sécurisée depuis une base existante

Instant SECURE Full Stack Apps and AI Agents

1 193 étoiles175 forksC#MIT

En bref

De quoi s’agit-il ?
Magic est un projet C# sous licence MIT qui transforme une base de données en API REST protégée et expose chaque endpoint comme outil MCP. Le point à vérifier avant d'adopter : la nature propriétaire du générateur Hyperlambda, alors que le reste du dépôt est ouvert.
À qui s’adresse-t-il ?
Magic convient aux équipes qui possèdent déjà une base MySQL, PostgreSQL, SQL Server ou MariaDB et veulent une API REST protégée sans écrire la couche CRUD, ainsi qu'à celles qui veulent exposer leurs endpoints à un client MCP. Il ne convient pas si vous cherchez un générateur de code entièrement ouvert : le README présente le Hyperlambda Generator comme propriétaire, et cette asymétrie avec la licence MIT du dépôt est la première chose à clarifier.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 3 jours.
En quel langage est-il écrit ?
Principalement C#, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Le problème visé : une base existante sans couche API

Le README liste un cas d'usage précis : pointer Magic vers un schéma MySQL, PostgreSQL, SQL Server ou MariaDB déjà en place et obtenir une API CRUD en quelques secondes. La démonstration annoncée dans le dépôt montre l'API Wizard transformant la base chinook en 54 endpoints REST sécurisés, puis l'un d'eux étendu en langage naturel. Ce chiffre provient de la légende de l'image du README, pas d'une mesure indépendante. Le public visé est donc celui qui a des tables et pas d'API : panneaux d'administration, outils internes, systèmes de réservation, CRM. Les équipes qui construisent déjà leur backend en C# et Entity Framework n'y trouveront pas un gain évident, puisque le README situe Hyperlambda au même niveau de performance et de scalabilité que cette pile, sans la dépasser.

Hyperlambda : un AST exécuté, pas du texte interprété

Le mécanisme central est Hyperlambda, un langage dont le README dit qu'il s'exécute dans un bac à sable, sans accès au système de fichiers en dehors de ce bac à sable. La documentation affirme que le RBAC peut whitelister des fonctions individuelles, ce qui permet au serveur d'accepter du code en entrée et de l'exécuter en restreignant les invocations au niveau de l'exécution. C'est la revendication la plus intéressante du projet et aussi la plus difficile à évaluer sans l'installer. Le second point est le générateur : parce qu'il produit un AST et non du texte, le README indique que la sortie est analysée et rejetée si elle contient des fonctions inexistantes. La formulation exacte est que le générateur ne peut pas renvoyer d'invocations de fonctions hallucinées, tout en admettant qu'il peut écrire du code logiquement faux. La distinction est honnête et mérite d'être répétée telle quelle : l'existence des fonctions est garantie, leur pertinence ne l'est pas.

Mise en route : deux ports et une commande

Le README donne une séquence unique. La commande est curl -fsSL https://hyperlambda.dev/docker-compose.yaml | docker compose -f - up. Il faut ensuite ouvrir localhost:5555, pointer l'interface vers localhost:4444, et se connecter avec root / root. Ces identifiants par défaut sont dans le README, ce qui signifie qu'ils sont publics : les changer fait partie des premières manipulations, pas des bonnes pratiques à rappeler en fin d'article. Le tableau de bord regroupe Hyper IDE pour éditer, exécuter et rejouer un fichier, le Playground pour exécuter du Hyperlambda sans l'enregistrer, SQL Studio pour interroger et concevoir des bases, et l'Endpoint Generator pour transformer des tables en endpoints CRUD ou importer des API tierces depuis une spécification OpenAPI. Le README insiste sur un point : une fois le code enregistré, il est testable, sans étape de déploiement ni de publication. C'est la différence structurelle avec les plateformes qui imposent un déploiement avant tout essai.

Le serveur MCP et l'économie de tokens revendiquée

Installer le plugin mcp fait de chaque endpoint HTTP présent dans le dossier modules un outil invocable par un client compatible, Claude, Cursor, Codex ou Qoder selon le README. Le même document avance une réduction d'environ 80 % de la consommation de tokens, avec un calculateur hébergé sur hyperlambda.dev. Ce chiffre est une mesure interne au projet, présentée comme telle, et je ne peux ni la confirmer ni l'infirmer. Le raisonnement sous-jacent est plausible : exposer des endpoints typés plutôt qu'un espace de fonctions génériques réduit le texte nécessaire pour décrire les outils disponibles. Mais l'écart dépend du client, du nombre d'endpoints et de la formulation des descriptions. Traitez le chiffre comme une hypothèse à tester sur votre propre serveur, pas comme une caractéristique du produit.

Le générateur est propriétaire, le dépôt est sous MIT

C'est la tension que le README expose sans la résoudre. Le dépôt polterguy/magic est publié sous licence MIT, ce qui autorise l'usage, la modification et la redistribution du code présent. Mais le Hyperlambda Generator est décrit comme « our own proprietary LLM », donc un composant distinct, non couvert par cette licence. Le README ne dit pas comment le générateur est distribué, s'il est inclus dans l'image Docker, ni sous quelles conditions il est utilisable en production. Une équipe qui évalue Magic pour un déploiement interne doit obtenir cette réponse avant de s'engager, parce qu'elle détermine si la promesse de zéro lock-in tient sur toute la chaîne ou seulement sur le runtime. Je ne donne pas d'avis juridique ici : la question se pose au niveau factuel, et le dépôt seul ne permet pas d'y répondre.

Les performances annoncées ne sont pas vérifiables ici

Le README avance qu'Hyperlambda serait environ 20 fois plus rapide que FastAPI ou Flask, autour de 50 fois plus rapide que LangChain, et 100 à 1000 fois plus rapide que des outils graphiques comme n8n, Zapier ou Make, avec un graphique comparatif Python contre Hyperlambda. Ces chiffres sont des mesures internes, sans protocole détaillé dans le matériel fourni. L'argument de fond est cohérent : un runtime .NET compilé n'a pas le coût d'interprétation d'une logique décrite en JSON ou en YAML. Mais un facteur 1000 dépend entièrement du scénario choisi, et aucun détail sur le matériel, la taille des charges ou la nature des workflows comparés n'est fourni. La seule affirmation que je retiendrais comme crédible sans réserve est qualitative : l'exécution est compilée, pas interprétée à partir d'un format de configuration.

Face à un assistant qui génère surtout du frontend

Le tableau comparatif du README oppose Magic à Lovable et Bolt d'un côté, à n8n, Zapier et Make de l'autre. La différence avec les premiers porte sur le périmètre : là où ces outils produisent une interface et s'appuient sur un backend tiers, Magic revendique la base de données, l'API, l'authentification, le RBAC et les tâches planifiées dans le même ensemble auto-hébergé. La différence avec les seconds porte sur le modèle d'exécution : un workflow décrit en JSON ou en YAML est interprété, alors qu'Hyperlambda s'exécute dans un runtime .NET compilé. Le tableau note aussi l'absence d'étape de déploiement avant test chez Magic, contre un déploiement chez un tiers pour Lovable et Bolt. Ces lignes sont des affirmations du projet sur ses concurrents, pas un comparatif mené par un tiers. Elles indiquent en revanche une frontière réelle : Magic vise le backend et l'infrastructure, pas la génération d'interfaces soignées.

Coût de maintenance et rythme des versions

Les trois versions fournies montrent un rythme de publication serré sur une même semaine de septembre 2026 : v23.5.17 pour migrer des messages système de fonctions IA au démarrage, v23.5.18 pour ignorer les caractères BOM dans le slot CSV, v23.5.19 pour corriger la sécurité du téléchargement de fichiers référencés. Le versionnage à quatre segments et la cadence rapprochée suggèrent des correctifs fréquents plutôt que des cycles longs. Pour une équipe, cela implique de suivre les publications et de relire les notes avant de mettre à jour, en particulier quand une version touche au téléchargement de fichiers ou à la migration de données au démarrage. Le README ne décrit pas de procédure de mise à jour ni de politique de compatibilité entre versions, ce qui est une lacune pour un composant qui détient la couche d'accès aux données. La licence MIT du dépôt autorise la modification et la redistribution, mais elle ne couvre pas le générateur, et elle n'engage évidemment aucun support.

Conclusion éditoriale

Magic convient aux équipes qui possèdent déjà une base MySQL, PostgreSQL, SQL Server ou MariaDB et veulent une API REST protégée sans écrire la couche CRUD, ainsi qu'à celles qui veulent exposer leurs endpoints à un client MCP. Il ne convient pas si vous cherchez un générateur de code entièrement ouvert : le README présente le Hyperlambda Generator comme propriétaire, et cette asymétrie avec la licence MIT du dépôt est la première chose à clarifier. Avant de vous engager, vérifiez la licence exacte du générateur et la compatibilité de son vocabulaire de fonctions avec vos règles métier.

Sources officielles

  1. License: MIT
  2. polterguy/magic on GitHub
  3. Project website
  4. README
  5. Releases
Notes de la communauté

Notes de la communauté