Konfiguration
Jeder Parameter, den der Server aus axon-config.json liest, plus die Umgebungsvariablen, die diese überschreiben.
Die Konfigurationsdatei
Der Server sucht nach axon-config.json im Arbeitsverzeichnis oder unter dem Pfad in der Umgebungsvariablen AXON_CONFIG. Eine Starter-Datei wird als axonMcpServer-config.json bereitgestellt; kopieren und bearbeiten Sie diese.
{
"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" }
}
Pfade
codePath
Absoluter Pfad zum Ordner, der Ihre .axon- und .trio-Dateien enthält. Der Datei-Scanner durchsucht ihn rekursiv, berücksichtigt die filePatterns.code-Globs und überspringt Verzeichnisse in excludeDirs (Standard: node_modules, .git).
docsPath
Absoluter Pfad zu Ihrer HTML-Dokumentation. Der FlexSearch-Parser extrahiert Überschriften, Code-Blöcke und Text in den Dokumentationsindex. Markdown-Dateien werden neben HTML unterstützt.
OAuth
Aktivieren Sie diese Funktion für Multi-User-HTTP-Bereitstellungen:
"oauth": {
"enabled": true,
"accessTokenTtl": 3600,
"refreshTokenTtl": 2592000,
"scopesSupported": ["mcp:read", "mcp:write", "mcp:admin"]
}
Mit enabled: false akzeptiert der HTTP-Transport unauthentifizierte Verbindungen – akzeptabel für localhost, niemals für öffentliche Bereitstellungen.
SkySpark-Verbindung
"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
Wenn true, liest der Server das Konfigurationsverzeichnis von SkySpark und zählt beim Start jedes Projekt auf. Wenn false, wird der fallback-Block als einziges Verbindungsziel verwendet.
functionVersioning
Wenn true, behält jeder Aufruf von commitAxonFunction die vorherige Revision. maxVersions begrenzt, wie viele Revisionen pro Funktion beibehalten werden, bevor die ältesten gelöscht werden.
fallback
Wird verwendet, wenn autoDiscover fehlschlägt oder die home/config-Pfade nicht erreichbar sind. Wird auch verwendet, wenn ein Client switchSkySparkProject mit einem Projekt aufruft, das nicht über die Discovery gefunden wird.
Semantische Suche
Vektoreinbettungen unterstützen semanticCodeSearch und findSimilarCode. Das Standardmodell läuft vollständig lokal (keine externen API-Aufrufe) über HuggingFace Transformers:
"semanticSearch": {
"enabled": true,
"codeModel": "Xenova/all-MiniLM-L6-v2",
"embeddingThreads": 2
}
Einbettungen werden in LanceDB unter .cache/embeddings persistent gespeichert. Erstellen Sie sie mit buildProjectEmbeddings nach einer signifikanten Codeänderung neu.
Primäres Projekt
Ausführungs- und Commit-Tools müssen wissen, welches SkySpark-Projekt das Ziel ist:
"primaryProject": {
"instance": "localhost8080",
"project": "sensorRead"
}
Clients können das primäre Projekt zur Laufzeit über setPrimaryProject wechseln. Der gewählte Kontext bleibt während der Sitzung bestehen.
Umgebungsvariablen-Überschreibungen
| Variable | Zweck |
|---|---|
MCP_TRANSPORT |
stdio (Standard) oder http. |
MCP_PORT |
HTTP-Port bei MCP_TRANSPORT=http. Standard 3847. |
AXON_CONFIG |
Absoluter Pfad zur JSON-Konfigurationsdatei. |
NODE_OPTIONS |
In den Start-Skripten auf --max-old-space-size=8192 vordefiniert. |
Umgebungsvariablen haben Vorrang vor Werten in der JSON-Konfiguration.