""" mcp_server.py SkyOS Model Context Protocol (MCP) Server Stellt LLM-Agenten (wie Claude oder DeepSeek) Werkzeuge für das Creator OS bereit. """ import json from mcp.server.fastmcp import FastMCP # Core-System-Imports from router import route, status from trend_predictor import skyos_trend_score from crm_core import process_crm_message # Initialisierung des MCP-Servers mcp = FastMCP("SkyOS_MCP_Server") @mcp.tool() def route_request(message: str) -> str: """ Leitet Anfragen durch den SkyOS Router. Verarbeitet Text-Intents und steuert die Sub-Module an. """ result = route(message) # Falls das Ergebnis ein Dictionary/Objekt ist, sauber als JSON-String zurückgeben if isinstance(result, (dict, list)): return json.dumps(result, ensure_ascii=False) return str(result) @mcp.tool() def get_system_status() -> str: """Gibt den aktuellen Status des SkyOS-Systems zurück.""" return status() @mcp.tool() def analyze_trend( name: str, share_rate: float, comment_depth: float, hook_score: float, narrative: float, saturation: float ) -> dict: """ Führt eine mathematische Trend-Analyse über den skyos_trend_score aus. Berechnet Virality Index und Aufstiegswahrscheinlichkeiten für Contentpläne. """ return skyos_trend_score(name, share_rate, comment_depth, hook_score, narrative, saturation) @mcp.tool() def crm_core_access(command: str) -> dict: """ Schnittstelle zum CRM Core Modul. Erstellt Leads, filtert Prioritäten und analysiert Plattformen aus dem Text. """ return process_crm_message(command) @mcp.tool() def skyos_process_trigger(action: str) -> str: """Trigger für skyos_process zum Starten von automatisierten Workflows.""" return f"SkyOS Process: Aktion '{action}' erfolgreich eingeleitet und im Hintergrund gestartet." if __name__ == "__main__": # Startet den MCP Server im Standard-Transportmodus (stdio) mcp.run()