Serveur MCP Sedona

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

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

Sedona MCP Server 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 -- tout derrière une surface d'outil MCP unifiée. Demandez-lui de rechercher les classes Sedona, générer du code de composant ou exécuter 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 plus de 27 outils d'exemples Sedona, de kits, de classes, de motifs et de modèles 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 protocole -- c'en est quatre, parfois cinq. Les ingénieurs jonglent avec des outils distincts pour chacun, perdant le contexte chaque fois qu'ils changent. Sedona MCP Server réduit cela à une seule conversation : l'assistant appelle executeAxonCode et le serveur gère HTTPS plus la poignée de main SCRAM vers SkySpark ; il appelle searchSedonaClasses et le serveur accède à l'index local ; il appelle getActiveConnection et le serveur signale quel appareil est actuellement lié.

À qui c'est destiné

  • Ingénieurs en contrôle travaillant sur les appareils Sedona et les projets SkySpark sur le même chantier
  • Développeurs Sandstar reliant les étiquettes Haystack au matériel Sedona
  • Intégrateurs assistés par l'IA qui veulent un serveur MCP, pas quatre

Tableau de commutation de 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 de 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

Recherche, génération, validation, analyse, exécution, connexion. Vingt-sept outils et plus organisés par l'opération que vous effectuez -- pas le protocole que vous utilisez.

L'assistant n'a pas besoin de connaître le format de câblage. 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
réessai en cours -- 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 actives

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 sur les instances. discoverProjectFunctions fait l'introspection ; getProjectSchema retourne le modèle de données.

L'état du projet persiste. Basculez une fois, et les 50 prochains appels d'outil vont vers le même bâtiment. Basculez en arrière, 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 3 minutes
lab 12 points · dernière synchronisation il y a 18 minutes
qa 8 points · dernière synchronisation il y a 1 heure
switchSkySparkProject
Appareil Sedona Sox binaire
Appareil actif
Hôte192.168.1.100:1876
Protocolesox (binaire)
Micrologiciel1.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 du dispositif. getActiveConnection signale l'hôte lié. discoverInstanceProjects associe automatiquement les appareils découverts à leur contexte de projet. Sox est traité comme un pair du HTTP, pas un transport hérité.

Binaire ne signifie pas opaque. Chaque classe, chaque kit, chaque version du micrologiciel est visible pour l'assistant -- et peut être recherché.

Intéressé par ce projet ?

Explorez le code source, contribuez ou prenez contact.