Código de SkyDeckAI
Un servidor MCP que proporciona un conjunto completo de herramientas para flujos de trabajo de desarrollo basados en IA. Sus funciones incluyen operaciones del sistema de archivos, análisis de código mediante tree-sitter para múltiples lenguajes de programación, ejecución de código, obtención de contenido web con conversión de HTML a Markdown, búsqueda web multimotor, búsqueda de contenido de código y recuperación de información del sistema. Diseñado para mejorar la capacidad de la IA para asistir en las tareas de desarrollo de software, proporcionando acceso directo a recursos locales y remotos.
Anteriormente conocido como MCP-Server-AIDD
Este servidor mcp se conocía anteriormente como mcp-server-aidd
. Se renombró skydeckai-code
para atribuir al equipo de SkyDeck.ai la creación de esta aplicación junto con East Agile . Pero lo más importante es que nos dimos cuenta de que el término "Desarrollo Impulsado por IA" (AIDD) no estaba teniendo éxito. La gente no entendía a simple vista de qué se trataba. Ni tampoco los LLM. "Código" era mucho más intuitivo. Y la intuición lingüística es importante en el mundo de la IA agentica.
Instalación
Configuración del escritorio de Claude
Añade a tu claude_desktop_config.json
:
Aplicación SkyDeck AI Helper
Si está utilizando la aplicación SkyDeck AI Helper, puede buscar "SkyDeckAI Code" e instalarlo.
Características principales
- Operaciones del sistema de archivos (leer, escribir, editar, mover, copiar, eliminar)
- Gestión y navegación de directorios
- Análisis de código multilingüe mediante tree-sitter
- Búsqueda de contenido de código con coincidencia de patrones de expresiones regulares
- Ejecución de código en varios idiomas con medidas de seguridad
- Obtención de contenido web desde API y sitios web con conversión de HTML a Markdown
- Búsqueda web multimotor con mecanismos de respaldo confiables
- Operaciones por lotes para ejecución de herramientas en paralelo y en serie
- Controles de seguridad con límites de espacio de trabajo configurables
- Herramientas de captura de pantalla y contexto de pantalla
- Herramientas de manejo de imágenes
Herramientas disponibles (26)
Categoría | Nombre de la herramienta | Descripción |
---|---|---|
Sistema de archivos | get_allowed_directory | Obtener la ruta del directorio de trabajo actual |
update_allowed_directory | Cambiar el directorio de trabajo | |
create_directory | Crear un nuevo directorio o directorios anidados | |
write_file | Crear o sobrescribir un archivo con contenido nuevo | |
edit_file | Realizar ediciones basadas en líneas en un archivo de texto | |
read_file | Leer el contenido de uno o más archivos | |
list_directory | Obtener listado de archivos y directorios | |
move_file | Mover o renombrar un archivo o directorio | |
copy_file | Copiar un archivo o directorio a una nueva ubicación | |
search_files | Buscar archivos que coincidan con un patrón de nombre | |
delete_file | Eliminar un archivo o un directorio vacío | |
get_file_info | Obtener metadatos detallados de los archivos | |
directory_tree | Obtenga una vista de árbol recursiva de directorios | |
read_image_file | Leer un archivo de imagen como datos base64 | |
Herramientas de código | codebase_mapper | Analizar la estructura del código en todos los archivos |
search_code | Buscar patrones de texto en archivos de código | |
execute_code | Ejecutar código en varios idiomas | |
execute_shell_script | Ejecutar scripts de shell/bash | |
Herramientas web | web_fetch | Obtener contenido de una URL |
web_search | Realizar una búsqueda web | |
Herramientas de pantalla | capture_screenshot | Tomar una captura de pantalla de la pantalla o ventana |
get_active_apps | Lista de aplicaciones en ejecución | |
get_available_windows | Listar todas las ventanas abiertas | |
Sistema | get_system_info | Obtenga información detallada del sistema |
Utilidad | batch_tools | Ejecutar múltiples operaciones de herramientas juntas |
think | Documentar el razonamiento sin realizar cambios |
Documentación detallada de la herramienta
Operaciones básicas con archivos
Herramienta | Parámetros | Devoluciones |
---|---|---|
leer_archivo | archivos: [{ruta: cadena, desplazamiento?: entero, límite?: entero}] | Contenido del archivo (uno o varios archivos) |
escribir_archivo | ruta: cadena, contenido: cadena | Confirmación de éxito |
mover_archivo | origen: cadena, destino: cadena | Confirmación de éxito |
copiar_archivo | origen: cadena, destino: cadena, recursivo?: booleano | Confirmación de éxito |
eliminar_archivo | ruta: cadena | Confirmación de éxito |
obtener_información_del_archivo | ruta: cadena | Metadatos del archivo (tamaño, marcas de tiempo, permisos) |
Uso de CLI:
Operaciones complejas con archivos
archivo_de_edición
Edición de archivos basada en patrones con soporte de vista previa:
Devoluciones: Diferencia de cambios o vista previa en modo de ejecución en seco.
Operaciones de directorio
Herramienta | Parámetros | Devoluciones |
---|---|---|
obtener_directorio_permitido | ninguno | Ruta de directorio permitida actual |
actualización_directorio_permitido | directorio: cadena (ruta absoluta) | Confirmación de éxito |
directorio_de_lista | ruta: cadena | Lista de contenidos del directorio |
crear_directorio | ruta: cadena | Confirmación de éxito |
archivos de búsqueda | patrón: cadena, ruta?: cadena, include_hidden?: booleano | Lista de archivos coincidentes |
La herramienta search_files
busca archivos por patrón de nombre, mientras que la herramienta search_code
busca dentro del contenido del archivo usando expresiones regulares. Use search_files
para buscar archivos con nombres o extensiones específicos, y search_code
para buscar patrones de texto específicos dentro de los archivos.
árbol de directorios
Genera la estructura de directorio completa:
Devuelve: Estructura de árbol JSON del contenido del directorio.
Uso de CLI:
Análisis de código
mapeador de base de código
Analiza la estructura del código fuente:
Devoluciones:
- Clases y sus métodos
- Funciones y parámetros
- Estructura del módulo
- Estadísticas de organización del código
- Relaciones de herencia
Idiomas admitidos:
- Python (.py)
- JavaScript (.js/.jsx, .mjs, .cjs)
- TypeScript (.ts/.tsx)
- Java (.java)
- C++ (.cpp, .hpp, .cc)
- Rubí (.rb, .rake)
- Ir (.go)
- Óxido (.rs)
- PHP (.php)
- C# (.cs)
- Kotlin (.kt, .kts)
Uso de CLI:
código de búsqueda
Herramienta de búsqueda rápida de contenido mediante expresiones regulares:
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
patrones | matriz de cadenas | Sí | Lista de patrones de expresiones regulares para buscar en el contenido del archivo |
incluir | cadena | No | Patrón de archivo a incluir (sintaxis glob, predeterminado: "*") |
excluir | cadena | No | Patrón de archivo a excluir (sintaxis glob, predeterminado: "") |
resultados máximos | entero | No | Máximo de resultados a devolver por patrón (predeterminado: 100) |
distingue mayúsculas y minúsculas | booleano | No | Si la búsqueda distingue entre mayúsculas y minúsculas (valor predeterminado: falso) |
camino | cadena | No | Directorio base desde el cual buscar (predeterminado: ".") |
Devoluciones: Líneas coincidentes agrupadas por archivo con números de línea, ordenadas por hora de modificación del archivo con los archivos más nuevos primero.
Esta herramienta utiliza ripgrep cuando está disponible para un rendimiento óptimo, con una implementación alternativa de Python. Es ideal para encontrar patrones de código específicos, como declaraciones de funciones, importaciones, usos de variables o gestión de errores.
Uso de CLI:
Información del sistema
Herramienta | Parámetros | Devoluciones |
---|---|---|
obtener_información_del_sistema | ninguno | Detalles completos del sistema |
Devoluciones:
Proporciona información esencial del sistema en un formato limpio y legible.
Uso de CLI:
Contexto de pantalla y herramientas de imagen
obtener_aplicaciones_activas
Devuelve una lista de aplicaciones actualmente activas en el sistema del usuario.
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
con_detalles | booleano | No | Si se deben incluir detalles adicionales sobre cada aplicación (predeterminado: falso) |
Devoluciones:
Esta herramienta proporciona un contexto valioso sobre las aplicaciones que se están ejecutando actualmente en el sistema del usuario, lo que puede ayudar a brindar asistencia más relevante.
obtener_ventanas_disponibles
Devuelve información detallada sobre todas las ventanas disponibles que se muestran actualmente en la pantalla del usuario.
Devoluciones:
Esta herramienta ayuda a comprender lo que está visible en la pantalla del usuario y puede utilizarse para brindar asistencia según el contexto.
capturar_captura_de_pantalla
Captura una captura de pantalla de la pantalla del usuario o de una ventana específica.
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
ruta_de_salida | cadena | No | Ruta donde se debe guardar la captura de pantalla (predeterminado: ruta generada) |
modo de captura | objeto | No | Especifica qué capturar |
modo_de_captura.tipo | cadena | No | Tipo de captura de pantalla: 'completa', 'ventana_activa' o 'ventana_con_nombre' (predeterminado: 'completa') |
modo_de_captura.nombre_de_ventana | cadena | No | Nombre de la ventana a capturar (obligatorio cuando el tipo es 'named_window') |
Devoluciones:
Esta herramienta captura capturas de pantalla para visualización, depuración o asistencia según el contexto.
leer archivo de imagen
Lee un archivo de imagen del sistema de archivos y devuelve su contenido como una cadena codificada en base64.
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
camino | cadena | Sí | Ruta al archivo de imagen para leer |
tamaño máximo | entero | No | Tamaño máximo de archivo en bytes (predeterminado: 100 MB) |
Devuelve: datos de imagen codificados en Base64 que se pueden mostrar o procesar.
Esta herramienta admite formatos de imagen comunes como PNG, JPEG, GIF y WebP, y redimensiona automáticamente las imágenes para una visualización óptima.
Herramientas web
búsqueda web
Obtiene contenido de una URL y, opcionalmente, lo guarda en un archivo.
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
URL | cadena | Sí | URL para obtener el contenido (sólo http/https) |
encabezados | objeto | No | Encabezados HTTP opcionales para incluir en la solicitud |
se acabó el tiempo | entero | No | Tiempo máximo de espera para la respuesta (predeterminado: 10 s) |
guardar_en_archivo | cadena | No | Ruta para guardar el contenido de la respuesta (dentro del directorio permitido) |
convertir_html_a_markdown | booleano | No | Cuando es verdadero, convierte el contenido HTML a Markdown para una mejor legibilidad (valor predeterminado: verdadero) |
Devuelve: El contenido de la respuesta se muestra como texto con el código de estado HTTP y la información del tamaño. Para el contenido binario, devuelve metadatos y los guarda en un archivo si se solicita. Al habilitar convert_html_to_markdown, el contenido HTML se convierte automáticamente a formato Markdown para una mejor legibilidad.
Esta herramienta se puede utilizar para acceder a API web, obtener documentación o descargar contenido de la web respetando los límites de tamaño (10 MB máximo) y las restricciones de seguridad.
Uso de CLI:
búsqueda web
Realiza una búsqueda web sólida utilizando múltiples motores de búsqueda y devuelve resultados concisos y relevantes.
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
consulta | cadena | Sí | La consulta de búsqueda a procesar. Sea específico para obtener mejores resultados. |
núm_resultados | entero | No | Número máximo de resultados de búsqueda a devolver (predeterminado: 10, máximo: 20) |
convertir_html_a_markdown | booleano | No | Cuando sea verdadero, el contenido se convertirá de HTML a Markdown para una mejor legibilidad (valor predeterminado: verdadero). |
motor de búsqueda | cadena | No | Especifica qué motor de búsqueda utilizar: "auto" (predeterminado), "bing" o "duckduckgo" |
Devuelve: Una lista de resultados de búsqueda en formato Markdown, que incluye títulos, URL y fragmentos de cada resultado. Los resultados se deduplican y se organizan jerárquicamente para facilitar su lectura.
Esta herramienta utiliza un enfoque multimotor que prueba diferentes motores de búsqueda con diversas estrategias de análisis para garantizar resultados fiables. Puede especificar un motor preferido, pero algunos motores pueden bloquear el acceso automático. En ese caso, la herramienta recurrirá a motores alternativos al seleccionar "automático".
Uso de CLI:
Herramientas de utilidad
herramientas_de_lote
Ejecute múltiples invocaciones de herramientas en una sola solicitud con ejecución paralela cuando sea posible.
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
descripción | cadena | Sí | Breve descripción de la operación por lotes |
secuencial | booleano | No | Si se deben ejecutar las herramientas en secuencia (predeterminado: falso) |
invocaciones | formación | Sí | Lista de invocaciones de herramientas para ejecutar |
invocaciones[].tool | cadena | Sí | Nombre de la herramienta a invocar |
invocaciones[].argumentos | objeto | Sí | Argumentos para la herramienta especificada |
Devuelve: Resultados combinados de todas las invocaciones de herramientas, agrupados por herramienta con su estado de éxito/error. Los resultados se presentan en el orden original de invocación con encabezados de sección claros.
Esta herramienta permite la ejecución eficiente de múltiples operaciones en una sola solicitud. Si sequential
es falso (valor predeterminado), las herramientas se ejecutan en paralelo para un mejor rendimiento. Si sequential
es verdadero, las herramientas se ejecutan en orden y, si alguna falla, la ejecución se detiene.
IMPORTANTE : Todas las herramientas del lote se ejecutan en el mismo contexto de directorio de trabajo. Si una herramienta crea un directorio y otra herramienta posterior necesita trabajar dentro de él, debe:
- Utilice rutas relativas al directorio de trabajo actual (por ejemplo, "proyecto/src" en lugar de solo "src"), o
- Incluya una invocación de herramienta explícita para cambiar directorios usando
update_allowed_directory
Uso de CLI:
pensar
Una herramienta para el razonamiento complejo y la lluvia de ideas sin realizar cambios en el repositorio.
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
pensamiento | cadena | Sí | Sus pensamientos detallados, análisis o proceso de razonamiento |
Devoluciones: Sus pensamientos formateados como Markdown, con una nota que indica que se trató de un ejercicio de reflexión.
Esta herramienta es útil para analizar problemas complejos, generar soluciones o diseñar planes de implementación sin realizar cambios. Es una excelente manera de documentar el proceso de razonamiento, evaluar diferentes enfoques o planificar una estrategia de varios pasos antes de actuar.
Uso de CLI:
Ejecución de código
código_de_ejecución
Ejecuta código en varios lenguajes de programación con medidas de seguridad y restricciones.
Idiomas admitidos:
- Python (python3)
- JavaScript (Node.js)
- Rubí
- PHP
- Ir
- Óxido
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
idioma | cadena | Sí | Lenguaje de programación a utilizar |
código | cadena | Sí | Código a ejecutar |
se acabó el tiempo | entero | No | Tiempo máximo de ejecución (predeterminado: 5 s) |
Uso de CLI:
Requisitos:
- Se deben instalar los entornos de ejecución de idiomas respectivos
- Los comandos deben estar disponibles en la ruta del sistema
- Permisos adecuados para la creación de archivos temporales
⚠️ Advertencia de seguridad: Esta herramienta ejecuta código arbitrario en su sistema. Siempre:
- Revisar el código a fondo antes de ejecutarlo
- Comprender el propósito del código y el resultado esperado
- Nunca ejecute código que no sea de confianza
- Tenga en cuenta los posibles impactos en el sistema
- Supervisar la salida de la ejecución
ejecutar_script_de_shell
Ejecuta scripts de shell (bash/sh) con medidas de seguridad y restricciones.
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
guion | cadena | Sí | Script de shell para ejecutar |
se acabó el tiempo | entero | No | Tiempo máximo de ejecución (predeterminado: 300 s, máximo: 600 s) |
Uso de CLI:
Características:
- Utiliza /bin/sh para lograr la máxima compatibilidad entre sistemas
- Se ejecuta dentro del directorio permitido
- Salida stdout y stderr separadas
- Manejo adecuado de errores y controles de tiempo de espera
⚠️ Advertencia de seguridad: Esta herramienta ejecuta comandos de shell arbitrarios en su sistema. Siempre:
- Revise el script a fondo antes de ejecutarlo
- Comprender el propósito del guión y el resultado esperado
- Nunca ejecute scripts que no sean de confianza
- Tenga en cuenta los posibles impactos en el sistema
- Supervisar la salida de la ejecución
Configuración
Archivo de configuración: ~/.skydeckai_code/config.json
Uso de la CLI
Estructura básica de comando:
Depuración
Utilice MCP Inspector para depurar:
Seguridad
- Operaciones restringidas al directorio permitido configurado
- Prevención de recorrido de ruta
- Preservación de permisos de archivos
- Manejo seguro de operaciones
Próximas funciones
- Herramientas de GitHub:
- Generador de descripciones de relaciones públicas
- Revisión de código
- Administrador de acciones
- Herramientas de Pivotal Tracker:
- Generador de historias
- Administrador de historias
Estado de desarrollo
Actualmente en desarrollo. Las características y la API pueden cambiar.
Licencia
Licencia Apache 2.0 - ver LICENCIA
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
AiDD MCP Server proporciona una interfaz segura para que los agentes de IA realicen operaciones del sistema de archivos y análisis de código, lo que mejora los flujos de trabajo de desarrollo asistidos por IA en múltiples lenguajes de programación.
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn MCP server that implements Claude Code-like functionality, allowing the AI to analyze codebases, modify files, execute commands, and manage projects through direct file system interactions.Last updated -173PythonMIT License
- AsecurityFlicenseAqualityAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.Last updated -1129TypeScript
- -securityAlicense-qualityA comprehensive MCP (Model Context Protocol) server for file system operations, providing Claude and other AI assistants with access to local files and directories.Last updated -PythonMIT License
- -securityAlicense-qualityAn MCP server that enables AI applications to interact with DiceDB databases.Last updated -4GoMIT License