local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Supports code analysis using tree-sitter for C++ files (.cpp, .hpp, .cc)
Provides Git operations including repository initialization, status checking, adding files, resetting, checkout, commit, diff, and log viewing
Upcoming features include GitHub tools such as PR Description Generator, Code Review, and Actions Manager
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, operaciones Git, 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, detección de linting 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
- Detección de errores y pelusa de código para Python y JavaScript/TypeScript
- 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
- Operaciones de Git (estado, diferencia, confirmación, gestión de ramas, clonación)
- 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
Operaciones básicas con archivos
Herramienta | Parámetros | Devoluciones |
---|---|---|
leer_archivo | ruta: cadena, desplazamiento?: entero, límite?: entero | Contenido del archivo (total o parcial) |
leer_múltiples_archivos | rutas: cadena[] | Contenido de varios archivos con encabezados |
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 común:
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 mediante 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 común:
Operaciones de Git
Herramienta | Parámetros | Devoluciones |
---|---|---|
git_init | ruta: cadena, rama_inicial?: cadena | Estado de inicialización del repositorio |
estado de git | repo_path: cadena | Estado del directorio de trabajo |
git_add | repo_path: cadena, archivos: cadena[] | Confirmación de puesta en escena |
git_reset | repo_path: cadena | Confirmación de desorganización |
git_checkout | repo_path: cadena, nombre_de_rama: cadena | Confirmación de cambio de rama |
git_crear_rama | repo_path: cadena, branch_name: cadena | Confirmación de creación de rama |
clon de git | url: cadena, ruta_de_destino: cadena, rama?: cadena | Confirmación de clonación |
git_diff_unstaged | repo_path: cadena | Diferencia entre cambios no programados |
git_diff_staged | repo_path: cadena | Los cambios por etapas diff |
git_show | repo_path: cadena, commit_hash: cadena | Detalles de una confirmación específica |
Operaciones complejas de Git
confirmación git
Devuelve: hash de confirmación y confirmación.
git_diff
Devoluciones: Salida de diferencia detallada que muestra todos los cambios entre la rama actual y la rama o confirmación de destino especificada.
registro de git
Devuelve: Matriz de entradas de confirmación con hash, autor, fecha y mensaje.
Uso común:
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)
comprobar_pelusa
Comprueba si hay problemas de linting en tu código base utilizando herramientas de linting nativas:
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
camino | cadena | No | Directorio o archivo a analizar (predeterminado: ".") |
idiomas | formación | No | Lista de idiomas para analizar (detecta automáticamente si está vacía) |
borras | objeto | No | Configuración para linters específicos: se pueden usar valores booleanos o argumentos CLI |
problemas máximos | entero | No | Número máximo de ejemplares a devolver (predeterminado: 100, 0 para ilimitado) |
Devuelve: Un informe detallado de los problemas de linting detectados en el código base, incluyendo rutas de archivo, números de línea, descripciones de los problemas y niveles de gravedad. Los problemas se agrupan por archivo y se ordenan por gravedad.
Idiomas y linters compatibles:
- Python: pylint, flake8 (utiliza automáticamente lo que está disponible)
- JavaScript/TypeScript: ESLint
- Dart/Flutter: dart_analyze (también informa errores de compilación)
Ejemplo de uso:
código de búsqueda
Herramienta de búsqueda rápida de contenido mediante expresiones regulares:
Parámetros:
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
patrón | cadena | Sí | Patrón de expresión regular 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 (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.
Ejemplo de uso:
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.
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.
Ejemplo de uso:
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".
Ejemplo de uso:
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
predeterminado es "false", las herramientas se ejecutan en paralelo para un mejor rendimiento. Si sequential
es "true", 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
Ejemplo de uso:
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.
Ejemplo de uso:
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) |
Ejemplo de uso:
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) |
Ejemplo de uso:
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.
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.