Sistec · wiki-LLM · pattern Karpathy · proposta di sviluppo
Un'analisi approfondita del pattern LLM-wiki di Karpathy, della demo funzionante in
sistec-llm-wiki, della proposta operativa per portarla da demo a strumento di produzione,
e dell'integrazione con Microsoft 365 via MCP per ingest automatico da Teams, OneNote e OneDrive.
Questo documento è il §10 di Adozione Claude & Claude Code in Sistec,
sviluppato in un documento autonomo. Leggi prima l'index per il contesto: ciclo agentico,
skill, CLAUDE.md, subagent e il marketplace di plugin. Qui si approfondisce solo la wiki-LLM.
La wiki-LLM è un pattern di condivisione della conoscenza reso celebre da Andrej Karpathy (gist ufficiale). L'idea centrale è che l'AI non ha bisogno di un'infrastruttura custom per accedere alla conoscenza aziendale: le servono solo file di testo in una cartella che tutti possono sincronizzare.
«Le AI leggono file di testo. Metti la conoscenza in file di testo in una cartella condivisa. Il resto lo fa l'AI con ingest e retrieval.»
Il pattern si contrappone al modello shared-ai (collector / lease Graph-ETag / Orchestrator) che
richiede un'infrastruttura distribuita custom da progettare, costruire e verificare. La wiki-LLM è l'alternativa
zero infrastruttura: si appoggia a OneDrive/NAS per la sincronizzazione e all'AI stessa per
l'indicizzazione e il recupero.
| shared-ai (scartato) | wiki-LLM (adottato) | |
|---|---|---|
| Infrastruttura | collector, lease Graph-ETag, Orchestrator | OneDrive / NAS + cartella di file .md |
| Sincronizzazione | protocollo custom da progettare | già risolta da OneDrive |
| Canonicalizzazione | mutex distribuito, unico scrittore | il retrieval dell'AI al momento della domanda |
| Manutenibilità | pezzi custom da verificare e far evolvere | zero: solo file di markdown |
| Accesso AI | via API del collector | lettura diretta dei file di testo |
sistec-llm-wikiEsiste già una demo funzionante in sistec-llm-wiki. La struttura della cartella dimostra il pattern
in azione:
// struttura della demo (reale) sistec-llm-wiki/ ├── raw/ // fonti immutabili: chiunque può aggiungerne, nessuno le modifica │ ├── assets/ // immagini e allegati │ └── 2026-06-17-kickoff-progetto-atlas.md ├── wiki/ // pagine generate e mantenute dall'LLM │ ├── overview.md // sintesi globale: stato e contesto in evoluzione │ ├── concetti/ │ ├── decisioni/ │ ├── fonti/ // un riassunto 1:1 per ogni fonte in raw/ │ ├── organizzazioni/ │ ├── persone/ │ └── progetti/ ├── CLAUDE.md // LO SCHEMA: convenzioni + operazioni (ingest/query/lint) ├── index.md // catalogo di tutto il wiki, aggiornato a ogni ingest └── log.md // registro cronologico append-only
Il flusso è lineare, e tutta la configurazione sta in un unico file: il CLAUDE.md
della cartella, che definisce ruoli, convenzioni (frontmatter, wikilink, nomi file) e le tre operazioni —
ingest, query, lint. Chi lancia Claude Code o opencode lì dentro parte già configurato:
niente skill, niente codice.
raw/ — verbali, specifiche, decisioni,
appunti. Nessun formato imposto: markdown, PDF, txt, immagini in raw/assets/.CLAUDE.md:
legge la fonte, scrive il riassunto in wiki/fonti/, aggiorna le pagine sintetiche toccate
(persone, progetti, decisioni, concetti, organizzazioni), aggiorna index.md e appende a
log.md.index.md, entra nelle pagine
rilevanti, segue i wikilink e risponde con provenienza citata.La cartella è anche un vault Obsidian: i wikilink [[...]] tra le pagine danno gratis la
vista a grafo, dove ogni entità è un nodo (es. progetto-atlas, marco-manfrin) e le
relazioni sono archi. Il retrieval naviga gli stessi collegamenti per rispondere con contesto e provenienza.
L'architettura della wiki-LLM si basa su tre componenti: sync, ingest, retrieval. Nessuno dei tre richiede infrastruttura custom.
La sincronizzazione è affidata a Teams/SharePoint. In Sistec la cartella esiste già: la libreria documenti del team SistecAM-AIStack, sincronizzata via client OneDrive sul PC di ogni dipendente autorizzato. Il percorso locale dipende dall'account, ad esempio:
C:\Users\Sistec 32\Sistec srl\Sistec AM-AI Stack - sistec-wiki
Quando un documento nuovo viene aggiunto a raw/ da un dipendente, la sync lo propaga a tutti i
sottoscrittori. Niente da progettare: funziona già, è la stessa infrastruttura Teams già in
uso in azienda.
L'ingest è eseguito da un agente AI (Claude Code o opencode) secondo l'operazione definita nel
CLAUDE.md della wiki. Quando l'operatore aggiunge una fonte in raw/ e chiede di
processarla, l'agente:
raw/assets/).wiki/fonti/AAAA-MM-GG-titolo.md.index.md (e overview.md se il quadro generale cambia) e
appende una riga a log.md.Nella wiki finisce l'output dell'analisi — dati, conclusioni, decisioni — non il racconto di come si è arrivati lì. Se l'operatore fa analizzare un log, la pagina deve contenere i risultati dell'analisi (cosa dicono i dati), non «ho analizzato il log X» né un riassunto compresso del lavoro fatto. Una pagina che descrive il processo invece del risultato va corretta in ingest, non lasciata così.
Il retrieval avviene in due modalità:
| Modalità | Come | Quando |
|---|---|---|
| Diretta (umana) | un operatore chiede all'AI via chat: «chi ha lavorato al progetto Atlas?»
L'AI parte da index.md, legge wiki/progetti/progetto-atlas.md, segue i wikilink
alle persone, e risponde con citazioni. | domande puntuali, esplorazione libera |
| Da agente (Claude Code) | Claude Code, durante una sessione di lavoro su un repo, legge
wiki/ e index.md per contestualizzare le sue azioni: capire le decisioni pregresse,
le architetture, i perché. | sviluppo attivo, codice |
Perché Claude Code consulti la wiki senza doverlo ricordare ad ogni sessione, basta un rimando
nel CLAUDE.md a livello utente (C:\Users\<utente>\.claude\CLAUDE.md). Questo file
viene caricato in aggiunta al CLAUDE.md di progetto in qualunque repository su cui
l'operatore lavora — bastano un paio di righe, una sola volta per PC:
In "C:\Users\Sistec 32\Sistec srl\Sistec AM-AI Stack - sistec-wiki" è presente una LLM wiki aziendale. Consultala seguendo le regole in "C:\Users\Sistec 32\Sistec srl\Sistec AM-AI Stack - sistec-wiki\CLAUDE.md" per ottenere informazioni sui progetti a cui stai lavorando.
Il percorso locale della cartella sincronizzata dipende dall'account Windows e non è lo stesso su due PC:
metterlo nel CLAUDE.md utente (per-persona, non versionato in nessun repo) invece che in quello
di progetto evita di duplicare — o sbagliare — un path specifico della macchina in ogni repository. Fatto
una volta, la wiki è visibile da qualsiasi progetto l'operatore apra con Claude Code.
La demo sistec-llm-wiki dimostra che il pattern funziona — e che non c'è niente da
costruire. Il CLAUDE.md della wiki è già la configurazione completa: convenzioni
(frontmatter YAML, wikilink, nomi file) e le tre operazioni — ingest, query, lint —
specificate passo per passo. Niente skill, niente regole path-scoped, niente hook o wrapper: l'operatore chiede
in linguaggio naturale («processa il verbale che ho messo in raw/», «chi ha lavorato ad Atlas?») e l'agente
esegue l'operazione corrispondente. La proposta si articola in tre fasi.
Una skill di ingest o di query duplicherebbe in un secondo posto ciò che il CLAUDE.md della wiki
già specifica — due copie della stessa procedura da tenere allineate. Il CLAUDE.md viene caricato
automaticamente da qualunque agente lanciato nella cartella: la specifica lì dentro basta.
E si co-evolve: quando il collaudo trova una convenzione migliore, si aggiorna lo schema (voce
schema nel log), non del codice.
La demo è locale. La fase 1 la rende condivisa e ne collauda lo schema.
SistecAM-AIStack, sincronizzata via
OneDrive su ogni PC autorizzato. Niente da progettare: funziona già.CLAUDE.md a livello utente (§3.4), così l'agente la consulta in ogni progetto
senza configurazione per-repo.raw/, chiedono l'ingest,
interrogano la wiki. Le domande che falliscono rivelano i buchi.CLAUDE.md: convenzioni più chiare, struttura per tipo più precisa, operazioni più robuste.La conoscenza aziendale vive già in Teams, OneNote e OneDrive. La fase 2 la porta nella wiki con un MCP server
e una nuova operazione nel CLAUDE.md — non una skill (vedi §8
per il dettaglio completo).
@softeria/ms-365-mcp-server in .mcp.json nella
cartella della wiki. Autenticazione OAuth2 gestita dal server, token locali.CLAUDE.md una quarta operazione che orchestra i
tool MCP: estrae messaggi Teams, pagine OneNote e file OneDrive e li deposita in raw/.La wiki vive se viene usata e curata. Serve un modello di governo leggero.
raw/ e la qualità dell'ingest: le entità sono corrette? Le relazioni sono aggiornate? Le fonti
sono citate? L'AI fa il grosso, ma un occhio umano mantiene la qualità. L'operazione lint del
CLAUDE.md è lo strumento: produce il report di salute su cui il canonicalizzatore decide.openspec/changes/archive/ con proposte e design, e .claude/claude-archive/
con i riepiloghi di sessione (skill archive) — entrambi contengono decisioni già scritte.
Un'operazione una tantum di retro-ingest popola wiki/ con questa conoscenza.log.md append-only è già la fonte: ogni voce ha prefisso parsabile
(## [AAAA-MM-GG] tipo | descrizione), quindi contare ingest e query al giorno è un
grep. Il valore della wiki cresce con la sua dimensione e il suo uso.openspec/changes/archive/ e .claude/claude-archive/ vivono nel repository
del progetto, non nella cartella della wiki: per finire in wiki/ l'operatore deve copiarli
in raw/ e chiedere l'ingest. Sono pochi secondi — copia-incolla del file più il prompt «fai
ingest» — e restano volutamente manuali: nessun hook o watcher che sincronizza il repo con la
wiki ad ogni sessione. Il punto di frizione minimo è il meccanismo di controllo: l'umano decide cosa dei suoi
documenti di progetto merita di diventare conoscenza aziendale condivisa, invece che ogni nota interna finire
automaticamente nella wiki. Stesso principio di §3.4/§3.2 punto 2: l'umano resta nel loop.
Alla fine della Fase 3, la wiki-LLM è il primo posto dove un operatore o un agente cerca la
conoscenza aziendale: «Chi ha lavorato a questo modulo? Quale decisione è stata presa sul pattern di autenticazione?
Dove è documentata l'architettura del progetto Atlas?» — la risposta sta nei file di wiki/, con
provenienza citata. Niente più «chiedi a Marco», niente più chat perse, niente più documenti sparsi in cartelle
personali.
Nel documento index si parla di due canali di condivisione — e di una terza gamba:
graphify per la mappa del codice. La wiki-LLM è il secondo canale.
I due canali sono indipendenti — vivono in posti diversi, si condividono in modi diversi — e
convergono solo sull'operatore, che installa le skill dal marketplace e cerca le informazioni nella wiki. Accanto a
loro, graphify mappa ogni singolo repository di codice in un knowledge graph per-progetto
(graphify-out/): non un terzo canale di condivisione, ma l'indice del progetto su cui
l'agente lavora.
raw/.Fig 2 è astratta — ecco dove finiscono davvero le cose sul PC. Skill e wiki vivono a livello
utente, una volta per PC, visibili da ogni progetto. La cartella del progetto resta pulita: solo
codice — più la mappa graphify (graphify-out/), che vive nella root del repo
insieme al codice che descrive. Nessuna skill, nessuna wiki dentro.
| Skill (marketplace) | Wiki-LLM | Graphify (per-progetto) | |
|---|---|---|---|
| Cosa | comportamenti, procedure, automazioni | fatti, decisioni, conoscenza | mappa e indice del codice: struttura, relazioni, dipendenze |
| Dove vive | .claude/skills/ nel repo | cartella OneDrive/NAS | graphify-out/ nella root del repo |
| Condivisione | PR su main protetto | sync automatica via OneDrive | nessuna — per-progetto, versionata in git con il codice |
| Versionamento | git | cronologia file + log | git (come qualsiasi file del repo) |
| Manutenzione | codice revisionato in PR | canonicalizzatore umano + ingest AI | graphify update . dopo ogni modifica al codice |
| Consumo | invocazione esplicita (/skill) o automatica (model-invocation) | query diretta o lettura agente | graphify query · path · explain, in ogni sessione sul repo |
Un operatore lavora su un progetto. Parte dalla mappa graphify del repo per orientarsi
(struttura, relazioni, chi chiama chi), usa le skill (via marketplace) per eseguire compiti ripetibili — code
review, commit, scaffolding — e quando serve contesto consulta la wiki-LLM: decisioni pregresse, architetture,
persone di riferimento. La conoscenza che produce (una decisione architetturale, un appunto tecnico) finisce
in raw/ e da lì nella wiki; la mappa del codice si aggiorna con graphify update .. Il
ciclo si chiude: i tre canali alimentano il lavoro, il lavoro alimenta i tre canali.
Claude Code ha una memoria automatica nativa per-progetto (~/.claude/projects/<repo>/memory/):
Claude stesso decide cosa annotarsi tra una sessione e l'altra — comandi di build, insight di debug, note di
architettura — senza intervento dell'operatore. Con marketplace + wiki-LLM copriamo già lo stesso spazio in modo
migliore, e la teniamo disattivata di default su ogni PC.
.claude/skills/, marketplace) e rules path-scoped (.claude/rules/). Fatti e decisioni
→ wiki-LLM. Struttura e relazioni del codice → graphify per-progetto. Non resta nulla che la
memoria automatica dovrebbe coprire lei sola.Ogni nozione utile a lungo termine ha già una casa esplicita e condivisa: comportamento → skill, convenzione di codice → rule, fatto o decisione → wiki, mappa del codice → graphify. Se qualcosa sembra "da ricordare" ma non rientra in nessuna di queste, il problema è che manca una voce nella wiki, una skill o una mappa graphify — non che serva la memoria automatica. Disattivarla forza a scrivere la conoscenza nel posto giusto, condiviso, invece di lasciarla in un file locale che solo quell'operatore, su quel PC, vedrà mai.
Un operatore ereditato un modulo senza documentazione chiede: «Chi ha lavorato a gestione-mescole?».
L'AI consulta wiki/progetti/gestione-mescole.md, segue i link alle persone e risponde: «Marco Manfrin
e Davide Conti, vedi le decisioni in wiki/decisioni/.» Con provenienza citata.
«Perché il modulo auth usa JWT rotation invece di sessioni?» L'AI trova la decisione in
wiki/decisioni/auth-jwt-rotation.md, scritta dopo un'analisi dei requisiti, e cita la fonte in
raw/ (il verbale della riunione del 15 marzo 2026).
L'AI naviga il grafo da wiki/concetti/strangler-fig-pattern.md, segue le relazioni
usato-da verso i progetti, e rispone: «Progetto Atlas e Gestione Mescole. Vedi
wiki/progetti/progetto-atlas.md per i dettagli.»
Dopo un incontro tecnico, un partecipante scrive appunti in raw/2026-07-22-verbale-riunione.md e
chiede all'agente di processarli. L'AI esegue l'operazione di ingest del CLAUDE.md: discute i
takeaway, scrive il riassunto in wiki/fonti/, aggiorna le pagine di decisioni, persone e concetti
toccate. I colleghi possono subito interrogare la wiki sulle decisioni prese.
I repository dei progetti Sistec hanno openspec/changes/archive/ con decine di proposte e design
documentati, e .claude/claude-archive/ con i riepiloghi di sessione della skill archive.
Una tantum, l'operatore li copia in raw/ e chiede un ingest massivo: l'AI legge gli archive, estrae
decisioni e architetture, e popola wiki/ con la conoscenza già prodotta. La wiki parte già piena.
Ogni risposta della wiki-LLM cita la fonte (fonti/ e raw/). Non è «l'AI ha detto»:
è «il verbale della riunione del 15 marzo dice». La differenza tra un parere e una fonte verificabile.
| Fase | Cosa | Tempo | Dipendenza |
|---|---|---|---|
| Fase 1 | Condivisione e collaudo: cartella su OneDrive/NAS, pilota con 2-3 operatori, affinamento del CLAUDE.md |
1 settimana | demo sistec-llm-wiki funzionante |
| Fase 2 | Ingest M365: server MCP, operazione sync-m365 nel CLAUDE.md, filtri team/canali/notebook |
2 settimane | Fase 1 completata, Claude Code installato sugli operatori pilota |
| Fase 3 | Adozione: canonicalizzatore, retro-ingest progetti, metriche dal log | continua | Fase 2 completata, adesione del team |
La Fase 1 non richiede autorizzazioni speciali né sviluppo: la demo esiste già e il CLAUDE.md
con convenzioni e operazioni è già scritto. Basta spostare la cartella su OneDrive condiviso e far partire
il pilota. Il costo è zero infrastruttura e zero codice.
Finora la wiki-LLM si basa su file depositati manualmente in raw/. Ma la conoscenza aziendale
esiste già — nei messaggi Teams, nei notebook OneNote, nei documenti OneDrive. Con un MCP server per
Microsoft 365, Claude Code può accedervi direttamente e portarli nell'ingest.
Invece di skill che chiamano Graph API (token da gestire, auth custom), un MCP server espone tool che Claude chiama come qualsiasi altro tool. L'autenticazione OAuth2 la gestisce il server una volta — niente secret nel repo.
Il server di riferimento è @softeria/ms-365-mcp-server (github), 200+ tool su
Graph API. Si configura in .mcp.json:
{
"mcpServers": {
"ms365": {
"command": "npx",
"args": ["-y", "@softeria/ms-365-mcp-server", "--org-mode"]
}
}
}
| Sorgente | Tool MCP | Cosa estrarre |
|---|---|---|
| Teams | list-joined-teams, list-team-channels,
list-channel-messages, get-channel-message | decisioni emerse in canali di progetto, discussioni tecniche, risposte a problemi |
| Teams chat | list-chats, list-chat-messages,
get-chat-message | conversazioni 1:1 che contengono decisioni o specifiche |
| OneNote | list-onenote-notebooks, list-onenote-section-pages,
get-onenote-page-content | appunti riunioni, specifiche tecniche, verbali già scritti |
| OneDrive | list-folder-files, download-onedrive-file-content |
documenti .docx/.pdf fuori dalla cartella wiki, specifiche fornite dai clienti |
Teams richiede --org-mode (account aziendale). OneNote e OneDrive funzionano anche in modalità
personale. Il server supporta preset per caricare solo i tool necessari e risparmiare contesto:
# Solo Teams (--org-mode + --preset teams) npx @softeria/ms-365-mcp-server --org-mode --preset teams # Solo OneNote npx @softeria/ms-365-mcp-server --preset onenote # Solo OneDrive npx @softeria/ms-365-mcp-server --preset onedrive
L'operazione sync-m365 — una sezione in più nel CLAUDE.md della wiki, accanto a ingest,
query e lint — orchestra i tool MCP in sequenza e deposita il risultato in raw/:
raw/, poi l'ingest standard lo canonicalizza in wiki/.L'operazione segue questa sequenza:
Progetto Atlas, FAEL, ecc.),
elenca i canali, poi per ogni canale legge i messaggi dell'ultima settimana. Scrive in
raw/teams/<team>-<canale>-YYYY-MM.md.raw/teams/chat-<persona>-YYYY-MM.md.Riunioni Sistec, Specifiche),
elenca sezioni e pagine, estrae il contenuto delle pagine nuove o aggiornate. Scrive in
raw/onenote/<notebook>-<sezione>-<pagina>.md.raw/onedrive/<progetto>-<file>.md.// CLAUDE.md della wiki — sotto «Operazioni», dopo ingest/query/lint ### 4. Sync M365 (acquisizione da Teams, OneNote, OneDrive) Quando l'umano chiede di sincronizzare da Microsoft 365 (eventualmente con un filtro, es. «solo il team Atlas»): 1. Lista i team conlist-joined-teams; applica il filtro se presente. 2. Per ogni team: elenca canali, poi messaggi degli ultimi 7 giorni. - Salta i messaggi già processati (confronta timestamp con ultimo sync nel log). - Scrivi inraw/teams/<team>-<canale>.md. 3. Per OneNote: elenca notebook, sezioni, pagine nuove. - Scrivi inraw/onenote/<notebook>-<pagina>.md. 4. Per OneDrive: elenca file nuovi in cartelle condivise. - Scarica .docx, converti in markdown, scrivi inraw/onedrive/<file>.md. 5. Appendi una riga alog.md(tipo: sync-m365). 6. Riepiloga: «Processati X messaggi, Y pagine, Z file. Procedo con l'ingest?»
L'ingest porta nella wiki solo la conoscenza stabile — ciò che è stato selezionato e canonicalizzato. Per domande su contenuto transitorio (es. «cosa si è detto ieri su Teams riguardo al modulo auth?»), Claude può chiamare i tool MCP direttamente in tempo reale, senza aspettare l'ingest. La wiki resta per la conoscenza consolidata; Teams/OneNote per il flusso vivo.
| Wiki-LLM (ingest) | MCP live (retrieval diretto) | |
|---|---|---|
| Cosa contiene | conoscenza canonicalizzata, stabile, revisionata | tutto il contenuto grezzo di Teams/OneNote/OneDrive |
| Qualità | entità strutturate, relazioni, provenienza citata | rumore, duplicati, non strutturato |
| Quando usarlo | decisioni pregresse, architetture, chi-ha-fatto-cosa | «cos'è successo ieri», messaggi recenti, bozze |
| Velocità | immediata (file locali già indicizzati) | dipende da Graph API (latenza rete) |
| Costo contesto | basso (legge solo i file pertinenti) | ogni chiamata MCP consuma contesto |
L'ingest M365 via MCP alimenta la wiki con la conoscenza che merita di essere conservata (decisioni, architetture, specifiche). Il retrieval live via MCP risponde a domande sul transitorio (chat recenti, bozze, appunti). I due canali sono complementari: nessuno sostituisce l'altro.
L'integrazione M365 è la Fase 2 della roadmap: si configura il server MCP in
.mcp.json e si aggiunge l'operazione sync-m365 al CLAUDE.md.
Il grosso del lavoro è definire i filtri (quali team/canali/notebook sono rilevanti) per evitare rumore.
Una volta a regime, la sincronizzazione si chiede in linguaggio naturale («sincronizza il team Atlas»)
e prepara i nuovi contenuti per l'ingest standard.
Il server @softeria/ms-365-mcp-server usa MSAL con device code flow: la prima volta si
autentica via browser, poi i token sono cachati in locale. Per uso enterprise serve un Azure AD app
registration con i permessi Graph: ChannelMessage.Read.All,
Notes.Read.All, Files.Read.All (solo lettura — l'ingest non scrive su M365).
In Sistec le licenze Claude sono condivise: più persone usano lo stesso account Anthropic. Questo ha implicazioni profonde su dove e come vengono conservati i token di accesso ai servizi Microsoft 365, a seconda della superficie di Claude utilizzata.
| Claude Code (MCP locale) | Claude Cowork (connector built-in) | |
|---|---|---|
| Configurazione | file .mcp.json o ~/.claude.json locale | via claude.ai (connector nel workspace Anthropic) |
| Token OAuth | OS credential store / file locale (0600) | server Anthropic (infrastruttura cloud) |
| Legato all'account Anthropic? | No — puramente locale | Sì — il token è associato all'account |
| Accessibile dai colleghi? | No — ogni PC ha i propri token | Sì — stesso account = stesso token |
Con un account Anthropic condiviso, se un operatore collega Microsoft 365 a Claude Cowork via connector built-in (es. il connector Microsoft 365 dal catalogo claude.ai), il token OAuth viene memorizzato sui server Anthropic e chiunque acceda allo stesso account può interrogare quei dati — mail, calendario, file OneDrive — via Cowork.
Il problema non si pone con Claude Code o con i local MCP server configurati in Cowork via Settings > Developer Tools > MCP: in entrambi i casi i token risiedono nel credential store del PC locale. I colleghi su altri computer non hanno accesso.
Nel contesto della wiki-LLM, lo scenario pianificato usa @softeria/ms-365-mcp-server come MCP
server locale (npx via stdio), non come connector Cowork built-in. Questo è il modello
sicuro con account condiviso: il token OAuth di Microsoft resta nel credential store di ogni
operatore, configurato per il proprio account M365 aziendale. I colleghi vedono solo i propri dati.
Non usare i connector built-in di Claude Cowork per Microsoft 365 in presenza di
account Anthropic condivisi. Usare invece il server MCP locale @softeria/ms-365-mcp-server
configurato via .mcp.json (Claude Code) o via Developer Tools (Cowork), così ogni operatore
autorizza il proprio account M365 e i token restano sul proprio PC. Se in futuro Sistec passa a un piano
Team/Enterprise con account separati e SSO, i connector built-in diventano sicuri perché ogni utente
autorizza i propri servizi individualmente.
Per approfondimento: la documentazione ufficiale Anthropic conferma che i token dei connector sono memorizzati nei server Anthropic ("Anthropic stores encrypted access tokens and refresh tokens" — Authentication for connectors), e il modello di autorizzazione prevede che ogni utente su piani Team/Enterprise autorizzi individualmente i propri servizi ("each person still needs to authenticate individually before they can use it" — Use connectors). Su un account condiviso (Pro/Max) questa separazione non esiste.
.claudegraphify-out/