Configuration
Chaque paramètre que le serveur lit depuis axon-config.json, plus les variables d'environnement qui les remplacent.
Le fichier de configuration
Le serveur recherche axon-config.json dans le répertoire de travail, ou au chemin spécifié par la variable d'environnement AXON_CONFIG. Un fichier de démarrage est fourni sous le nom axonMcpServer-config.json ; copiez-le et modifiez-le.
{
"server": { "port": 3847 },
"codePath": "/path/to/axon/code",
"docsPath": "/path/to/axon/docs",
"filePatterns": {
"code": ["**/*.axon", "**/*.trio"],
"docs": ["**/*.html", "**/*.md"]
},
"cache": { "enabled": true, "maxAge": 86400000, "directory": ".cache" },
"semanticSearch": { "enabled": true, "codeModel": "Xenova/all-MiniLM-L6-v2" }
}
Chemins
codePath
Chemin absolu du dossier contenant vos fichiers .axon et .trio. Le scanner de fichiers le parcourt récursivement, en respectant les modèles filePatterns.code et en ignorant les répertoires dans excludeDirs (par défaut : node_modules, .git).
docsPath
Chemin absolu vers votre documentation HTML. L'analyseur FlexSearch extrait les en-têtes, les blocs de code et le texte dans l'index des documents. Les fichiers Markdown sont pris en charge aux côtés du HTML.
OAuth
Activez-le pour les déploiements HTTP multi-utilisateurs :
"oauth": {
"enabled": true,
"accessTokenTtl": 3600,
"refreshTokenTtl": 2592000,
"scopesSupported": ["mcp:read", "mcp:write", "mcp:admin"]
}
Avec enabled: false, le transport HTTP accepte les connexions non authentifiées — acceptable pour localhost, jamais pour les déploiements publics.
Connexion SkySpark
"skyspark": {
"home": "/path/to/skyspark",
"configDir": "config",
"autoDiscover": true,
"autoSyncFunctions": true,
"syncConcurrency": 10,
"functionVersioning": true,
"maxVersions": 4,
"fallback": {
"host": "localhost",
"port": 8080,
"project": "demo",
"username": "su",
"password": "su",
"protocol": "http"
}
}
autoDiscover
Quand true, le serveur lit le répertoire de configuration de SkySpark et énumère tous les projets au démarrage. Quand false, le bloc fallback est utilisé comme unique cible de connexion.
functionVersioning
Quand true, chaque appel à commitAxonFunction conserve la révision précédente. maxVersions limite le nombre de révisions conservées par fonction avant que les plus anciennes soient supprimées.
fallback
Utilisé quand autoDiscover échoue ou que les chemins home/config sont inaccessibles. Également utilisé quand un client appelle switchSkySparkProject avec un projet non trouvé lors de la découverte.
Recherche sémantique
Les intégrations vectorielles alimentent semanticCodeSearch et findSimilarCode. Le modèle par défaut s'exécute entièrement localement (aucun appel d'API externe) via HuggingFace Transformers :
"semanticSearch": {
"enabled": true,
"codeModel": "Xenova/all-MiniLM-L6-v2",
"embeddingThreads": 2
}
Les intégrations persistent dans LanceDB à .cache/embeddings. Reconstruisez avec buildProjectEmbeddings après une modification importante du code.
Projet principal
Les outils d'exécution et de validation doivent connaître le projet SkySpark cible :
"primaryProject": {
"instance": "localhost8080",
"project": "sensorRead"
}
Les clients peuvent changer le projet principal à l'exécution via setPrimaryProject. Le contexte choisi persiste pour la session.
Remplacements par variables d'environnement
| Variable | Objectif |
|---|---|
MCP_TRANSPORT |
stdio (par défaut) ou http. |
MCP_PORT |
Port HTTP quand MCP_TRANSPORT=http. Par défaut 3847. |
AXON_CONFIG |
Chemin absolu vers le fichier de configuration JSON. |
NODE_OPTIONS |
Prédéfini à --max-old-space-size=8192 dans les scripts de démarrage. |
Les variables d'environnement ont priorité sur les valeurs du fichier de configuration JSON.