LightNote include un server MCP (Model Context Protocol) headless
che trasforma il tuo spazio di lavoro in uno strumento per agenti IA
(Claude Desktop, Claude Code, Cursor e qualsiasi client che parli MCP).
L'agente può leggere e scrivere file, cercare, interrogare dati tabellari e
database, lavorare con le attività, usare Git e lanciare richieste HTTP —
tutto confinato alla cartella (directory jail: i percorsi con
.. o fuori dalla radice vengono rifiutati). Il trasporto è
JSON-RPC 2.0 su stdin/stdout; ogni sessione avvia un processo leggero
lnote.exe, separato dalla finestra dell'editor.
Scorciatoia con un clic: da IA → Attiva l'IA in questa cartella, LightNote abilita l'MCP e scrive il .mcp.json in una volta (il clic è il consenso). Se l'IA è già attiva nella cartella, la voce diventa Configura l'IA di questa cartella… e apre le Configurazione dello spazio di lavoro.
Due livelli di sicurezza: (1) il server si avvia solo se hai fatto opt-in per quella cartella; (2) ogni strumento è vincolato alla radice dello spazio di lavoro. In più, ogni strumento è annunciato con annotazioni (sola lettura, distruttivo, idempotente, "tocca il mondo esterno") così il client IA può valutare il rischio prima di chiamarlo.
Configurazione passo dopo passo
- Abilita l'MCP per la cartella. In
Strumenti → Spazio di lavoro → Configurazione dello spazio di lavoro..., spunta
Abilita MCP per questo spazio di lavoro. Senza questo opt-in il
server si rifiuta di avviarsi (è la porta principale). In alternativa, dalla
riga di comando:
lnote --mcp-enable "C:\Percorso\allo\spazio-di-lavoro"(e--mcp-disableper disattivarlo). - Trova il percorso di
lnote.exe. Si trova nella stessa cartella dilightnote.exe(la cartella di installazione dell'app). È l'eseguibile console "snello", senza interfaccia grafica — è quello che esegue l'agente. - Registra il server nel tuo client IA, puntando il comando a
lnote.exee passando--mcpseguito dalla cartella dello spazio di lavoro. Nel formato usato da Claude Desktop / Cursor e simili:
{
"mcpServers": {
"lightnote": {
"command": "C:\\Percorso\\a\\lnote.exe",
"args": ["--mcp", "C:\\Percorso\\allo\\spazio-di-lavoro"]
}
}
}
Suggerimenti per la configurazione:
- Le barre rovesciate nel JSON vanno raddoppiate
(
C:\\Users\\...\\lnote.exe), come nell'esempio. - Per esporre più spazi di lavoro, aggiungi una voce per ogni
cartella, con nomi distinti (
"lightnote-progettoA","lightnote-progettoB"), ciascuna che punta alla propria radice. - Dopo aver salvato la configurazione, riavvia il client IA così
avvia il server. Una volta connesso, l'agente dovrebbe elencare gli
strumenti
lightnote_*; chiedigli di "elencare i file dello spazio di lavoro" per confermare che funziona. - Per Claude Code (CLI), lo stesso server può essere registrato con
claude mcp add lightnote -- "C:\Percorso\a\lnote.exe" --mcp "C:\Percorso\allo\spazio-di-lavoro".
Password del database (opzionale). Lo strumento db_query
apre una connessione .lnc. Se la password è cifrata con la
Passphrase, passala tramite la variabile d'ambiente
LNOTE_PASSPHRASE nel blocco del server (mai come argomento sulla
riga di comando) — le connessioni con password in modalità "chiedi" non
possono essere usate in modo automatizzato.
Con LightNote aperto, il database passa per la finestra. Una CLI di IA eseguita nel terminale dell'app (Claude Code, per esempio) interroga tramite la sessione che hai già aperto: vale per qualsiasi database, incluso Oracle, con la password già digitata e il tunnel SSH attivo. Se la connessione è chiusa, la password viene chiesta nella finestra — rifiutare lì significa rifiutare l'IA —, e la barra di stato avvisa quando uno strumento di IA esegue una query. Per scrivere una query su un database grande, l'IA trova le tabelle per nome con db_search_objects (in tutti gli schemi), legge l'elenco con il commento e le righe stimate (db_list_objects) e descrive più tabelle insieme, con le chiavi esterne che danno i JOIN (db_describe). Con l'app chiusa, vale quanto sopra.
Le query dell'IA sono opt-in per connessione. Abilitare l'MCP nella cartella non espone le connessioni: ogni .lnc risponde a db_query solo quando l'opzione «Consenti query dell'IA (MCP)» è selezionata nella finestra della connessione. L'accesso è di sola lettura (SELECT). Il permesso resta nelle impostazioni della cartella, su questo computer: non è salvato nel file .lnc né trasferito da Git, e l'IA non può attivarlo modificando il file. Cambiare il server, il database, l'utente o il tunnel della connessione lo sospende finché non selezioni di nuovo l'opzione. Un database su file (SQLite, DuckDB) deve trovarsi nello spazio di lavoro, e tramite DuckDB l'IA legge solo i file dentro lo spazio di lavoro; con LightNote aperto, nessuno.
Esportare dal database tramite l'agente. Oltre a interrogare, l'agente può materializzare una SELECT in un file con db_export (Parquet, CSV, JSON o .xlsx) — utile per risultati troppo grandi per stare in una risposta. Valgono le stesse tre cautele, in quest'ordine: la query deve essere di sola lettura, la connessione richiede l'opzione «Consenti query IA (MCP)» (verificata prima di decifrare la password) e la destinazione deve restare dentro lo spazio di lavoro. Le esportazioni grandi usano la cartella temporanea di sistema come area di appoggio, all'incirca quanto il risultato — lasciare spazio libero su disco.
Strumenti disponibili
L'agente vede gli strumenti sotto il prefisso del client (es.
lightnote_read_file). Per categoria:
- File:
read_file(con intervallo di righe opzionale),write_file,edit_file(sostituisce un frammento esatto, senza riscrivere l'intero file),append_file,list_files,move_file,make_diredelete_file(va nel Cestino, non un'eliminazione definitiva). - Ricerca e navigazione:
search_files(ripgrep, con filtro per sottocartella/glob e limite),list_symbols(struttura delle funzioni/classi di un file) eopen_in_editor(apre/mette a fuoco un file nella finestra di LightNote, se è aperta). - Dati e SQL:
query(SQL DuckDB su Parquet/CSV/JSON, output tsv/json/markdown),describe_table(schema + statistiche, senza scaricare le righe),export_query(materializza una SELECT in un file tramiteCOPY),sqlite_query(SQL su un.sqlite/.db),db_list_connections(elenca i file.lncdello spazio di lavoro) edb_query(SQL di sola lettura su una connessione.lnc). Per portare il risultato in un file invece che nella risposta,db_export(Parquet/CSV/JSON/.xlsx). - Inoltre:
search_notes(recupera i frammenti di note più pertinenti per una domanda — lo stesso motore di Chat IA),list_links(i link in uscita di una nota, risolti o interrotti),audit_vault_links(link interrotti e note orfane di tutto il vault),list_note_templatese il parametrotemplatedicreate_note,list_due_tasks(attività in scadenza oggi o in ritardo in tutti i progetti),xlsx_read(legge un foglio.xlsxcome TSV),data_diff(confronta due file tabellari) e il catalogo del databasedb_list_objects/db_describe(tabelle/viste e le colonne, chiavi e DDL di una tabella — stessi requisiti didb_query). Enote_export(esporta una nota indocx,odt,epub, LaTeX, Typst, HTML, reStructuredText, AsciiDoc, Org, MediaWiki, Notebook o in un altro dialetto Markdown — senza alcuna finestra, e anche dalnote note-export). Enote_import(il percorso inverso: undocx,odt,epub,rtf, HTML otexdiventa una nota accanto all’originale, con titoli, elenchi, tabelle, enfasi, link, formule e immagini — anche dalnote note-import). Efolder_export(una cartella intera diventa un sito HTML, un insieme di documenti o Markdown, con i link riscritti — anche dalnote folder-export). - Archivi:
zip_list(elenca i membri di un.zip/.isx) ezip_read(legge un membro come testo) — senza estrarre l'archivio su disco. - Attività:
list_task_projects(elenca i progetti di attività.lntdello spazio di lavoro),list_tasks,list_task_statuses(colonne della bacheca),create_task,update_task(titolo, impegno, colonna, priorità, date, %, etichette, checklist e archiviazione),update_task_status(sposta tra colonne),delete_tasketask_note(legge/scrive la nota.mddell'attività). Uno spazio di lavoro può contenere diversi progetti.lnt: scegline uno con il parametroproject(ilnamerestituito dalist_task_projects; opzionale quando ce n'è solo uno). Gliid/status_idsono identificatori di sessione — non leggere i file.lntinterni per ottenerli; usa gli strumenti delle attività. - Note (PKM):
create_note(crea una nota.md),append_daily_note(aggiunge una cattura alla nota di oggi),remember(salva un fatto duraturo su di te nella nota di memoria),list_backlinks(note che puntano a una nota),list_note_tagsesearch_by_tag(gli#hashtagdel vault e le note che li usano) eadd_task(crea un'attività con data di scadenza/tag, accetta linguaggio naturale nel titolo). - Git:
git_status,git_log,git_diffegit_restore. - Web e avvisi:
http_request(lancia una richiesta HTTP e restituisce stato/intestazioni/corpo) enotify(mostra una notifica nel tray sulla finestra aperta — comodo perché l'agente segnali di aver finito). - Proxy IA:
list_ai_modelseask_ai(di seguito). - LightNote stesso:
help_lookup(legge questa Guida per sezione o per termine, nella lingua richiesta) emarkdown_reference(la sintassi esatta del Markdown che l'app disegna). Alla connessione il client riceve anche una descrizione del server con gli strumenti per categoria, e la Guida e il riferimento del Markdown compaiono come risorse (lightnote://help/…elightnote://markdown/…).
Il server espone anche i file dello spazio di lavoro come risorse
MCP (resources/list e resources/read), per i
client che preferiscono "allegare" i file invece di chiamare
read_file.
La tua Libreria di prompt (la cartella Prompts/ dello spazio) è esposta come prompt MCP (prompts/list e prompts/get). In Claude Code ogni prompt diventa un comando slash — /mcp__lightnote__<nome> — pronto all'uso nella CLI di IA.
Rete di sicurezza delle scritture. Prima di sovrascrivere (write_file/edit_file) o rimuovere (delete_file) un file, il server salva la versione precedente nella Cronologia locale — la rete di sicurezza dell'editor —, così puoi annullare una modifica fatta da un agente anche fuori da un repository Git.
Ogni strumento dichiara se legge o scrive: oltre alle annotazioni
MCP (readOnlyHint/destructiveHint), la descrizione
inizia con un badge [read-only], [writes] o
[destructive] — comodo per costruire allowlist in modo
sicuro.
Proxy IA (delega a un altro modello)
I provider API che hai registrato con la colonna
MCP spuntata sono esposti all'agente tramite due strumenti:
list_ai_models (elenca i modelli consentiti, con id, nome e
modello) e ask_ai ({model, prompt}). Questo permette
all'agente principale di delegare un sotto-compito a un modello più
economico o specializzato. La chiamata è intermediata dal LightNote in
esecuzione (l'lnote.exe dell'MCP inoltra la richiesta alla
finestra dell'app tramite il ponte interno): la chiave API non lascia mai
la tua macchina e non raggiunge mai l'agente. Se LightNote non è aperto,
lo strumento restituisce un errore chiedendo di aprirlo.
Indice
Modifica
- Panoramica
- Primi passi
- Spazio di lavoro e finestre
- Pannello Operazioni: avanzamento e messaggi
- Editor di codice
- Markdown e wikilink
- Diagrammi (Mermaid)
- Matematica e chimica (LaTeX)
- Calendario nella nota
- Numerazione e riferimenti incrociati
- Citazioni e riferimenti
- Norma del lavoro accademico
- Grafo delle connessioni
- Tabelle (Parquet, CSV, JSON, Excel)
- Area di analisi: tabella pivot e più grafici
- PDF e immagini
- Immagini: annotare uno screenshot
- Pagine HTML (.html)
- Stampa
- Zip come cartella (.zip)
- Blocchi (.lnb)
- Attività (Kanban / Gantt)
- Tabella personalizzata (.lnd)
- Base (query salvate sulle note)
Strumenti
- Ricerca nei file ed elementi in sospeso
- Versionamento (Git semplificato)
- Snapshot e backup
- Revisione modifiche (checkpoint)
- Confronta file (diff)
- Esegui codice (F5)
- Terminale e CLI di IA
- Assistente IA sulla selezione (Ctrl+K / Ctrl+I)
- IA sul tuo computer
- Sessioni IA
- Chat IA
- Test di API HTTP (.lnh)
- Database (.lnc)
- Connessione SSH (.lns)
- Sicurezza: Passphrase, PIN e Markdown Sicuro
- Note giornaliere, cattura rapida e tray
- Ritrova le note vecchie
- Le tue note sul telefono
- Registrare audio (voce, riunione) con trascrizione IA
- Note adesive
- Calendario
- Tavolozza comandi
Automazione (IA / script)
Riferimento