SkyDeckAI-Code
Ein MCP-Server, der umfassende Tools für KI-gesteuerte Entwicklungsabläufe bietet. Zu den Funktionen gehören Dateisystemoperationen, Codeanalyse mit Tree-Sitter für mehrere Programmiersprachen, Codeausführung, Webinhaltsabruf mit HTML-zu-Markdown-Konvertierung, Multi-Engine-Websuche, Codeinhaltssuche und Systeminformationsabruf. Entwickelt, um die KI-Unterstützung bei Softwareentwicklungsaufgaben durch direkten Zugriff auf lokale und Remote-Ressourcen zu verbessern.
Früher bekannt als MCP-Server-AIDD
Dieser MCP-Server hieß früher mcp-server-aidd . Er wurde in skydeckai-code umbenannt, um dem Team von SkyDeck.ai für die Entwicklung dieser Anwendung zusammen mit East Agile Anerkennung zu zollen. Wichtiger noch: Wir stellten fest, dass sich der Begriff „AI Driven Development“ (AIDD) einfach nicht durchsetzte. Die Leute verstanden nicht auf Anhieb, worum es ging. Und LLMs auch nicht. „Code“ war deutlich intuitiver. Und sprachliche Intuition ist in der Welt der agentenbasierten KI wichtig.
Installation
# Using pip
pip install skydeckai-codeRelated MCP server: AI Agent Template MCP Server
Claude Desktop-Setup
Fügen Sie zu Ihrer claude_desktop_config.json hinzu:
{
"mcpServers": {
"skydeckai-code": {
"command": "uvx",
"args": ["skydeckai-code"]
}
}
}SkyDeck AI Helper App
Wenn Sie die SkyDeck AI Helper-App verwenden, können Sie nach „SkyDeckAI Code“ suchen und ihn installieren.

Hauptmerkmale
Dateisystemoperationen (Lesen, Schreiben, Bearbeiten, Verschieben, Kopieren, Löschen)
Verzeichnisverwaltung und -durchquerung
Mehrsprachige Codeanalyse mit Tree-Sitter
Code-Inhaltssuche mit Regex-Mustervergleich
Mehrsprachige Codeausführung mit Sicherheitsmaßnahmen
Abrufen von Webinhalten von APIs und Websites mit HTML-zu-Markdown-Konvertierung
Multi-Engine-Websuche mit zuverlässigen Fallback-Mechanismen
Stapelverarbeitung für die parallele und serielle Toolausführung
Sicherheitskontrollen mit konfigurierbaren Arbeitsbereichsgrenzen
Screenshot- und Bildschirmkontexttools
Bildbearbeitungstools
Verfügbare Werkzeuge (26)
Kategorie | Werkzeugname | Beschreibung |
Dateisystem |
| Holen Sie sich den aktuellen Arbeitsverzeichnispfad |
| Ändern des Arbeitsverzeichnisses | |
| Erstellen Sie ein neues Verzeichnis oder verschachtelte Verzeichnisse | |
| Erstellen oder Überschreiben einer Datei mit neuem Inhalt | |
| Zeilenbasierte Änderungen an einer Textdatei vornehmen | |
| Lesen Sie den Inhalt einer oder mehrerer Dateien | |
| Liste der Dateien und Verzeichnisse abrufen | |
| Verschieben oder Umbenennen einer Datei oder eines Verzeichnisses | |
| Kopieren einer Datei oder eines Verzeichnisses an einen neuen Speicherort | |
| Suche nach Dateien, die einem Namensmuster entsprechen | |
| Löschen einer Datei oder eines leeren Verzeichnisses | |
| Erhalten Sie detaillierte Dateimetadaten | |
| Erhalten Sie eine rekursive Baumansicht der Verzeichnisse | |
| Lesen einer Bilddatei als Base64-Daten | |
Code-Tools |
| Analysieren Sie die Codestruktur über mehrere Dateien hinweg |
| Suchen von Textmustern in Codedateien | |
| Führen Sie Code in verschiedenen Sprachen aus | |
| Führen Sie Shell-/Bash-Skripte aus | |
Webtools |
| Abrufen von Inhalten von einer URL |
| Führen Sie eine Websuche durch | |
Bildschirmtools |
| Machen Sie einen Screenshot des Bildschirms oder Fensters |
| Liste der laufenden Anwendungen | |
| Alle geöffneten Fenster auflisten | |
System |
| Erhalten Sie detaillierte Systeminformationen |
Dienstprogramm |
| Führen Sie mehrere Werkzeugvorgänge gleichzeitig aus |
| Dokumentieren Sie die Begründung, ohne Änderungen vorzunehmen |
Detaillierte Tool-Dokumentation
Grundlegende Dateivorgänge
Werkzeug | Parameter | Rückgaben |
Datei lesen | Dateien: [{Pfad: Zeichenfolge, Offset?: Ganzzahl, Limit?: Ganzzahl}] | Dateiinhalt (einzelne oder mehrere Dateien) |
Datei schreiben | Pfad: Zeichenfolge, Inhalt: Zeichenfolge | Erfolgsbestätigung |
Datei verschieben | Quelle: Zeichenfolge, Ziel: Zeichenfolge | Erfolgsbestätigung |
Datei kopieren | Quelle: Zeichenfolge, Ziel: Zeichenfolge, rekursiv?: Boolesch | Erfolgsbestätigung |
Datei löschen | Pfad: Zeichenfolge | Erfolgsbestätigung |
Dateiinformationen abrufen | Pfad: Zeichenfolge | Dateimetadaten (Größe, Zeitstempel, Berechtigungen) |
CLI-Nutzung:
# Read entire file
skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py"}]}'
# Read 10 lines starting from line 20
skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py", "offset": 20, "limit": 10}]}'
# Read from line 50 to the end of the file
skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py", "offset": 50}]}'
# Read multiple files with different line ranges
skydeckai-code-cli --tool read_file --args '{"files": [
{"path": "src/main.py", "offset": 1, "limit": 10},
{"path": "README.md"}
]}'
# Write file
skydeckai-code-cli --tool write_file --args '{"path": "output.txt", "content": "Hello World"}'
# Copy file or directory
skydeckai-code-cli --tool copy_file --args '{"source": "config.json", "destination": "config.backup.json"}'
# Get file info
skydeckai-code-cli --tool get_file_info --args '{"path": "src/main.py"}'Komplexe Dateioperationen
Datei bearbeiten
Musterbasierte Dateibearbeitung mit Vorschauunterstützung:
{
"path": "src/main.py",
"edits": [
{
"oldText": "def old_function():",
"newText": "def new_function():"
}
],
"dryRun": false,
"options": {
"partialMatch": true
}
}Gibt zurück: Diff der Änderungen oder Vorschau im Probelaufmodus.
Verzeichnisvorgänge
Werkzeug | Parameter | Rückgaben |
get_allowed_directory | keiner | Aktuell zulässiger Verzeichnispfad |
update_allowed_directory | Verzeichnis: Zeichenfolge (absoluter Pfad) | Erfolgsbestätigung |
Verzeichnisliste | Pfad: Zeichenfolge | Verzeichnisinhaltsliste |
Verzeichnis erstellen | Pfad: Zeichenfolge | Erfolgsbestätigung |
Suchdateien | Muster: Zeichenfolge, Pfad?: Zeichenfolge, include_hidden?: Boolesch | Liste der übereinstimmenden Dateien |
Das Tool search_files sucht nach Dateien anhand von Namensmustern, während search_code mithilfe von regulären Ausdrücken innerhalb von Dateiinhalten sucht. Verwenden Sie search_files für die Suche nach Dateien mit bestimmten Namen oder Erweiterungen und search_code für die Suche nach bestimmten Textmustern in Dateien.
Verzeichnisbaum
Generiert eine vollständige Verzeichnisstruktur:
{
"path": "src",
"include_hidden": false
}Gibt zurück: JSON-Baumstruktur des Verzeichnisinhalts.
CLI-Nutzung:
# List directory
skydeckai-code-cli --tool list_directory --args '{"path": "."}'
# Search for Python files
skydeckai-code-cli --tool search_files --args '{"pattern": ".py", "path": "src"}'Code-Analyse
Codebase_Mapper
Analysiert die Quellcodestruktur:
{
"path": "src"
}Widerrufsfolgen:
Klassen und ihre Methoden
Funktionen und Parameter
Modulstruktur
Code-Organisationsstatistiken
Vererbungsbeziehungen
Unterstützte Sprachen:
Python (.py)
JavaScript (.js/.jsx, .mjs, .cjs)
TypeScript (.ts/.tsx)
Java (.java)
C++ (.cpp, .hpp, .cc)
Ruby (.rb, .rake)
Gehen Sie (.go)
Rost (.rs)
PHP (.php)
C# (.cs)
Kotlin (.kt, .kts)
CLI-Nutzung:
# Map the entire codebase structure
skydeckai-code-cli --tool codebase_mapper --args '{"path": "."}'
# Map only the source directory
skydeckai-code-cli --tool codebase_mapper --args '{"path": "src"}'
# Map a specific component or module
skydeckai-code-cli --tool codebase_mapper --args '{"path": "src/components"}'Suchcode
Schnelles Inhaltssuchtool mit regulären Ausdrücken:
{
"patterns": ["function\\s+\\w+", "class\\s+\\w+"],
"include": "*.js",
"exclude": "node_modules/**",
"max_results": 50,
"case_sensitive": false,
"path": "src"
}Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
Muster | Array von Zeichenfolgen | Ja | Liste der regulären Ausdrucksmuster, nach denen im Dateiinhalt gesucht werden soll |
enthalten | Schnur | NEIN | Einzuschließendes Dateimuster (Glob-Syntax, Standard: "*") |
ausschließen | Schnur | NEIN | Auszuschließendes Dateimuster (Glob-Syntax, Standard: "") |
maximale Ergebnisse | ganze Zahl | NEIN | Maximale Anzahl der zurückzugebenden Ergebnisse pro Muster (Standard: 100) |
case_sensitive | Boolescher Wert | NEIN | Ob bei der Suche zwischen Groß- und Kleinschreibung unterschieden wird (Standard: „false“) |
Weg | Schnur | NEIN | Basisverzeichnis für die Suche (Standard: ".") |
Gibt zurück: Übereinstimmende Zeilen, gruppiert nach Datei mit Zeilennummern, sortiert nach Dateiänderungszeit, mit den neuesten Dateien zuerst.
Dieses Tool verwendet, sofern verfügbar, ripgrep für optimale Leistung mit einer Python-Fallback-Implementierung. Es eignet sich ideal zum Auffinden spezifischer Codemuster wie Funktionsdeklarationen, Importen, Variablenverwendungen oder Fehlerbehandlung.
CLI-Nutzung:
# Find function and class declarations in JavaScript files
skydeckai-code-cli --tool search_code --args '{
"patterns": ["function\\s+\\w+", "class\\s+\\w+"],
"include": "*.js"
}'
# Find all console.log statements with errors or warnings
skydeckai-code-cli --tool search_code --args '{
"patterns": ["console\\.log.*[eE]rror", "console\\.log.*[wW]arning"],
"path": "src"
}'
# Find import and export statements in TypeScript files
skydeckai-code-cli --tool search_code --args '{
"patterns": ["import.*from", "export.*"],
"include": "*.{ts,tsx}",
"exclude": "node_modules/**"
}'Systeminformationen
Werkzeug | Parameter | Rückgaben |
get_system_info | keiner | Umfassende Systemdetails |
Widerrufsfolgen:
{
"working_directory": "/path/to/project",
"system": {
"os", "os_version", "architecture", "python_version"
},
"wifi_network": "MyWiFi",
"cpu": {
"physical_cores", "logical_cores", "total_cpu_usage"
},
"memory": { "total", "available", "used_percentage" },
"disk": { "total", "free", "used_percentage" },
"mac_details": { // Only present on macOS
"model": "Mac mini",
"chip": "Apple M2",
"serial_number": "XXX"
}
}Bietet wichtige Systeminformationen in einem übersichtlichen, lesbaren Format.
CLI-Nutzung:
# Get system information
skydeckai-code-cli --tool get_system_infoBildschirmkontext und Bildtools
get_active_apps
Gibt eine Liste der derzeit aktiven Anwendungen auf dem System des Benutzers zurück.
{
"with_details": true
}Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
mit_Details | Boolescher Wert | NEIN | Ob zusätzliche Details zu jeder Anwendung eingeschlossen werden sollen (Standard: „false“) |
Widerrufsfolgen:
{
"success": true,
"platform": "macos",
"app_count": 12,
"apps": [
{
"name": "Firefox",
"has_windows": true,
"window_count": 3,
"visible_windows": [
{ "name": "GitHub - Mozilla Firefox", "width": 1200, "height": 800 }
]
},
{
"name": "VSCode",
"has_windows": true
}
]
}Dieses Tool bietet wertvolle Informationen zu den Anwendungen, die derzeit auf dem System des Benutzers ausgeführt werden, und kann so dazu beitragen, relevantere Hilfe bereitzustellen.
verfügbare_Fenster abrufen
Gibt detaillierte Informationen zu allen verfügbaren Fenstern zurück, die derzeit auf dem Bildschirm des Benutzers angezeigt werden.
{}Widerrufsfolgen:
{
"success": true,
"platform": "macos",
"count": 8,
"windows": [
{
"id": 42,
"title": "Document.txt - Notepad",
"app": "Notepad",
"visible": true
},
{
"title": "Terminal",
"app": "Terminal",
"visible": true,
"active": true
}
]
}Dieses Tool hilft zu verstehen, was auf dem Bildschirm des Benutzers sichtbar ist, und kann für kontextbezogene Unterstützung verwendet werden.
Screenshot erstellen
Erstellt einen Screenshot des Benutzerbildschirms oder eines bestimmten Fensters.
{
"output_path": "screenshots/capture.png",
"capture_mode": {
"type": "named_window",
"window_name": "Visual Studio Code"
}
}Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
Ausgabepfad | Schnur | NEIN | Pfad, in dem der Screenshot gespeichert werden soll (Standard: generierter Pfad) |
Capture-Modus | Objekt | NEIN | Gibt an, was erfasst werden soll |
capture_mode.type | Schnur | NEIN | Art des Screenshots: „vollständig“, „aktives Fenster“ oder „benanntes Fenster“ (Standard: „vollständig“) |
Capture_Mode.Fenstername | Schnur | NEIN | Name des zu erfassenden Fensters (erforderlich, wenn der Typ „named_window“ ist) |
Widerrufsfolgen:
{
"success": true,
"path": "/path/to/screenshots/capture.png"
}Dieses Tool erfasst Screenshots zur Visualisierung, zum Debuggen oder für kontextbezogene Unterstützung.
Bilddatei lesen
Liest eine Bilddatei aus dem Dateisystem und gibt ihren Inhalt als Base64-codierte Zeichenfolge zurück.
{
"path": "images/logo.png"
}Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
Weg | Schnur | Ja | Pfad zur zu lesenden Bilddatei |
maximale Größe | ganze Zahl | NEIN | Maximale Dateigröße in Bytes (Standard: 100 MB) |
Gibt zurück: Base64-codierte Bilddaten, die angezeigt oder verarbeitet werden können.
Dieses Tool unterstützt gängige Bildformate wie PNG, JPEG, GIF und WebP und passt die Größe von Bildern automatisch für eine optimale Anzeige an.
Webtools
web_fetch
Ruft Inhalte von einer URL ab und speichert sie optional in einer Datei.
{
"url": "https://api.github.com/users/octocat",
"headers": {
"Accept": "application/json"
},
"timeout": 15,
"save_to_file": "downloads/octocat.json",
"convert_html_to_markdown": true
}Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
URL | Schnur | Ja | URL zum Abrufen von Inhalten (nur http/https) |
Überschriften | Objekt | NEIN | Optionale HTTP-Header, die in die Anfrage aufgenommen werden sollen |
Time-out | ganze Zahl | NEIN | Maximale Wartezeit auf eine Antwort (Standard: 10 s) |
in Datei speichern | Schnur | NEIN | Pfad zum Speichern des Antwortinhalts (innerhalb des zulässigen Verzeichnisses) |
HTML in Markdown konvertieren | Boolescher Wert | NEIN | Wenn „true“, wird HTML-Inhalt zur besseren Lesbarkeit in Markdown konvertiert (Standard: „true“) |
Rückgabe: Antwortinhalt als Text mit HTTP-Statuscode und Größeninformationen. Bei binären Inhalten werden Metadaten zurückgegeben und auf Anfrage in einer Datei gespeichert. Wenn convert_html_to_markdown aktiviert ist, wird HTML-Inhalt zur besseren Lesbarkeit automatisch in das Markdown-Format konvertiert.
Mit diesem Tool können Sie auf Web-APIs zugreifen, Dokumentationen abrufen oder Inhalte aus dem Web herunterladen, wobei Größenbeschränkungen (max. 10 MB) und Sicherheitseinschränkungen eingehalten werden.
CLI-Nutzung:
# Fetch JSON from an API
skydeckai-code-cli --tool web_fetch --args '{
"url": "https://api.github.com/users/octocat",
"headers": {"Accept": "application/json"}
}'
# Download content to a file
skydeckai-code-cli --tool web_fetch --args '{
"url": "https://github.com/github/github-mcp-server/blob/main/README.md",
"save_to_file": "downloads/readme.md"
}'
# Fetch a webpage and convert to markdown for better readability
skydeckai-code-cli --tool web_fetch --args '{
"url": "https://example.com",
"convert_html_to_markdown": true
}'Websuche
Führt eine robuste Websuche mit mehreren Suchmaschinen durch und gibt präzise, relevante Ergebnisse zurück.
{
"query": "latest python release features",
"num_results": 8,
"convert_html_to_markdown": true,
"search_engine": "bing"
}Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
Abfrage | Schnur | Ja | Die zu verarbeitende Suchanfrage. Für bessere Ergebnisse sollten Sie spezifisch sein. |
Anzahl_Ergebnisse | ganze Zahl | NEIN | Maximale Anzahl der zurückzugebenden Suchergebnisse (Standard: 10, Max: 20) |
HTML in Markdown konvertieren | Boolescher Wert | NEIN | Wenn „true“, wird der Inhalt zur besseren Lesbarkeit von HTML in Markdown konvertiert (Standard: „true“) |
Suchmaschine | Schnur | NEIN | Gibt an, welche Suchmaschine verwendet werden soll: „auto“ (Standard), „bing“ oder „duckduckgo“ |
Gibt eine Liste der Suchergebnisse im Markdown-Format zurück, einschließlich Titel, URLs und Snippets für jedes Ergebnis. Die Ergebnisse werden dedupliziert und zur leichteren Lesbarkeit hierarchisch angeordnet.
Dieses Tool verwendet einen Multi-Engine-Ansatz und testet verschiedene Suchmaschinen mit unterschiedlichen Analysestrategien, um zuverlässige Ergebnisse zu gewährleisten. Sie können eine bevorzugte Suchmaschine angeben. Einige Suchmaschinen blockieren jedoch möglicherweise den automatisierten Zugriff. In diesem Fall greift das Tool bei Auswahl von „Auto“ auf alternative Suchmaschinen zurück.
CLI-Nutzung:
# Search with default settings (auto engine selection)
skydeckai-code-cli --tool web_search --args '{
"query": "latest python release features"
}'
# Try DuckDuckGo if you want alternative results
skydeckai-code-cli --tool web_search --args '{
"query": "machine learning frameworks comparison",
"search_engine": "duckduckgo"
}'
# Use Bing for reliable results
skydeckai-code-cli --tool web_search --args '{
"query": "best programming practices 2023",
"search_engine": "bing"
}'Hilfsprogramme
batch_tools
Führen Sie mehrere Toolaufrufe in einer einzigen Anfrage mit paralleler Ausführung aus, wenn möglich.
{
"description": "Setup new project",
"sequential": true,
"invocations": [
{
"tool": "create_directory",
"arguments": {
"path": "src"
}
},
{
"tool": "write_file",
"arguments": {
"path": "README.md",
"content": "# New Project\n\nThis is a new project."
}
},
{
"tool": "execute_shell_script",
"arguments": {
"script": "git init"
}
}
]
}Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
Beschreibung | Schnur | Ja | Kurzbeschreibung des Batch-Vorgangs |
sequentiell | Boolescher Wert | NEIN | Ob die Tools nacheinander ausgeführt werden sollen (Standard: „false“) |
Aufrufe | Array | Ja | Liste der auszuführenden Toolaufrufe |
Aufrufe[].tool | Schnur | Ja | Name des aufzurufenden Tools |
Aufrufe[].Argumente | Objekt | Ja | Argumente für das angegebene Werkzeug |
Rückgabe: Kombinierte Ergebnisse aller Toolaufrufe, gruppiert nach Tool mit Erfolgs-/Fehlerstatus. Die Ergebnisse werden in der ursprünglichen Aufrufreihenfolge mit eindeutigen Abschnittsüberschriften dargestellt.
Dieses Tool ermöglicht die effiziente Ausführung mehrerer Operationen in einer einzigen Anfrage. Wenn sequential auf „false“ (Standard) gesetzt ist, werden die Tools zur Leistungssteigerung parallel ausgeführt. Wenn sequential auf „true“ gesetzt ist, werden die Tools der Reihe nach ausgeführt. Bei einem Ausfall eines Tools wird die Ausführung abgebrochen.
WICHTIG : Alle Tools im Batch werden im selben Arbeitsverzeichnis ausgeführt. Wenn ein Tool ein Verzeichnis erstellt und ein nachfolgendes Tool in diesem Verzeichnis arbeiten muss, müssen Sie Folgendes tun:
Verwenden Sie Pfade relativ zum aktuellen Arbeitsverzeichnis (z. B. „project/src“ statt nur „src“), oder
Fügen Sie einen expliziten Toolaufruf zum Ändern von Verzeichnissen mit
update_allowed_directoryein.
CLI-Nutzung:
# Setup a new project with multiple steps in sequential order (using proper paths)
skydeckai-code-cli --tool batch_tools --args '{
"description": "Setup new project",
"sequential": true,
"invocations": [
{"tool": "create_directory", "arguments": {"path": "project"}},
{"tool": "create_directory", "arguments": {"path": "project/src"}},
{"tool": "write_file", "arguments": {"path": "project/README.md", "content": "# Project\n\nA new project."}}
]
}'
# Create nested structure using relative paths (without changing directory)
skydeckai-code-cli --tool batch_tools --args '{
"description": "Create project structure",
"sequential": true,
"invocations": [
{"tool": "create_directory", "arguments": {"path": "project/src"}},
{"tool": "create_directory", "arguments": {"path": "project/docs"}},
{"tool": "write_file", "arguments": {"path": "project/README.md", "content": "# Project"}}
]
}'
# Gather system information and take a screenshot (tasks can run in parallel)
skydeckai-code-cli --tool batch_tools --args '{
"description": "System diagnostics",
"sequential": false,
"invocations": [
{"tool": "get_system_info", "arguments": {}},
{"tool": "capture_screenshot", "arguments": {
"output_path": "diagnostics/screen.png",
"capture_mode": {
"type": "full"
}
}}
]
}'denken
Ein Tool für komplexes Denken und Brainstorming, ohne Änderungen am Repository vorzunehmen.
{
"thought": "Let me analyze the performance issue in the codebase:\n\n## Root Cause Analysis\n\n1. The database query is inefficient because:\n - It doesn't use proper indexing\n - It fetches more columns than needed\n - The JOIN operation is unnecessarily complex\n\n## Potential Solutions\n\n1. **Add database indexes**:\n - Create an index on the user_id column\n - Create a composite index on (created_at, status)\n\n2. **Optimize the query**:\n - Select only necessary columns\n - Rewrite the JOIN using a subquery\n - Add LIMIT clause for pagination\n\n3. **Add caching layer**:\n - Cache frequent queries using Redis\n - Implement cache invalidation strategy\n\nAfter weighing the options, solution #2 seems to be the simplest to implement with the highest impact."
}Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
Gedanke | Schnur | Ja | Ihre detaillierten Gedanken, Analysen oder Argumentation |
Gibt zurück: Ihre Gedanken im Markdown-Format mit einem Hinweis, dass dies eine Denkübung war.
Dieses Tool eignet sich hervorragend, um komplexe Probleme zu durchdenken, Lösungen zu finden oder Implementierungspläne zu erstellen, ohne tatsächliche Änderungen vorzunehmen. Es eignet sich hervorragend, um Ihren Denkprozess zu dokumentieren, verschiedene Ansätze zu bewerten oder eine mehrstufige Strategie zu planen, bevor Sie Maßnahmen ergreifen.
CLI-Nutzung:
# Analyze a bug and plan a fix
skydeckai-code-cli --tool think --args '{
"thought": "# Bug Analysis\n\n## Observed Behavior\nThe login endpoint returns a 500 error when email contains Unicode characters.\n\n## Root Cause\nThe database adapter is not properly encoding Unicode strings before constructing the SQL query.\n\n## Potential Fixes\n1. Update the database adapter to use parameterized queries\n2. Add input validation to reject Unicode in emails\n3. Encode email input manually before database operations\n\nFix #1 is the best approach as it solves the core issue and improves security."
}'
# Evaluate design alternatives
skydeckai-code-cli --tool think --args '{
"thought": "# API Design Options\n\n## REST vs GraphQL\nFor this use case, GraphQL would provide more flexible data fetching but adds complexity. REST is simpler and sufficient for our current needs.\n\n## Authentication Methods\nJWT-based authentication offers stateless operation and better scalability compared to session-based auth.\n\nRecommendation: Use REST with JWT authentication for the initial implementation."
}'Codeausführung
Code ausführen
Führt Code in verschiedenen Programmiersprachen mit Sicherheitsmaßnahmen und Einschränkungen aus.
{
"language": "python",
"code": "print('Hello, World!')",
"timeout": 5
}Unterstützte Sprachen:
Python (python3)
JavaScript (Node.js)
Rubin
PHP
Gehen
Rost
Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
Sprache | Schnur | Ja | Zu verwendende Programmiersprache |
Code | Schnur | Ja | Auszuführender Code |
Time-out | ganze Zahl | NEIN | Maximale Ausführungszeit (Standard: 5 s) |
CLI-Nutzung:
# Python example
skydeckai-code-cli --tool execute_code --args '{
"language": "python",
"code": "print(sum(range(10)))"
}'
# JavaScript example
skydeckai-code-cli --tool execute_code --args '{
"language": "javascript",
"code": "console.log(Array.from({length: 5}, (_, i) => i*2))"
}'
# Ruby example
skydeckai-code-cli --tool execute_code --args '{
"language": "ruby",
"code": "puts (1..5).reduce(:+)"
}'
# Go example
skydeckai-code-cli --tool execute_code --args '{
"language": "go",
"code": "fmt.Println(\"Hello, Go!\")"
}'Anforderungen:
Die jeweiligen Sprachlaufzeiten müssen installiert sein
Befehle müssen im Systempfad verfügbar sein
Richtige Berechtigungen für die Erstellung temporärer Dateien
⚠️ Sicherheitswarnung: Dieses Tool führt beliebigen Code auf Ihrem System aus. Immer:
Überprüfen Sie den Code vor der Ausführung gründlich
Verstehen Sie den Zweck und das erwartete Ergebnis des Codes
Führen Sie niemals nicht vertrauenswürdigen Code aus
Seien Sie sich der möglichen Systemauswirkungen bewusst
Überwachen der Ausführungsausgabe
führe Shell-Skript aus
Führt Shell-Skripte (bash/sh) mit Sicherheitsmaßnahmen und Einschränkungen aus.
{
"script": "echo \"Current directory:\" && pwd",
"timeout": 300
}Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
Skript | Schnur | Ja | Auszuführendes Shell-Skript |
Time-out | ganze Zahl | NEIN | Maximale Ausführungszeit (Standard: 300 s, Max: 600 s) |
CLI-Nutzung:
# List directory contents with details
skydeckai-code-cli --tool execute_shell_script --args '{
"script": "ls -la"
}'
# Find all Python files recursively
skydeckai-code-cli --tool execute_shell_script --args '{
"script": "find . -name \"*.py\" -type f"
}'
# Complex script with multiple commands
skydeckai-code-cli --tool execute_shell_script --args '{
"script": "echo \"System Info:\" && uname -a && echo \"\nDisk Usage:\" && df -h"
}'Merkmale:
Verwendet /bin/sh für maximale Kompatibilität zwischen Systemen
Wird innerhalb des zulässigen Verzeichnisses ausgeführt
Separate stdout- und stderr-Ausgabe
Korrekte Fehlerbehandlung und Timeout-Kontrollen
⚠️ Sicherheitswarnung: Dieses Tool führt beliebige Shell-Befehle auf Ihrem System aus. Immer:
Überprüfen Sie das Skript vor der Ausführung gründlich
Verstehen Sie den Zweck und das erwartete Ergebnis des Skripts
Führen Sie niemals nicht vertrauenswürdige Skripte aus
Seien Sie sich der möglichen Systemauswirkungen bewusst
Überwachen der Ausführungsausgabe
Konfiguration
Konfigurationsdatei: ~/.skydeckai_code/config.json
{
"allowed_directory": "/path/to/workspace"
}CLI-Nutzung
Grundlegende Befehlsstruktur:
skydeckai-code-cli --tool <tool_name> --args '<json_arguments>'
# List available tools
skydeckai-code-cli --list-tools
# Enable debug output
skydeckai-code-cli --debug --tool <tool_name> --args '<json_arguments>'Debuggen
Verwenden Sie MCP Inspector zum Debuggen:
npx @modelcontextprotocol/inspector runSicherheit
Vorgänge sind auf das konfigurierte zulässige Verzeichnis beschränkt
Verhinderung der Pfaddurchquerung
Beibehaltung der Dateiberechtigungen
Sichere Bedienung
Kommende Funktionen
GitHub-Tools:
PR-Beschreibungsgenerator
Code-Überprüfung
Aktionsmanager
Pivotal Tracker-Tools:
Story-Generator
Story-Manager
Entwicklungsstatus
Derzeit in aktiver Entwicklung. Funktionen und API können sich ändern.
Lizenz
Apache-Lizenz 2.0 – siehe LIZENZ