MCP Fantom

Fantom-Dokumentation, semantische Codesuche und SkySpark-Migration

Bringen Sie Ihrem KI-Assistenten Fantom bei – und übergeben Sie ihm die Schlüssel zu Ihrer SkySpark 4.0 Migration.

MCP Fantom indexiert Fantom-Dokumentation von fantom.org, lokale .fan Pods und Haxall-Workflows in eine einzige durchsuchbare Oberfläche. Es führt semantische Codesuche über Tausende von Typen und Methoden durch, analysiert Call Graphs mit Community Detection und – einzigartig – automatisiert die SkySpark 3.x zu 4.0 Migration: Umschreiben von using-Anweisungen, Konvertieren von Axon-Strings, Generieren von Xeto-Dateien, Validierung mit dem Fantom-Compiler und Erstellen eines Git-Backup-Tags auf dem Weg.

Wenn die Migration fehlschlägt, können Sie mit einem Tool-Aufruf zurückrollen. Die gesamte Reise ist vergleichbar, rückgängig machbar und dokumentiert.

Warum es existiert

SkySpark 4.0 änderte das Erweiterungsformat. Die manuelle Migration einer echten Erweiterung oder eines Connectors ist eine mühsame Arbeit mit using-Umschreibungen, Axon-String-Konvertierungen und brandneuen Xeto-Bibliotheksdateien – mit einem Compiler, der zubeißt, sobald Sie eine Zeile verpassen. MCP Fantom verwandelt diese Arbeit in einen KI-gesteuerten Workflow, der die Regeln kennt, die Prüfungen durchführt und sich selbst rückgängig machen kann.

Für wen es gedacht ist

  • Erweiterungsautoren, die SkySpark 3.x Pods zu 4.0 migrieren
  • Haxall-Integratoren, die Connectors, Funktionen und Apps in Fantom erstellen
  • KI-unterstützte Entwickler, die genauen Fantom-Kontext benötigen, nicht halluzinierte Syntax

Migration Cockpit

Migrieren Sie SkySpark 3 zu 4 ohne Handkrämpfe

Ein Tool schreibt Ihre Erweiterung um. Ein anderes committed es. Ein drittes rollback es. Jede Änderung ist vergleichbar, der Compiler überprüft, Git hält das Sicherheitsnetz.

Migration: in progress modbus-connector
67%
SkySpark 3.x Quelle
SkySpark 4.0 Ausgabe
1using sys
2using skyspark::ext
3using skyspark::folio
4 
5@Ext const class MyConnector : ConnExt {
6  override Str sort := "connector"
7  override Str moniker := "myCon"
8 
9  Str axonWatch() { "read(point and siteRef == @hq)" }
10  Str axonSub() { "readAll(point)" }
11}
12 
1using sys
2using haxall::ext
3using haxall::folio
4 
5@Ext const class MyConnector : ConnExt {
6  override Str sort := "connector"
7  override Str moniker := "myCon"
8  // Axon moved to funcs.xeto
9  Str axonWatch() { "axon:MyConnector.watch" }
10  Str axonSub() { "axon:MyConnector.sub" }
11}
12 
using rewrites: 12 axon strings: 8 xeto files: 3 generated compiler: PASS git: pre-skyspark-4x-backup tag created
Output verified by fan compile. Rollback available via rollbackMigration until commitMigration is called.

Lazy Indexing

Der Server antwortet, bevor die Indizierung abgeschlossen ist

Die meisten Suchserver blockieren den Client beim ersten Start für 30 bis 60 Sekunden während der Indizierung. MCP Fantom startet in unter einer Sekunde. Tools antworten sofort – FlexSearch wärmt sich zuerst auf, lokale Pods folgen, Embeddings danach. Der Assistent wartet nie.

Abfragen werden transparent degradiert. Falls Embeddings nicht bereit sind, fallen semantische Tools auf Stichwortsuche zurück. Der Assistent erhält eine Antwort mit einem Hinweis zur Treue, nicht zu einem Timeout.

MCP Fantom
ready
HTML docs (cheerio) 100%
4,187 of 4,187 pages indexed
Local .fan pods 78%
1,246 of 1,600 pods parsed
Embeddings (LanceDB) 45%
723 of 1,600 vectors computed
Call graph (graphology) 12%
192 of 1,600 functions linked
boot 0s tools 1s docs 8s full index 47s
Semantic Search LanceDB
"functions that normalize units" cosine search
normalizeUnit(val, target)
Canonicalize a numeric value to a target unit symbol.
0.91
convertUnit(point, u)
Convert a point's value into the specified unit.
0.87
toEngUnit(v, sym)
Return the engineering-unit representation of a raw value.
0.82
Code Communities (Louvain)
unit normalization trio parsing meter reads connector utils

Code Intelligence

Semantisches Verständnis, nicht nur Textübereinstimmung

semanticCodeSearch und findSimilarCode betten Ihren Fantom-Code in einen Vektorraum ein. Fragen Sie nach "Funktionen, die Einheiten normalisieren" und erhalten Sie Ergebnisse, die Struktur teilen, nicht Stichwörter.

Graphology mit Louvain-Clustering findet die natürlichen Gemeinschaften in Ihrer Codebasis – welche Typen hängen zusammen, welche nicht. getCodeImpact verfolgt, wie sich eine Änderung ausbreitet. getCallers und getCallees runden die Call-Graph-Oberfläche ab.

semanticCodeSearch findSimilarCode getCallers getCallees getCodeImpact

Migration Safety

Jede Migration ist nur eine Rückgängigmachung entfernt

migrateSkySpark4x erstellt ein Git-Tag, bevor es ein einzelnes Byte schreibt. Wenn etwas fehlschlägt – Compilerfehler, Validierungsnichtübereinstimmung, Ihr Bauchgefühl – rollbackMigration stellt das Repo in den genauen Zustand vor dem Lauf wieder her.

commitMigration ist absichtlich. Nichts wird in Ihre Arbeitshistorie gemergt, bis Sie die Ausgabe akzeptieren. Bis dahin lebt die Migration auf einem Branch mit einem Backup-Tag, bereit, verworfen zu werden.

Git Timeline mcp-fantom repo
commitMigration merged
ghi789
All Xeto files written; compile PASS confirmed.
migration branch applied
def456
using rewrites + Axon conversion + Xeto generation.
tag: pre-skyspark-4x-backup
abc123
Backup tag created automatically before migration run.
pre-migration state
abc123
Repo state before migrateSkySpark4x was called.
Migration Tools
migrateSkySpark4x
Run the full rewrite.
commitMigration
Accept the output.
rollbackMigration
Restore to backup tag.
resources/list --> 4 resources
create-pod
Scaffold a new Fantom pod end-to-end.
5 steps · markdown
use-fanr
Publish a pod via fanr.
6 steps · markdown
haxall-basics
Build your first Haxall extension.
8 steps · markdown
unit-testing
Set up fant unit tests.
4 steps · markdown

Guided Workflows

Beyond tools -- readable guides

MCP resources are markdown documents the assistant can read on demand. MCP Fantom ships four: a pod scaffolder, a fanr publishing guide, a Haxall extension walkthrough, and a fant unit-testing primer.

When a developer asks "how do I start?", the assistant pulls the right resource, summarizes, and proceeds. Every workflow is versioned alongside the server.

  • Step-by-step markdown
  • Discoverable via resources/list
  • Versioned with the server
  • Easy to add more

Interesse an diesem Projekt?

Erkunde den Quellcode, trage bei oder nimm Kontakt auf.