Serveur MCP Axon
Une Bibliothèque de Connaissances Axon Interrogeable par l'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 consultable, puis l'expose via le 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 exécution.
Indexez 4 000+ documents HTML en 30 à 60 secondes. Interrogez-les en moins de 50 millisecondes. Conservez le cache pendant 24 heures pour que les démarrages suivants soient instantanés.
Pourquoi cela existe
Axon est un langage spécifique à un domaine -- petit, étrange et magnifique -- et la plupart des LLM ne l'ont jamais vu. Sans contexte, un assistant refuse d'aider ou hallucine avec assurance une fonction qui n'existe pas. Axon MCP Server comble cette lacune avec une couche de connaissances ancrée : chaque suggestion provient du code réellement indexé, chaque fonction générée est pré-validée, et chaque graphe d'appel est bidirectionnel.
À qui cela s'adresse
- Développeurs SkySpark écrivant de la logique HVAC, d'énergie et des sparks qui veulent un vrai programmeur en binôme avec l'IA
- Intégrateurs en 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
Parcourir la Bibliothèque
Chaque exemple Axon, une requête
4 187 docs. Recherche en moins de 50ms. Catégories indexées, opérateurs et motifs, tous interrogeables via une interface MCP.
Retourne le calendrier d'occupation pour une zone en fonction du jour de la semaine et du mode de consigne. Couramment utilisé comme une porte dans les pipelines runtime et rollup.
Calcule le runtime heure par heure pour un équipement sur une plage de dates. Respecte les portes d'occupation et les points de remplacement manuel.
Consolide l'historique de la température de zone en moyennes quotidiennes, typé en °F ou °C selon les conventions d'étiquetage du site.
Calcule une ligne de base d'énergie normalisée pour la météo pour un site à partir des données historiques de compteur et des entrées de degré-jour.
Écrit une nouvelle consigne sur un enregistrement de point avec gestion des priorités et marqueurs d'historique de piste d'audit.
Surface d'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 se dégradent gracieusement. Si la connexion SkySpark est en panne, les outils de recherche et d'analyse continuent de 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épendances -- 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émentielle. Enregistrez un fichier, le graphique se met à jour. Chaque fonction de votre base de code Axon devient interrogeable avec son contexte complet intègre.
- ✓ Résolution d'appelant entre 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 l'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 la sortie validée atteint l'assistant.
La boucle s'exécute en un seul appel d'outil. Si la validation échoue, le serveur expose la violation de règle spécifique pour que l'assistant puisse réparer et réessayer.
{ "pattern": "daily energy rollup", "projectContext": "building-a" }
| site | équip | 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 celui qui est actif. executeAxonCode s'exécute par rapport à cela.
Les jetons vivent dans SQLite via Prisma. L'actualisation se produit 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 d'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 à 50ms, TTL de cache de 24 heures, empreinte de 50-100 MB
- AST Tree-sitter --
web-tree-sitter0.26.5 pour l'analyse Axon avec tokenisation spécifique aux opérateurs - Graphes d'appels bidirectionnels -- stockés dans SQLite via Prisma ; appelants et appelés dans les deux sens
- Génération de code typé -- avec pré-validation avant retour 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 développeur - Transports -- stdio (local) et HTTP (distant / multi-client)
Catégories indexées
CVC, Énergie, Comptage, Rapports, Admin, Analyse Spark, Capteur, Contrôle, Analyse de données, Utilitaires
Conditions requises
- Node.js 18+
- Chemins de code et 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.