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.

Recherche Axon MCP
localhost:3000/search
rechercher exemples axon... zone temp rollup
category:hvac kit:control since:30d Rechercher
Catégories
CVC 412
Énergie 287
Comptage 198
Rapports 156
Admin 104
Analyse Spark 89
Capteur 76
Contrôle 64
Analyse de données 58
Utilitaires 44
occSchedule cvc
0.94

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.

calendrier occupation zone
hvacRuntime cvc
0.88

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.

runtime équip rollup
zoneTempRollup cvc
0.82

Consolide l'historique de la température de zone en moyennes quotidiennes, typé en °F ou °C selon les conventions d'étiquetage du site.

hisRead rollup quotidien
energyBaseline énergie
0.76

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.

compteur ligne de base météo
setpointWrite contrôle
0.71

Écrit une nouvelle consigne sur un enregistrement de point avec gestion des priorités et marqueurs d'historique de piste d'audit.

point écrire consigne
Affichage de 5 sur 1 488 résultats -- indexé il y a 30s FlexSearch · 47ms

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.

Outils MCP (~20) tools/list
Recherche
Requêtes FlexSearch sur les docs, opérateurs et motifs.
searchAxonExamples searchAxonDocs searchAxonOperatorExamples searchAxonRegex listAxonCategories getAxonExample getAxonPattern listAxonPatterns
Fonctions
Recherches d'utilisation et analyse de graphe d'appels bidirectionnelle.
findFunctionUsage getFunctionExamples getFunctionCallGraph getFunctionUsageStats
Génération
Synthèse de code typé avec marche AST et pré-validation.
generateAxonCode validateAxonCode parseAxonAst listAxonTemplates
SkySpark
Requêtes Haystack en direct et exécution Axon via OAuth 2.1.
queryHaystack executeAxonCode listSkySparkProjects switchSkySparkProject
Graphe d'appels de fonction occSchedule() -- profondeur 2
Appelants
hvacRuntime
appelé 12x
energyReport
appelé 3x
sparkOccAnomaly
appelé 7x
occSchedule()
fonction
Appelés
dayOfWeek
appelle 4x
now
appelle 1x
3
Total des appelants
2
Total des appelés
4
Profondeur max

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.

Exécution de génération de code VALIDÉ
Requête
{
  "pattern": "daily energy rollup",
  "projectContext": "building-a"
}
Généré
// Rollup quotidien par site
(siteRef, startDate, endDate) =>
site: read(^siteRef),
meter: readAll(siteRef==site->id and elec and meter),
hist: meter.hisRead(startDate..endDate),
daily: hist.hisRollup(avg, 1day),
out: daily.addColumns({
site: site->dis,
unit: "kWh"
})
Validation
✓ AST ANALYSÉ ✓ TYPES VÉRIFIÉS ✓ 4 OPÉRATEURS RÉSOLUS ✓ ANCRÉ DANS 3 EXEMPLES
Instances SkySpark 3 authentifiées
hq-prod
skyspark.example.com
campus-main
auth : il y a 12 min
campus-staging
staging.example.com
central-plant
auth : il y a 48 min
lab-dev
reconnexion
lab.internal
sandbox
auth : il y a 2h
Résultat d'exécution
read(site and campus).hisRead(today)
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.

3
Instances
14
Projets
2 841
Fonctions synchronisées

Intéressé par ce projet ?

Explorez le code source, contribuez ou prenez contact.