# Token Paperless per Loogle MCP ## Cosa NON usare: token «Applicazione social» Nell'admin Django di Paperless (`/admin/socialaccount/socialtoken/`) compare il form **«Aggiungi token dell'applicazione social»** con campi Token, Token segreto, Scade il. Questi token servono a **django-allauth** per il login OAuth web (Google, Microsoft, ecc.) su Paperless. **Non** sono token dell'API REST di Paperless e **non** vanno usati per Loogle MCP. Non devi configurare nulla in quella schermata per il nostro hub MCP. --- ## Cosa usare: token API utente Paperless espone un'API REST autenticata con header: ``` Authorization: Token ``` Ogni utente Paperless ha il proprio token, legato ai permessi di quell'account (documenti visibili, tag, ecc.). ### Dove generarlo Per **ogni** familiare con account Paperless (daniele, lucia, davide, luca): 1. Accedi a https://docs.loogle.it con quell'account 2. Menu utente (in alto a destra) → **Profilo** / **Il mio profilo** 3. Sezione **Token API** → pulsante freccia circolare (rigenera token) 4. Copia il token nella riga corrispondente di `.env` Alternativa admin: Django admin → **Token** (app `authtoken`), associato all'utente. --- ## Configurazione in Loogle MCP Modifica `/home/daniely/docker/loogle-mcp/.env`: ### Opzione consigliata — token per utente (4 familiari) ```env PAPERLESS_URL=https://docs.loogle.it PAPERLESS_API_TOKEN_DANIELE= PAPERLESS_API_TOKEN_LUCIA= PAPERLESS_API_TOKEN_DAVIDE= PAPERLESS_API_TOKEN_LUCA= ``` | Utente MCP | Variabile `.env` | Account Paperless | |------------|------------------|-------------------| | Daniele | `PAPERLESS_API_TOKEN_DANIELE` | utente admin / superuser | | Lucia | `PAPERLESS_API_TOKEN_LUCIA` | utente Lucia | | Davide | `PAPERLESS_API_TOKEN_DAVIDE` | utente Davide | | Luca | `PAPERLESS_API_TOKEN_LUCA` | utente Luca | Righe vuote = utente saltato dall'indexer finché non inserisci il token. ### Opzione alternativa — un solo token admin Se preferisci un unico account Paperless (es. Daniele superuser): ```env PAPERLESS_API_TOKEN= ``` Tutti gli utenti MCP useranno quel token in fallback. ### Opzione C — mappa JSON ```env PAPERLESS_API_TOKENS={"daniele":"...","lucia":"...","davide":"...","luca":"..."} ``` --- ## Comportamento nel sistema | Componente | Comportamento | |------------|---------------| | **Indexer** | Usa tutti i token configurati, unisce l'elenco documenti (deduplica per ID) | | **`search_knowledge`** | Cerca su tutto ciò che è stato indicizzato | | **`get_document`** | Usa il token dell'utente MCP loggato; se manca, fallback su `PAPERLESS_API_TOKEN` o token Daniele | Con token separati, ogni familiare può scaricare via MCP solo i documenti visibili al proprio account Paperless. --- ## Applicare le modifiche ```bash cd /home/daniely/docker/loogle-mcp # modifica .env con i token reali docker compose restart loogle-mcp loogle-mcp-indexer docker logs loogle-mcp-indexer --tail 30 ``` Log atteso: indicizzazione da `daniele`, `lucia`, `davide`, `luca` (solo utenti con token impostato). --- ## Checklist onboarding Paperless - [ ] Account Paperless creato per daniele, lucia, davide, luca (se non esistono) - [ ] Token API generato per ciascuno (Profilo → Token API) - [ ] Quattro righe compilate in `.env` - [ ] `docker compose restart loogle-mcp loogle-mcp-indexer` - [ ] Log indexer senza errori 401