Serveur MCP Sedona

Accès unifié multi-protocoles à Sedona, Sandstar et SkySpark

Un serveur MCP, quatre protocoles d'automatisation de bâtiments, zéro code de liaison.

Le serveur MCP Sedona parle Sedona Sox sur TCP binaire sur le port 1876, Sedona Weblet sur HTTP sur 8085, le pont Project Haystack de Sandstar et SkySpark sur HTTPS -- le tout derrière une surface d'outils MCP unifiée. Demandez-lui de rechercher des classes Sedona, de générer du code de composant ou d'exécuter du code Axon en direct contre un projet SkySpark en cours d'exécution, et la couche de routage de protocole détermine quel transport utiliser.

Hors ligne, il indexe 27+ outils d'exemples Sedona, de kits, de classes, de modèles et de templates avec FlexSearch. En ligne, il accède aux bâtiments réels.

Pourquoi cela existe

Une pile de contrôle moderne n'est pas un seul protocole -- c'est quatre, parfois cinq. Les ingénieurs jonglent avec des outils distincts pour chacun, perdant le contexte à chaque fois qu'ils changent. Le serveur MCP Sedona réduit cela à une seule conversation : l'assistant appelle executeAxonCode et le serveur gère la poignée de main HTTPS plus SCRAM avec SkySpark ; il appelle searchSedonaClasses et le serveur accède à l'index local ; il appelle getActiveConnection et le serveur signale quel appareil est actuellement lié.

Pour qui c'est

  • Les ingénieurs de contrôle travaillant sur des appareils Sedona et des projets SkySpark sur le même travail
  • Les développeurs Sandstar reliant les tags Haystack au matériel Sedona
  • Les intégrateurs assistés par l'IA qui veulent un serveur MCP, pas quatre

Tableau de bord des protocoles

Quatre protocoles, un appel d'outil MCP

Un fichier de configuration définit vos appareils Sox, serveurs Weblet, ponts Sandstar et instances SkySpark. Tout appel d'outil est acheminé vers le bon transport -- TCP binaire, HTTP, HTTPS -- sans une seule ligne de code de liaison.

Routage des protocoles
connections.json: 4 définis
Appel d'outil MCP
executeAxonCode({...})
searchSedonaClasses queryHaystack executeAxonCode getActiveConnection
Sedona Sox Binaire
tcp:1876
Protocole Sox brut sur TCP
Sedona Weblet HTTP
http:8085
Points de terminaison HTTP Weblet
Sandstar Haystack
http:8085
Pont Project Haystack
SkySpark HTTPS + SCRAM
https:443
Exécution Axon authentifiée
4 protocoles -- 27+ outils -- 1 fichier de configuration v2.0.0

Surface d'outils

Six domaines, une interface

Rechercher, générer, valider, analyser, exécuter, connecter. Vingt-sept outils ou plus organisés par l'opération que vous effectuez -- non par le protocole que vous appelez.

L'assistant n'a pas besoin de connaître le format de fil. Il choisit l'outil pour la tâche. Le routeur compose la bonne destination.

Outils MCP (27+) tools/list
Recherche Sedona
5 outils
searchSedonaExamples searchSedonaClasses listSedonaKits searchSedonaRegex listSedonaCategories
Génération de code
3 outils
generateSedonaCode validateSedonaCode listSedonaTemplates
Analyse de fonction
3 outils
findFunctionUsage getFunctionCallGraph getFunctionUsageStats
SkySpark / Axon
4 outils
executeAxonCode listSkySparkProjects switchSkySparkProject discoverProjectFunctions
Appareil / Connexion
3 outils
getActiveConnection discoverInstanceProjects clearProjectCache
Haystack
1 outil
queryHaystack
Connexions actives 4 connectés
Sox 192.168.1.100:1876
4ms getActiveConnection il y a 3s il y a 3s
Weblet 192.168.1.100:8085
12ms searchSedonaClasses il y a 12s il y a 12s
Sandstar sandstar.internal:8085
nouvelle tentative -- queryHaystack il y a 2m il y a 2m
SkySpark skyspark.internal:443
127ms executeAxonCode il y a 38s il y a 38s
config/connections.json
{ "sox": { "host": "192.168.1.100", "port": 1876 }, "weblet": { "host": "192.168.1.100", "port": 8085 }, "sandstar": { "host": "sandstar.internal" }, "skyspark": { "host": "skyspark.internal", "auth": "scram" } }

Connexions en direct

Quatre rails, un tableau de bord

Chaque connexion est suivie indépendamment. getActiveConnection signale quel protocole a été utilisé en dernier. discoverInstanceProjects parcourt tout ce qui est accessible. clearProjectCache réinitialise quand quelque chose s'écarte.

Le fichier de configuration est la source unique de vérité. Ajoutez une nouvelle instance SkySpark, ajoutez un nouvel appareil Sedona, changez un port -- le routeur relit au prochain appel d'outil.

Exécution SkySpark

Du catalogue au bâtiment

executeAxonCode exécute du code Axon arbitraire par rapport au projet SkySpark actuellement lié. listSkySparkProjects et switchSkySparkProject vous permettent de naviguer entre les instances. discoverProjectFunctions introspecte ; getProjectSchema retourne le modèle de données.

L'état du projet persiste. Changez une fois, et les 50 appels d'outil suivants vont au même bâtiment. Changez de nouveau, et le cache était prêt.

Pont SkySpark en direct
executeAxonCode({ code: "read(point and zone and temp).hisRead(today)" })
Résultat (5 lignes, 4 colonnes)
dis zone val ts
Zone 101core-172.3°F10:12
Zone 102core-174.1°F10:12
Zone 103core-171.8°F10:12
Zone 201core-273.4°F10:12
Zone 202core-272.9°F10:12
Projet actif
campus-main 42 points · dernière synchronisation il y a 3m
lab 12 points · dernière synchronisation il y a 18m
qa 8 points · dernière synchronisation il y a 1h
switchSkySparkProject
Appareil Sedona Sox Binaire
Appareil actif
Hôte192.168.1.100:1876
Protocolesox (binaire)
Microprogramme1.2.28
Kits chargés12
Points47
Étatok
Kits chargés (12)
sys42 classes
control23 classes
logic18 classes
timing11 classes
sensor9 classes
datetimeStd7 classes
inet6 classes
types5 classes
basicSchedule4 classes
sox3 classes

Appareils Sedona

Introspection de première classe sur le rail binaire

listSedonaKits parcourt le manifeste de l'appareil. getActiveConnection signale l'hôte lié. discoverInstanceProjects appaire automatiquement les appareils découverts avec leur contexte de projet. Sox est traité comme un pair de HTTP, pas un transport hérité.

Binaire ne signifie pas opaque. Chaque classe, chaque kit, chaque version de microprogramme est visible pour l'assistant -- et recherchable.

Intéressé par ce projet ?

Explorez le code source, contribuez ou prenez contact.