109 lines
3.3 KiB
Markdown
109 lines
3.3 KiB
Markdown
# 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 <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=<token-daniele>
|
|
```
|
|
|
|
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
|