Erste Schritte
Vorher benötigen Sie eine FoxAgent-Installation (Installation). Am Ende läuft Ihre VFP-Anwendung, und ein Agent kann hineinschauen.
Schritt 1: prüfen, ob der Broker läuft
Der Installer hat den Broker als Windows-Dienst mit automatischem Start eingerichtet. So prüfen Sie es:
# In PowerShell oder CMD:
sc query FoxAgentBroker
# Erwartet: STATE: 4 RUNNINGLäuft der Dienst nicht, starten Sie ihn über die Windows-Dienstekonsole (services.msc) oder mit diesem Befehl:
# Dienst von Hand starten:
net start FoxAgentBrokerSchritt 2: Ihre VFP-Anwendung verbinden
Die Integration besteht aus drei Einfügepunkten: die Anwendung beim Start anmelden, direkt danach Ihre Tools registrieren und beim Beenden abmelden. Der dritte wird vergessen, und die Kosten trägt nicht Sie, sondern Ihr Kunde.
* --- 1. Beim Start, sobald _VFP existiert und VOR READ EVENTS ---
PUBLIC goBridge
goBridge = CREATEOBJECT("FoxAgent.Bridge")
* Vor Connect zwingend: erst dies erlaubt den Blick nach innen.
goBridge.SetInstance(_VFP)
* Connect(id, Name, Stufe) liefert eine JSON-ZEICHENKETTE, keinen
* logischen Wert. Stufe 10 (operator) ist die Stufe eines Fachanwenders:
* der Agent kommt genau so weit wie diese Person von Hand, denn alles
* läuft über Ihre Formulare und deren Prüfungen.
LOCAL lcRes
lcRes = goBridge.Connect("meine-app-001", "Meine VFP-Anwendung", 10)
IF !('"ok":true' $ lcRes)
* Steht der Broker still oder ist kein Lizenzplatz frei, muss Ihre
* Anwendung weiterlaufen: FoxAgent ist Zubehör, keine Abhängigkeit.
* Protokollieren und weitermachen.
goBridge = .NULL.
ENDIF
* Der Bridge sendet alle 15 Sekunden selbst Heartbeats. Rufen Sie
* Heartbeat() nicht von Hand auf.
* --- 3. Beim Beenden, in Ihrer Aufräumroutine oder in ON SHUTDOWN ---
IF VARTYPE(goBridge) = "O" AND !ISNULL(goBridge)
TRY
goBridge.Disconnect("meine-app-001")
CATCH
* Ein Fehler hier darf das Beenden niemals verhindern.
ENDTRY
goBridge = .NULL.
ENDIFSDK\quickstart.prg bei. Schritt 3: Ihre Tools (UDTs) registrieren
Ein RegisterTool()-Aufruf pro Tool, unmittelbar nach einem erfolgreichen Connect. Nichts wird von der Festplatte eingelesen, und das ist das Sicherheitsmodell und keine Einschränkung: der Agent kann nur ausführen, was Sie geschrieben, geprüft und kompiliert haben.
* Die beiden SDK-Basisklassen, vor dem ersten CREATEOBJECT eines Tools.
* ZWEI Dateien: FoxAgentTool erbt von FoxToolIsolated, das in
* FoxTool.prg liegt. Fehlt sie, erscheint
* "Class definition FOXTOOLISOLATED is not found".
SET PROCEDURE TO "C:\Program Files\FoxAgent\SDK\FoxTool.prg" ADDITIVE
SET PROCEDURE TO "C:\Program Files\FoxAgent\SDK\FoxAgentTool.prg" ADDITIVE
SET PROCEDURE TO "MeineTools.prg" ADDITIVE
* Ein Aufruf pro Tool, nach Connect.
goBridge.RegisterTool(CREATEOBJECT("KundeSuchenTool"))
goBridge.RegisterTool(CREATEOBJECT("KundensaldoTool"))Wie eine solche Klasse geschrieben wird, steht in Konfiguration. Wechselt der angemeldete Benutzer, können Sie die Liste mit ClearTools() und UnregisterTool(Name) neu aufbauen: welche Tools es gibt, entscheidet Ihre Anwendung, pro Benutzer.
Schritt 4: Ihren KI-Client verbinden
Der Installer konfiguriert Claude Desktop und OpenCode, sofern er sie findet. Für jeden anderen Client legt er den fertigen Block mit dem echten Pfad unter C:\Program Files\FoxAgent\mcp-foxagent.json ab. Er sieht so aus:
{
"mcpServers": {
"foxagent": {
"command": "C:\\Program Files\\FoxAgent\\FoxAgent.McpHost.exe",
"args": []
}
}
}| Client | Wohin er gehört |
|---|---|
| Claude Desktop | claude_desktop_config.json (Einstellungen ▸ Entwickler ▸ Konfiguration bearbeiten) |
| Claude Code | claude mcp add foxagent -- "C:\Program Files\FoxAgent\FoxAgent.McpHost.exe" |
| Cursor | %USERPROFILE%\.cursor\mcp.json |
| OpenCode | %USERPROFILE%\.config\opencode\opencode.jsonc (anderes Format: siehe dessen Dokumentation) |
~1 / ~2 vergibt die Reihenfolge der Erstellung: eine Neuinstallation kann Ihren Client dazu bringen, den Broker zu starten, der kein MCP spricht, und er hängt, ohne den Grund zu nennen. Leerzeichen sind unproblematisch, solange Sie jeden Backslash verdoppeln. Starten Sie den Client nach dem Bearbeiten neu. Schritt 5: fragen
Wenn der Broker läuft, Ihre Anwendung verbunden und der MCP-Client eingerichtet ist, zählt die Startreihenfolge: Broker → Ihre Anwendung → der KI-Client. Fragen Sie zum Beispiel:
- „Liste die verbundenen VFP-Instanzen auf“
- „Welche Formulare sind in meine-app-001 geöffnet?“
- „Mach eine Bildschirmaufnahme der Anwendung“
- „Welche eigenen Tools hat diese Instanz registriert?“
- „Suche Kunde 1042 mit dem Tool kunde_suchen“
Die letzten beiden funktionieren ab Stufe 0. Variablen und Cursor zu lesen verlangt Stufe 20, rohes VFP die 90: verweigert der Agent, nennt die Ablehnung die fehlende Stufe und wer die Obergrenze gesetzt hat. Die Stufen sind in Konfiguration erklärt.
Nächste Schritte
- Eigene Tools (UDTs) erstellen: Die Basisklasse, die Parameter und das Sitzungsmuster, das zum Lesen von Daten nötig ist
- Rollensystem: Die vier Stufen, wer jede davon eingrenzt und wie Ihre eigene Anwendung sie anhebt