Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
local-mcp — Un server MCP leggero basato su stdio per operazioni locali sul file system — lettura, scrittura, modifica, ricerca, esecuzione per assistenti AI. Ottimizzato specialmente per Chatbox: bat-bypass per exec (CVE-2026-6130), codifica b64 per eliminare problemi di escaping, e regex multi-pattern per targeting preciso di blocchi di codice. | Kitploit
Strumenti/GitHubGitHub/fan-67/local-mcp
Utilità GenericheAnalisi delle VulnerabilitàExploitScripting e AutomazioneUtilità e Framework
GitHubfan-67/local-mcp

local-mcp

Vedi Repository
22 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

Un server MCP leggero basato su stdio per operazioni locali sul file system — lettura, scrittura, modifica, ricerca, esecuzione per assistenti AI. Ottimizzato specialmente per Chatbox: bat-bypass per exec (CVE-2026-6130), codifica b64 per eliminare problemi di escaping, e regex multi-pattern per targeting preciso di blocchi di codice.

Condividi

local-mcp

Version License Node Tests Dependencies

Server MCP a zero dipendenze per operazioni su file locali. 13 strumenti per il filesystem + 3 meta-strumenti per scoperta progressiva — niente SDK, niente framework, nessun npm install necessario.

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


Architettura

root@kitploit:~
local-mcp.mjs       — 595 righe, 13 strumenti, punto d'ingresso
lib/mcp-core.mjs    — 229 righe, trasporto stdio + HTTP, 9 metodi MCP
lib/config.mjs      —  31 righe, configurazione MCP_WORKSPACE/DATA con validazione

Totale: ~855 righe, zero dipendenze runtime.


Strumenti

Strumenti del filesystem (13)

StrumentoDescrizioneAnnotazione
readLegge il file con numeri di riga, troncamento opzionale head/tailreadOnlyHint
searchRicerca file per nome (glob) poi per contenuto (grep)readOnlyHint
lsElenco compatto della directory con stat lazyreadOnlyHint
execEsecuzione comandi in streaming con supporto stdin e timeoutdestructiveHint
diffDifferenza tra due file o stringhe di testo (Myers O(ND))readOnlyHint
copyCopia file o directorydestructiveHint
moveSposta o rinomina file/directorydestructiveHint
batchEsegue più operazioni in sequenza; rollback atomico, riferimenti $prevdestructiveHint
fileUnificato: lettura, scrittura, modifica, append, cancellazione, info, mkdir, spostamento—
blockLegge/sostituisce/inserisce/elimina blocchi di codice per intervallo o nome funzione—
bookmarkAlias di percorso persistenti (aggiungi/ottieni/elenca/elimina)—
grepFormato compatto file:riga:contenuto con concorrenza adattivareadOnlyHint
watchOsserva file/directory per modifiche; massimo 20 osservatori concorrenti—

Meta-strumenti (3) — Scoperta progressiva

StrumentoDescrizione
search_toolsCerca strumenti disponibili per parola chiave — risparmia ~90% token rispetto all'elenco completo
describe_toolOttiene lo schema completo di input per uno strumento specifico (caricato su richiesta)
call_toolEsegue qualsiasi strumento per nome con argomenti

Invece di inviare tutti i 13 schemi strumento (~3.000 token) in ogni richiesta, la scoperta progressiva con questi 3 meta-strumenti li riduce a ~50 token — ~90% di risparmio di token.


Ottimizzazioni delle prestazioni (v1.1.1)

#OttimizzazioneImpatto
ALettura head/tail in streamingstreamHead() evita di leggere interi file. Log da 500MB: 3s → 5ms, memoria: 500MB → pochi KB
BStat lazy in lsChiama statSync solo quando sort=size. Directory con 1000 file: 50ms → 2ms
CConcorrenza adattiva del grepos.availableParallelism() (max 16, min 4) invece di 16 worker fissi
DSfratto cache LRULRU basato sull'ordine di inserimento della Map — i file piccoli più utilizzati non vengono più rimossi da file grandi freddi
EProtezione byte del grepMAX_GREP_TOTAL_MB=100 + MAX_GREP_FILES=1000 impediscono OOM
FNotifica di progressoPassaggio _meta.progressToken per la specifica MCP 2025 (TODO: eventi per esecuzioni lunghe)

Ottimizzazioni aggiuntive

AreaDettaglio
Cache di letturaSfratto in base alla dimensione (max 50 elementi, 10 MB) + TTL 5s
Diff MyersAlgoritmo O(ND), usato da edit, block e diff
Punteggio ricercaPrima corrispondenza per nome (nessun I/O), poi stat solo dei primi 50 candidati
Formato outputgrep: file:riga:contenuto, ls: colonne compatte, read: numeri di riga + suggerimento di troncamento
ProtocolloDispatch Map O(1), short-circuit per gestori sincroni

Per iniziare

root@kitploit:~
# Zero install — no dependencies
node local-mcp.mjs

# With configuration
MCP_WORKSPACE=D:/projects node local-mcp.mjs

Modalità stdio (predefinita)

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

Modalità HTTP

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

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

Flag CLI

root@kitploit:~
node local-mcp.mjs --help          # Mostra l'utilizzo e le variabili d'ambiente
node local-mcp.mjs --list-tools    # Stampa gli strumenti disponibili ed esce
node local-mcp.mjs --http          # Avvia la modalità HTTP
node local-mcp.mjs --http --port 3456

Configurazione

VariabilePredefinitoDescrizione
MCP_WORKSPACEprocess.cwd()Directory di lavoro principale (confine di sicurezza)
MCP_DATA{WORKSPACE}/.mcp-dataDirectory dati (segnalibri, file temporanei)
MCP_DIR{WORKSPACE}Directory predefinita per comandi tree/ls
MCP_PORT3100Porta del server HTTP (in modalità --http)
MCP_READONLYfalseImpostare a true per bloccare tutte le operazioni di scrittura
MCP_EXCLUDE—Directory extra da escludere dalla ricerca, separate da virgole

Sicurezza

  • Tutte le operazioni sui file sono limitate a MCP_WORKSPACE e sottodirectory
  • Chiavi segnalibro protette da prototype (blocca iniezioni __proto__/constructor/prototype)
  • Scritture atomiche (temp + rinomina) impediscono scritture parziali
  • Rilevamento file binari impedisce la lettura di file non di testo
  • Rispetta .gitignore e directory di esclusione comuni (node_modules, .git, ecc.)

Dipendenze

Zero dipendenze runtime. Utilizza solo i moduli built-in di Node.js:

ModuloScopo
fsFilesystem + glob (Node 22)
child_processEsecuzione shell in streaming
httpTrasporto HTTP (nessun Express necessario)
pathRisoluzione percorsi
osavailableParallelism() per concorrenza adattiva
readlineElaborazione riga per riga in streaming

Registro delle modifiche

v1.1.1 — Ottimizzazioni delle prestazioni

  • A. Lettura head/tail in streaming: log 500MB da 3s a 5ms
  • B. Stat lazy in ls: dir 1000 file da 50ms a 2ms
  • C. Concorrenza adattiva del grep con availableParallelism()
  • D. Sfratto cache LRU tramite ordine di inserimento Map
  • E. Protezione byte del grep (100MB / 1000 file)
  • F. Passaggio notifica di progresso per specifica MCP 2025
  • Correzione: Bug di ambito streamHead — done definita fuori dal callback Promise

v1.1.0

  • 13 strumenti filesystem + 3 meta-strumenti per scoperta progressiva
  • Trasporto stdio + Streamable HTTP
  • Motore diff Myers, cache di lettura, exec in streaming
  • Configurazione basata su variabili d'ambiente con validazione

Sviluppo

root@kitploit:~
# Run tests
node --test test/*.test.mjs

# Adding a tool
# 1. Define schema + handler in local-mcp.mjs
# 2. Register with server.tool()
# 3. Add tests

Contribuire

  1. Mantenere il vincolo di zero dipendenze
  2. Aggiungere test per le nuove funzionalità
  3. Aggiornare la tabella delle ottimizzazioni per modifiche alle prestazioni

Licenza

MIT

Scarica lo strumento