SkyDeckAI Code

Um kit de ferramentas abrangente para desenvolvimento orientado por IA, oferecendo operações de sistema de arquivos, análise de código, execução, pesquisa na web e recuperação de informações do sistema.

Documentação

MseeP.ai Security Assessment Badge

SkyDeckAI Code

Um servidor MCP que fornece um conjunto abrangente de ferramentas para fluxos de trabalho de desenvolvimento orientados por IA. Os recursos incluem operações de sistema de arquivos, análise de código usando tree-sitter para múltiplas linguagens de programação, execução de código, busca de conteúdo web com conversão de HTML para markdown, busca web multi-mecanismo, busca de conteúdo de código e recuperação de informações do sistema. Projetado para aprimorar a capacidade da IA de auxiliar em tarefas de desenvolvimento de software, fornecendo acesso direto a recursos locais e remotos.

Anteriormente Conhecido Como MCP-Server-AIDD

Este servidor MCP era anteriormente conhecido como mcp-server-aidd. Foi renomeado para skydeckai-code para creditar a equipe da SkyDeck.ai pela criação deste aplicativo junto com a East Agile. Mas, mais importante, percebemos que o termo Desenvolvimento Orientado por IA (AIDD) simplesmente não estava pegando. As pessoas não entendiam à primeira vista do que se tratava. E nem os LLMs. "Code" era muito mais intuitivo. E a intuitividade linguística é importante no mundo da IA agêntica.

Verified on MseeP

Instalação

# Using uvx
uvx skydeckai-code

Configuração do Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
    "mcpServers": {
        "skydeckai-code": {
            "command": "uvx",
            "args": ["skydeckai-code"]
        }
    }
}

Aplicativo Auxiliar SkyDeck AI

Se você estiver usando o aplicativo auxiliar MseeP AI, pode pesquisar por "SkyDeckAI Code" e instalá-lo.

MseeP AI Helper App

Principais Recursos

  • Operações de sistema de arquivos (ler, escrever, editar, mover, copiar, excluir)
  • Gerenciamento e navegação de diretórios
  • Análise de código multi-linguagem usando tree-sitter
  • Busca de conteúdo de código com correspondência de padrões regex
  • Execução de código multi-linguagem com medidas de segurança
  • Busca de conteúdo web de APIs e sites com conversão de HTML para markdown
  • Busca web multi-mecanismo com mecanismos de fallback confiáveis
  • Operações em lote para execução paralela e serial de ferramentas
  • Controles de segurança com limites de espaço de trabalho configuráveis
  • Ferramentas de captura de tela e contexto de tela
  • Ferramentas de manipulação de imagens

Ferramentas Disponíveis (29)

CategoriaNome da FerramentaDescrição
Sistema de Arquivosget_allowed_directoryObter o caminho do diretório de trabalho atual
update_allowed_directoryAlterar o diretório de trabalho
create_directoryCriar um novo diretório ou diretórios aninhados
write_fileCriar ou sobrescrever um arquivo com novo conteúdo
edit_fileFazer edições baseadas em linhas em um arquivo de texto
read_fileLer o conteúdo de um ou mais arquivos
list_directoryObter listagem de arquivos e diretórios
move_fileMover ou renomear um arquivo ou diretório
copy_fileCopiar um arquivo ou diretório para um novo local
search_filesBuscar arquivos que correspondem a um padrão de nome
delete_fileExcluir um arquivo ou diretório vazio
get_file_infoObter metadados detalhados do arquivo
directory_treeObter uma visão em árvore recursiva dos diretórios
read_image_fileLer um arquivo de imagem como dados base64
Ferramentas de Códigocodebase_mapperAnalisar a estrutura do código em vários arquivos
search_codeEncontrar padrões de texto em arquivos de código
execute_codeExecutar código em vários idiomas
execute_shell_scriptExecutar scripts shell/bash
Ferramentas Webweb_fetchObter conteúdo de uma URL
web_searchRealizar uma busca web
Ferramentas de Telacapture_screenshotTirar uma captura de tela da tela ou janela
get_active_appsListar aplicativos em execução
get_available_windowsListar todas as janelas abertas
Sistemaget_system_infoObter informações detalhadas do sistema
Utilitáriobatch_toolsExecutar múltiplas operações de ferramentas juntas
thinkDocumentar raciocínio sem fazer alterações
Tarefastodo_readLer a lista de tarefas atual do espaço de trabalho
todo_writeSubstituir toda a lista de tarefas com validação
todo_updateAtualizar item de tarefa específico por ID

Documentação Detalhada das Ferramentas

Operações Básicas de Arquivos

FerramentaParâmetrosRetornos
read_filefiles: [{path: string, offset?: integer, limit?: integer}]Conteúdo do arquivo (arquivo único ou múltiplos)
write_filepath: string, content: stringConfirmação de sucesso
move_filesource: string, destination: stringConfirmação de sucesso
copy_filesource: string, destination: string, recursive?: booleanConfirmação de sucesso
delete_filepath: stringConfirmação de sucesso
get_file_infopath: stringMetadados do arquivo (tamanho, timestamps, permissões)

Operações Complexas de Arquivos

edit_file

Edição de arquivos baseada em padrões com suporte a pré-visualização:

{
    "path": "src/main.py",
    "edits": [
        {
            "oldText": "def old_function():",
            "newText": "def new_function():"
        }
    ],
    "dryRun": false,
    "options": {
        "partialMatch": true
    }
}

Retorna: Diff das alterações ou pré-visualização no modo de execução seca.

Operações de Diretório

FerramentaParâmetrosRetornos
get_allowed_directorynenhumCaminho atual do diretório permitido
update_allowed_directorydirectory: string (caminho absoluto)Confirmação de sucesso
list_directorypath: stringLista de conteúdos do diretório
create_directorypath: stringConfirmação de sucesso
search_filespattern: string, path?: string, include_hidden?: booleanLista de arquivos correspondentes

A ferramenta search_files busca arquivos por padrão de nome, enquanto a ferramenta search_code busca dentro do conteúdo dos arquivos usando regex. Use search_files ao procurar arquivos com nomes ou extensões específicas, e search_code ao buscar padrões de texto específicos dentro dos arquivos.

directory_tree

Gera a estrutura completa do diretório:

{
    "path": "src",
    "include_hidden": false
}

Retorna: Estrutura em árvore JSON do conteúdo do diretório.

Análise de Código

codebase_mapper

Analisa a estrutura do código-fonte:

{
    "path": "src"
}

Retorna:

  • Classes e seus métodos
  • Funções e parâmetros
  • Estrutura do módulo
  • Estatísticas de organização do código
  • Relações de herança

Linguagens Suportadas:

  • Python (.py)
  • JavaScript (.js/.jsx, .mjs, .cjs)
  • TypeScript (.ts/.tsx)
  • Java (.java)
  • C++ (.cpp, .hpp, .cc)
  • Ruby (.rb, .rake)
  • Go (.go)
  • Rust (.rs)
  • PHP (.php)
  • C# (.cs)
  • Kotlin (.kt, .kts)

search_code

Ferramenta de busca rápida de conteúdo usando expressões regulares:

{
    "patterns": ["function\\s+\\w+", "class\\s+\\w+"],
    "include": "*.js",
    "exclude": "node_modules/**",
    "max_results": 50,
    "case_sensitive": false,
    "path": "src"
}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
patternsarray de stringsSimLista de padrões de expressões regulares para buscar no conteúdo dos arquivos
includestringNãoPadrão de arquivo a incluir (sintaxe glob, padrão: "*")
excludestringNãoPadrão de arquivo a excluir (sintaxe glob, padrão: "")
max_resultsinteiroNãoMáximo de resultados a retornar por padrão (padrão: 100)
case_sensitivebooleanoNãoSe a busca diferencia maiúsculas de minúsculas (padrão: false)
pathstringNãoDiretório base para buscar (padrão: ".")

Retornos: Linhas correspondentes agrupadas por arquivo com números de linha, ordenadas por tempo de modificação do arquivo com os arquivos mais recentes primeiro.

Esta ferramenta usa ripgrep quando disponível para desempenho ideal, com uma implementação de fallback em Python. É ideal para encontrar padrões de código específicos como declarações de funções, imports, usos de variáveis ou tratamento de erros.

Informações do Sistema

FerramentaParâmetrosRetornos
get_system_infonenhumDetalhes abrangentes do sistema

Retorna:

{
  "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"
  }
}

Fornece informações essenciais do sistema em um formato limpo e legível.

Ferramentas de Contexto de Tela e Imagem

get_active_apps

Retorna uma lista de aplicativos atualmente ativos no sistema do usuário.

{
    "with_details": true
}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
with_detailsbooleanoNãoSe deve incluir detalhes adicionais sobre cada aplicativo (padrão: false)

Retornos:

{
    "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
        }
    ]
}

Esta ferramenta fornece contexto valioso sobre os aplicativos atualmente em execução no sistema do usuário, o que pode ajudar a fornecer assistência mais relevante.

get_available_windows

Retorna informações detalhadas sobre todas as janelas disponíveis atualmente exibidas na tela do usuário.

{}

Retornos:

{
    "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
        }
    ]
}

Esta ferramenta ajuda a entender o que está visível na tela do usuário e pode ser usada para assistência com consciência de contexto.

capture_screenshot

Captura uma captura de tela da tela do usuário ou de uma janela específica.

{
    "output_path": "screenshots/capture.png",
    "capture_mode": {
        "type": "named_window",
        "window_name": "Visual Studio Code"
    }
}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
output_pathstringNãoCaminho onde a captura de tela deve ser salva (padrão: caminho gerado)
capture_modeobjetoNãoEspecifica o que capturar
capture_mode.typestringNãoTipo de captura de tela: 'full', 'active_window' ou 'named_window' (padrão: 'full')
capture_mode.window_namestringNãoNome da janela a capturar (obrigatório quando o tipo é 'named_window')

Retornos:

{
    "success": true,
    "path": "/path/to/screenshots/capture.png"
}

Esta ferramenta captura capturas de tela para visualização, depuração ou assistência com consciência de contexto.

read_image_file

Lê um arquivo de imagem do sistema de arquivos e retorna seu conteúdo como uma string codificada em base64.

{
    "path": "images/logo.png"
}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
pathstringSimCaminho para o arquivo de imagem a ser lido
max_sizeinteiroNãoTamanho máximo do arquivo em bytes (padrão: 100MB)

Retornos: Dados de imagem codificados em base64 que podem ser exibidos ou processados.

Esta ferramenta suporta formatos de imagem comuns como PNG, JPEG, GIF e WebP, e redimensiona automaticamente as imagens para visualização ideal.

Ferramentas Web

web_fetch

Busca conteúdo de uma URL e opcionalmente o salva em um arquivo.

{
    "url": "https://api.github.com/users/octocat",
    "headers": {
        "Accept": "application/json"
    },
    "timeout": 15,
    "save_to_file": "downloads/octocat.json",
    "convert_html_to_markdown": true
}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
urlstringSimURL para buscar conteúdo (apenas http/https)
headersobjectNãoCabeçalhos HTTP opcionais para incluir na requisição
timeoutintegerNãoTempo máximo de espera pela resposta (padrão: 10s)
save_to_filestringNãoCaminho para salvar o conteúdo da resposta (dentro do diretório permitido)
convert_html_to_markdownbooleanNãoQuando verdadeiro, converte conteúdo HTML para markdown para melhor legibilidade (padrão: true)

Retorna: Conteúdo da resposta como texto com código de status HTTP e informações de tamanho. Para conteúdo binário, retorna metadados e salva em arquivo se solicitado. Quando convert_html_to_markdown está habilitado, o conteúdo HTML é automaticamente convertido para o formato markdown para melhor legibilidade.

Esta ferramenta pode ser usada para acessar APIs web, buscar documentação ou baixar conteúdo da web respeitando limites de tamanho (máx. 10MB) e restrições de segurança.

web_search

Realiza uma busca web robusta usando múltiplos mecanismos de busca e retorna resultados concisos e relevantes.

{
    "query": "latest python release features",
    "num_results": 8,
    "convert_html_to_markdown": true,
    "search_engine": "bing"
}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
querystringSimA consulta de busca a ser processada. Seja específico para melhores resultados.
num_resultsintegerNãoNúmero máximo de resultados de busca a retornar (padrão: 10, máx: 20)
convert_html_to_markdownbooleanNãoQuando verdadeiro, o conteúdo será convertido de HTML para markdown para melhor legibilidade (padrão: true)
search_enginestringNãoEspecifica qual mecanismo de busca usar: "auto" (padrão), "bing" ou "duckduckgo"

Retorna: Uma lista de resultados de busca formatados em markdown, incluindo títulos, URLs e trechos para cada resultado. Os resultados são deduplicados e organizados hierarquicamente para fácil leitura.

Esta ferramenta usa uma abordagem multi-mecanismo que tenta diferentes mecanismos de busca com várias estratégias de análise para garantir resultados confiáveis. Você pode especificar um mecanismo preferido, mas alguns mecanismos podem bloquear acesso automatizado, caso em que a ferramenta recorrerá a mecanismos alternativos quando "auto" estiver selecionado.

Ferramentas Utilitárias

batch_tools

Executa múltiplas invocações de ferramentas em uma única requisição com execução paralela quando possível.

{
    "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"
            }
        }
    ]
}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
descriptionstringSimBreve descrição da operação em lote
sequentialbooleanNãoSe deve executar as ferramentas em sequência (padrão: false)
invocationsarraySimLista de invocações de ferramentas a executar
invocations[].toolstringSimNome da ferramenta a invocar
invocations[].argumentsobjectSimArgumentos para a ferramenta especificada

Retorna: Resultados combinados de todas as invocações de ferramentas, agrupados por ferramenta com status de sucesso/erro para cada uma. Os resultados são apresentados na ordem original de invocação com cabeçalhos de seção claros.

Esta ferramenta fornece execução eficiente de múltiplas operações em uma única requisição. Quando sequential é falso (padrão), as ferramentas são executadas em paralelo para melhor desempenho. Quando sequential é verdadeiro, as ferramentas são executadas em ordem, e se qualquer ferramenta falhar, a execução é interrompida.

IMPORTANTE: Todas as ferramentas no lote executam no mesmo contexto de diretório de trabalho. Se uma ferramenta criar um diretório e uma ferramenta subsequente precisar trabalhar dentro desse diretório, você deve:

  1. Usar caminhos relativos ao diretório de trabalho atual (ex.: "project/src" em vez de apenas "src"), ou
  2. Incluir uma invocação explícita de ferramenta para mudar de diretório usando update_allowed_directory

think

Uma ferramenta para raciocínio complexo e brainstorming sem fazer alterações no repositório.

{
    "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."
}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
thoughtstringSimSeus pensamentos detalhados, análise ou processo de raciocínio

Retorna: Seus pensamentos formatados como markdown, com uma nota indicando que foi um exercício de pensamento.

Esta ferramenta é útil para pensar através de problemas complexos, debater soluções ou elaborar planos de implementação sem fazer quaisquer alterações reais. É uma ótima maneira de documentar seu processo de raciocínio, avaliar diferentes abordagens ou planejar uma estratégia de múltiplas etapas antes de agir.

Execução de Código

execute_code

Executa código em várias linguagens de programação com medidas de segurança e restrições.

{
    "language": "python",
    "code": "print('Hello, World!')",
    "timeout": 5
}

Linguagens Suportadas:

  • Python (python3)
  • JavaScript (Node.js)
  • Ruby
  • PHP
  • Go
  • Rust

Parâmetros:

ParâmetroTipoObrigatórioDescrição
languagestringSimLinguagem de programação a usar
codestringSimCódigo a executar
timeoutintegerNãoTempo máximo de execução (padrão: 5s)

Requisitos:

  • Os runtimes das respectivas linguagens devem estar instalados
  • Os comandos devem estar disponíveis no PATH do sistema
  • Permissões adequadas para criação de arquivos temporários

⚠️ Aviso de Segurança: Esta ferramenta executa código arbitrário no seu sistema. Sempre:

  1. Revise o código cuidadosamente antes da execução
  2. Entenda o propósito do código e o resultado esperado
  3. Nunca execute código não confiável
  4. Esteja ciente dos impactos potenciais no sistema
  5. Monitore a saída da execução

execute_shell_script

Executa scripts de shell (bash/sh) com medidas de segurança e restrições.

{
    "script": "echo \"Current directory:\" && pwd",
    "timeout": 300
}

Parâmetros:

ParâmetroTipoObrigatórioDescrição
scriptstringSimScript de shell a executar
timeoutintegerNãoTempo máximo de execução (padrão: 300s, máx: 600s)

Recursos:

  • Usa /bin/sh para máxima compatibilidade entre sistemas
  • Executa dentro do diretório permitido
  • Saída separada para stdout e stderr
  • Tratamento adequado de erros e controles de tempo limite

⚠️ Aviso de Segurança: Esta ferramenta executa comandos de shell arbitrários no seu sistema. Sempre:

  1. Revise o script cuidadosamente antes da execução
  2. Entenda o propósito do script e o resultado esperado
  3. Nunca execute scripts não confiáveis
  4. Esteja ciente dos impactos potenciais no sistema
  5. Monitore a saída da execução

Ferramentas de Todo

As ferramentas de todo fornecem capacidades de gerenciamento de tarefas sequenciais para fluxos de trabalho de desenvolvimento centrados no workspace. As tarefas são executadas em ordem sem sistemas de prioridade, garantindo progresso estruturado através das fases de desenvolvimento.

todo_read

Lê a lista de todo atual para o workspace.

{}

Retorna:

{
  "todos": [
    {
      "id": "abc123",
      "content": "Implement user authentication",
      "status": "in_progress",
      "metadata": {
        "custom_key": "custom_value"
      },
      "created_at": "2023-10-01T10:00:00Z",
      "updated_at": "2023-10-01T11:30:00Z"
    }
  ],
  "count": 1,
  "workspace": "/path/to/workspace"
}

todo_write

Substitui toda a lista de todo para o fluxo de trabalho de execução sequencial. As tarefas são executadas na ordem do array, construindo sobre o trabalho anterior.

{
  "todos": [
    {
      "id": "task1",
      "content": "Set up database schema",
      "status": "pending"
    },
    {
      "id": "task2", 
      "content": "Create API endpoints",
      "status": "pending",
      "metadata": {
        "custom_key": "custom_value"
      }
    }
  ]
}

Regras do Fluxo de Trabalho Sequencial:

  • Cada todo deve ter um ID único
  • Apenas uma tarefa pode estar "in_progress" por vez (execução sequencial)
  • As tarefas executam na ordem do array - sem sistema de prioridade
  • Campos obrigatórios: id, content, status
  • Valores de status: "pending", "in_progress", "completed"
  • Centrado no workspace: O gerenciamento de todo é obrigatório para todas as operações do workspace

todo_update

Atualiza um item de todo específico por ID para a progressão do fluxo de trabalho sequencial.

{
  "todo_id": "task1",
  "updates": {
    "status": "in_progress",
    "metadata": {
        "new_key": "new_value"
    }
  }
}

Retorna:

{
  "success": true,
  "updated_todo": {
    "id": "task1",
    "content": "Set up database schema",
    "status": "in_progress",
    "updated_at": "2023-10-01T12:00:00Z",
    "metadata": {
        "new_key": "new_value"
    }
  },
  "counts": {
    "pending": 1,
    "in_progress": 1,
    "completed": 0,
    "total": 2
  },
  "workspace": "/path/to/workspace"
}

O sistema de todo mantém listas de tarefas sequenciais separadas para cada workspace, impondo uso obrigatório para todas as operações do workspace. As tarefas executam em ordem, construindo sobre o trabalho anterior sem agendamento baseado em prioridade.

Configuração

Arquivo de configuração: ~/.skydeckai_code/config.json

{
    "allowed_directory": "/path/to/workspace"
}

Depuração

Use o MCP Inspector para depuração:

npx @modelcontextprotocol/inspector run

Segurança

  • Operações restritas ao diretório permitido configurado
  • Prevenção de travessia de caminho
  • Preservação de permissões de arquivo
  • Tratamento seguro de operações

Recursos Futuros

  • Ferramentas GitHub:
    • Gerador de Descrição de PR
    • Revisão de Código
    • Gerenciador de Actions
  • Ferramentas Pivotal Tracker:
    • Gerador de Story
    • Gerenciador de Story

Status de Desenvolvimento

Atualmente em desenvolvimento ativo. Recursos e API podem mudar.

Licença

Apache License 2.0 - veja LICENSE

Star History Chart