Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/fan-67/local-mcp
Utilitários de Propósito GeralAnálise de VulnerabilidadesExploraçãoScripting e AutomaçãoUtilitários e Frameworks
GitHubfan-67/local-mcp

local-mcp

Ver Repositório
2há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

Um servidor MCP leve baseado em stdio para operações no sistema de arquivos local — leitura, escrita, edição, pesquisa, exec para assistentes de IA. Especialmente otimizado para o Chatbox: bat-bypass para exec (CVE-2026-6130), codificação b64 para eliminar problemas de escape e regex de múltiplos padrões para direcionamento preciso de blocos de código.

Compartilhar

local-mcp

Version License Node Tests Dependencies

Servidor MCP sem dependências para operações de arquivos locais. 13 ferramentas de sistema de arquivos + 3 meta-ferramentas para descoberta progressiva — sem SDKs, sem frameworks, sem necessidade de npm install.

Protocolo MCP: 2024-11-05 · Transporte: stdio + HTTP Streamable · Runtime: Node.js ≥ 22.0.0


Arquitetura

root@kitploit:~
local-mcp.mjs       — 595 linhas, 13 ferramentas, ponto de entrada
lib/mcp-core.mjs    — 229 linhas, transporte stdio + HTTP, 9 métodos MCP
lib/config.mjs      — 31 linhas, configuração de ambiente MCP_WORKSPACE/DATA com validação

Total: ~855 linhas, zero dependências em tempo de execução.


Ferramentas

Ferramentas do Sistema de Arquivos (13)

FerramentaDescriçãoAnotação
readLer arquivo com números de linha, truncamento opcional head/tailreadOnlyHint
searchPesquisar arquivo por nome (glob) e depois por conteúdo (grep)readOnlyHint
lsListagem compacta de diretório com stat preguiçosoreadOnlyHint
execExecução de comando em streaming com suporte a stdin e timeoutdestructiveHint
diffDiff de dois arquivos ou strings de texto (Myers O(ND))readOnlyHint
copyCopiar arquivo ou diretóriodestructiveHint
moveMover ou renomear arquivo/diretóriodestructiveHint
batchExecutar múltiplas operações sequencialmente; rollback atômico, referências $prevdestructiveHint
fileUnificado: ler, escrever, editar, anexar, excluir, info, mkdir, mover—
blockLer/substituir/inserir/excluir blocos de código por intervalo ou nome de função—
bookmarkAliases de caminho persistentes (adicionar/obter/listar/excluir)—
grepFormato compacto arquivo:linha:conteúdo com concorrência adaptativareadOnlyHint
watchObservar arquivo/diretório para alterações; max 20 observadores simultâneos—

Meta-Ferramentas (3) — Descoberta Progressiva

FerramentaDescrição
search_toolsPesquisar ferramentas disponíveis por palavra-chave — economiza ~90% de tokens em comparação com listar todas
describe_toolObter esquema de entrada completo para uma ferramenta específica (carregado sob demanda)
call_toolExecutar qualquer ferramenta pelo nome com argumentos

Em vez de enviar todos os 13 esquemas de ferramentas (~3.000 tokens) em cada requisição, a descoberta progressiva com estas 3 meta-ferramentas reduz para ~50 tokens — ~90% de economia de tokens.


Otimizações de Desempenho (v1.1.1)

#OtimizaçãoImpacto
ALeitura stream head/tailstreamHead() evita ler arquivos inteiros. Logs de 500MB: 3s → 5ms, memória: 500MB → poucos KB
BStat preguiçoso no lsChama statSync apenas quando sort=size. Diretório com 1000 arquivos: 50ms → 2ms
CConcorrência adaptativa no grepos.availableParallelism() (max 16, min 4) em vez de 16 workers fixos
DDespejo de cache LRULRU por ordem de inserção do Map — arquivos pequenos quentes não são mais despejados por arquivos grandes frios
EProteção de bytes do grepMAX_GREP_TOTAL_MB=100 + MAX_GREP_FILES=1000 protegem contra OOM
FNotificação de progressoPassagem de _meta.progressToken para a especificação MCP 2025 (TODO: eventos para execuções longas)

Otimizações Adicionais

ÁreaDetalhe
Cache de leituraDespejo ciente de tamanho (max 50 itens, 10 MB) + TTL de 5s
Myers diffAlgoritmo O(ND), usado por edit, block e diff
Pontuação de buscaCorrespondência de nome primeiro (sem I/O), depois stat apenas dos 50 principais candidatos
Formato de saídagrep: arquivo:linha:conteúdo, ls: colunas compactas, read: números de linha + dica de truncamento
ProtocoloDespacho O(1) do Map, curto-circuito de handler síncrono

Primeiros Passos

root@kitploit:~
# Instalação zero — sem dependências
node local-mcp.mjs

# Com configuração
MCP_WORKSPACE=D:/projects node local-mcp.mjs

Modo stdio (padrão)

root@kitploit:~
{
  "mcpServers": {
    "local-mcp": {
      "command": "node",
      "args": ["D:/path/to/local-mcp.mjs"],
      "env": {
        "MCP_WORKSPACE": "D:/projects"
      }
    }
  }
}

Modo HTTP

root@kitploit:~
node local-mcp.mjs --http
node local-mcp.mjs --http --port 3456

Suporta JSON-RPC 2.0 POST, streaming SSE (Accept: text/event-stream), CORS e GET /tools.

Flags de CLI

root@kitploit:~
node local-mcp.mjs --help          # Mostrar uso + variáveis de ambiente
node local-mcp.mjs --list-tools    # Exibir ferramentas disponíveis e sair
node local-mcp.mjs --http          # Iniciar modo HTTP
node local-mcp.mjs --http --port 3456

Configuração

VariávelPadrãoDescrição
MCP_WORKSPACEprocess.cwd()Raiz do diretório de trabalho (limite de segurança)
MCP_DATA{WORKSPACE}/.mcp-dataDiretório de dados (marcadores, arquivos temporários)
MCP_DIR{WORKSPACE}Diretório padrão para comandos tree/ls
MCP_PORT3100Porta do servidor HTTP (ao usar --http)
MCP_READONLYfalseDefina como true para bloquear todas as operações de escrita
MCP_EXCLUDE—Diretórios extras separados por vírgula para excluir da pesquisa

Segurança

  • Todas as operações de arquivo restritas a MCP_WORKSPACE e subdiretórios
  • Chaves de marcador seguras contra prototype (bloqueia injeção de __proto__/constructor/prototype)
  • Escritas atômicas (temp + renomear) previnem escritas parciais de arquivo
  • Detecção de arquivo binário impede leitura de arquivos não-texto
  • .gitignore e diretórios de exclusão comuns (node_modules, .git, etc.) respeitados

Dependências

Zero dependências em tempo de execução. Usa apenas módulos nativos do Node.js:

MóduloFinalidade
fsSistema de arquivos + glob (Node 22)
child_processExecução de shell em streaming
httpTransporte HTTP (sem necessidade de Express)
pathResolução de caminho
osavailableParallelism() para concorrência adaptativa
readlineProcessamento streaming linha por linha

Histórico de Alterações

v1.1.1 — Otimizações de Desempenho

  • A. Leitura stream head/tail: logs de 500MB 3s → 5ms
  • B. Stat preguiçoso no ls: diretório com 1000 arquivos 50ms → 2ms
  • C. Concorrência adaptativa no grep com availableParallelism()
  • D. Despejo de cache LRU via ordem de inserção do Map
  • E. Proteção de bytes do grep (100MB / 1000 arquivos)
  • F. Passagem de notificação de progresso para a especificação MCP 2025
  • Correção: Bug de escopo no streamHead — done definido fora do callback Promise

v1.1.0

  • 13 ferramentas de sistema de arquivos + 3 meta-ferramentas para descoberta progressiva
  • Transporte stdio + HTTP Streamable
  • Motor de diff Myers, cache de leitura, execução em streaming
  • Configuração baseada em ambiente com validação

Desenvolvimento

root@kitploit:~
# Executar testes
node --test test/*.test.mjs

# Adicionando uma ferramenta
# 1. Defina esquema + handler em local-mcp.mjs
# 2. Registre com server.tool()
# 3. Adicione testes

Contribuindo

  1. Mantenha a restrição de dependência zero
  2. Adicione testes para novas funcionalidades
  3. Atualize a tabela de otimizações para mudanças de desempenho

Licença

MIT

Baixar ferramenta