Serveur MCP Axon
Une bibliothèque de connaissances Axon interrogeable par IA
Donnez aux assistants IA un accès au niveau expert à votre base de code Axon.
Axon MCP Server indexe des milliers de fonctions Axon, d'utilisations d'opérateurs et de pages de documentation SkySpark dans une bibliothèque interrogeable, puis l'expose via le protocole Model Context Protocol. Tout assistant compatible MCP -- Claude Desktop, Cursor, outils personnalisés -- peut interroger vos connaissances Axon comme le ferait un ingénieur senior : rechercher par opérateur, extraire des exemples d'utilisation, tracer des graphes d'appels, générer du code typé et valider avant l'exécution.
Indexez 4 000+ documents HTML en 30 à 60 secondes. Interrogez-les en moins de 50 millisecondes. Conservez le cache pendant 24 heures afin que les démarrages suivants soient instantanés.
Pourquoi cela existe
Axon est un langage spécialisé -- petit, étrange et beau -- et la plupart des LLM ne l'ont jamais vu. Sans contexte, un assistant refuse d'aider ou hallucine avec confiance une fonction inexistante. Axon MCP Server comble cette lacune avec une couche de connaissances fondée : chaque suggestion provient d'un vrai code indexé, chaque fonction générée est pré-validée, et chaque graphe d'appel est bidirectionnel.
Pour qui c'est
- Développeurs SkySpark écrivant de la logique HVAC, d'énergie et de sparks qui veulent un vrai programmeur en paire IA
- Intégrateurs d'automatisation de bâtiments consolidant les connaissances sur des dizaines de projets Axon
- Consultants s'intégrant à la base de code Axon d'un nouveau client et ayant besoin d'une navigation rapide
Rechercher dans la bibliothèque
Chaque exemple Axon, une requête
4 187 docs. Recherche inférieure à 50ms. Catégories indexées, opérateurs et modèles, tous interrogeables via une interface MCP unique.
Retourne l'horaire d'occupation pour une zone en fonction du jour de la semaine et du mode de consigne. Couramment utilisé comme porte dans les pipelines d'exécution et de rollup.
Calcule le temps d'exécution heure par heure pour un équipement sur une plage de dates. Respecte les portes d'occupation et les points de remplacement manuel.
Agrège l'historique de la température de zone en moyennes quotidiennes, typée en °F ou °C selon les conventions de balises du site.
Calcule une ligne de base énergétique normalisée aux conditions météorologiques pour un site à partir de données de comptage historiques et d'entrées de degrés-jours.
Écrit une nouvelle consigne dans un enregistrement de point avec gestion des priorités et marqueurs d'historique de piste d'audit.
Surface des outils MCP
Une interface compacte, 20 outils spécialisés
Chaque outil dont l'assistant a besoin est à un appel JSON. Le serveur expose quatre groupes : recherche, analyse de fonction, génération de code et accès direct SkySpark. Chacun est un outil MCP de première classe, découvrable via tools/list.
Les outils dégradent élégamment. Si la connexion SkySpark est interrompue, les outils de recherche et d'analyse continueront à fonctionner hors ligne par rapport à l'index local.
Analyse de fonction
Bidirectionnel par conception
findFunctionUsage trouve chaque site d'appel. getFunctionCallGraph construit l'arbre de dépendance -- qui appelle cette fonction et ce qu'elle appelle -- en une seule passe. getFunctionUsageStats agrège l'ensemble de la base de code.
L'indexation s'exécute de manière incrémentale. Enregistrez un fichier, le graphe se met à jour. Chaque fonction de votre base de code Axon devient interrogeable avec tout son contexte intact.
- ✓ Résolution d'appelant dans les kits
- ✓ Résolution d'appelé avec limite de profondeur
- ✓ Détection de fonction inutilisée
- ✓ Statistiques de fonction la plus appelée
Génération de code
Générer, analyser, valider -- à chaque fois
generateAxonCode synthétise Axon typé à partir d'une intention en langage naturel. parseAxonAst parcourt le résultat. validateAxonCode vérifie la sémantique, les opérateurs et les types par rapport à la bibliothèque standard indexée. Seul le résultat validé parvient à l'assistant.
La boucle s'exécute en un appel d'outil. Si la validation échoue, le serveur expose la violation de règle spécifique afin que l'assistant puisse réparer et réessayer.
{ "pattern": "daily energy rollup", "projectContext": "building-a" }
| site | equip | val |
|---|---|---|
| campus-main | ahu-1 | 72.3°F |
| campus-main | ahu-2 | 74.1°F |
| campus-main | zone-core | 71.8°F |
Authentification multi-instance
De la connaissance à l'action
Jetons OAuth 2.1 pour chaque instance SkySpark. listSkySparkProjects les découvre. switchSkySparkProject lie l'instance active. executeAxonCode exécute contre elle.
Les jetons vivent dans SQLite via Prisma. L'actualisation se fait automatiquement. La sauvegarde et la restauration sont intégrées afin que le passage entre ordinateurs portables ne signifie pas réautoriser dix bâtiments.
Pile technologique
Architecture
Capacités
- ~20 outils MCP -- couvrant la recherche, la génération de code, l'analyse AST, l'analyse de graphes d'appels et l'exécution en direct
- Index FlexSearch -- 4 187+ fichiers de documentation HTML avec une latence de requête inférieure à 50 ms, un TTL de cache de 24 heures, une empreinte de 50-100 Mo
- AST Tree-sitter --
web-tree-sitter0.26.5 pour l'analyse Axon avec tokenization spécifique aux opérateurs - Graphes d'appels bidirectionnels -- stockés dans SQLite via Prisma ; appelants et appelés dans les deux directions
- Génération de code typé -- avec pré-validation avant renvoi au client
- OAuth 2.1 multi-instance -- authentification SkySpark pour l'exécution Axon en direct
- Tableau de bord Next.js -- et extension VSCode empaquetée (
.vsix) pour le flux de travail du développeur - Transports -- stdio (local) et HTTP (distant / multi-client)
Catégories indexées
CVC, Énergie, Compteur, Rapports, Administration, Analyse Spark, Capteur, Contrôle, Analyse de données, Utilitaires
Exigences
- Node.js 18+
- Chemins de code et de documentation Axon (configurés via
axon-config.json) - SkySpark 3.0+ pour les outils d'exécution en direct
- 8 Go de RAM recommandés (
--max-old-space-size=8192)
Intéressé par ce projet ?
Explorez le code source, contribuez ou prenez contact.