Task Manager
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Task Manageradd 'buy flowers tomorrow' to my tasks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Task Manager per Claude (MCP) su Cloudflare
Un task manager personale, lavoro e vita privata insieme, che puoi usare in due modi:
parlando con Claude, anche dal telefono: "Oggi devo mandare le planimetrie al fornitore e domani comprare i fiori". Claude capisce che sono due task, li classifica e assegna le date;
da una web app che aggiungi alla Home del telefono e che si comporta come un'app: Oggi, Inbox, Prossimi 7 giorni, Progetti, Cerca, Fatte, Cestino.
Tutto gira sul piano gratuito di Cloudflare. Il costo aggiuntivo è zero, oltre all'abbonamento a Claude che probabilmente hai già. I dati stanno in un database sul tuo account.
Stato del progetto. Nato per uso personale e usato per settimane, ma non è stato sottoposto a una revisione di sicurezza esterna. Leggi la sezione Sicurezza e usalo a tuo rischio.
Quando ha senso (e quando no)
Per la maggior parte delle persone esistono già connettori pronti per Claude (Todoist, Asana, Notion): si aggiungono in due minuti e non serve costruire nulla. Questo progetto ha senso se vuoi:
tenere i dati in un database tuo, non in un servizio di terzi;
decidere tu le regole (cosa è lavoro, cosa va in Inbox, cestino di 30 giorni);
capire come funziona un MCP dall'interno.
Related MCP server: backlog
Come funziona
Claude (app, web, telefono) ── MCP ──┐
Web app sul telefono (PWA) ──────────┼──► Cloudflare Worker ──► D1 (database)
│ │
│ └─ KV (permessi OAuth)
└─ tutto dietro la tua passwordUn solo Worker fa tre cose: espone il server MCP (/mcp), le API REST (/api/*) e la web app. Non c'è nessun server acceso: Cloudflare avvia il codice quando arriva una richiesta.
Cosa | Dove sta |
Codice e web app | Cloudflare Worker ( |
Task e progetti | D1, database SQLite gestito da Cloudflare |
Permessi di Claude | KV, un piccolo archivio chiave-valore |
Segreti (password, chiavi) | Cloudflare secrets, mai nel codice |
Cosa serve
Un account Cloudflare (gratuito, non chiede la carta): dash.cloudflare.com
Node.js 22 o superiore (
node -vper controllare)Claude con un connettore personalizzato: il piano gratuito ne permette uno, Pro e Max di più. I connettori personalizzati si aggiungono da claude.ai (web o desktop) e poi si usano anche da telefono. L'installazione diretta da mobile è ancora in beta.
Installazione
Fai i passi in ordine, dal terminale, dentro la cartella del progetto.
1. Scarica e installa
git clone https://github.com/SimoCingo/task-manager-mcp.git
cd task-manager-mcp
npm install2. Prova in locale (facoltativo, ma consigliato)
cp .dev.vars.example .dev.vars # su Windows PowerShell: Copy-Item .dev.vars.example .dev.vars
npm run db:locale # crea il database locale
npm run dev # avvia su http://127.0.0.1:8787In un altro terminale:
npm testIl test fa passare per login, OAuth e tutti gli strumenti MCP. Deve finire con 70 ok, 0 falliti. Crea task di prova e si aspetta un database locale vuoto: per ripeterlo ferma il server, cancella la cartella .wrangler/state, rilancia npm run db:locale e riavvia npm run dev. Rifiuta di girare su qualsiasi indirizzo che non sia locale, quindi non può toccare la tua installazione vera.
3. Collega il tuo account Cloudflare
npx wrangler loginSi apre il browser: accedi e clicca Allow.
4. Crea database e archivio
npx wrangler d1 create task-manager --location weur
npx wrangler kv namespace create OAUTH_KV--location weur sceglie l'Europa occidentale; usa enam o wnam se sei in Nord America.
Se Wrangler chiede "Would you like Wrangler to add it on your behalf?" rispondi No. Ognuno dei due comandi stampa un identificativo: copiali in wrangler.jsonc, al posto degli zeri (database_id e id).
5. Crea le tabelle
npm run db:remoto6. Imposta i segreti
I segreti li scrivi tu, nel terminale: non vanno mai in un file, in una chat o in un messaggio.
npx wrangler secret put APP_PASSWORDScegli una frase di più parole, non una parola breve. Quando scrivi non compare nulla: è normale. È la password che userai per collegare Claude e per entrare nella web app.
npx wrangler secret put SESSION_SECRETQui incolla una stringa casuale lunga. Un modo per generarla:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"Copia l'output e incollalo quando Wrangler lo chiede.
7. Pubblica
npm run deployLa prima volta Wrangler registra un sottodominio workers.dev per il tuo account, spesso scegliendolo da solo a partire dal nome o dall'email dell'account. Controlla l'indirizzo che stampa alla fine: è pubblico e potrebbe contenere il tuo nome. Se non ti piace puoi cambiarlo dal pannello Cloudflare (Workers & Pages → Change accanto a "Your subdomain*"). Meglio farlo prima di collegare Claude, perché dopo il connettore va ricreato con il nuovo indirizzo. Ecco l'indirizzo del tuo servizio:
https://task-manager.<il-tuo-nome>.workers.devAprilo nel browser: dovresti vedere la pagina di accesso.
8. Collega Claude
Da claude.ai, sul computer:
Customize → Connectors → + → Add custom connector
Nome:
Task ManagerURL: il tuo indirizzo seguito da
/mcp, cioèhttps://task-manager.<il-tuo-nome>.workers.dev/mcpAdd, poi Connect: si apre una pagina con la password che hai impostato al passo 6.
La pagina mostra chi chiede l'accesso e a quale indirizzo verrà consegnato il permesso. Controlla che sia Claude.
Da quel momento il connettore funziona anche dall'app di Claude sul telefono. Alla prima richiesta Claude chiede il permesso di usare gli strumenti: puoi scegliere di consentirli sempre.
9. Aggiungi la web app alla Home
Sul telefono apri l'indirizzo del servizio (senza /mcp), entra con la password, poi:
iPhone (Safari): Condividi → Aggiungi alla schermata Home
Android (Chrome): menu ⋮ → Aggiungi a schermata Home / Installa app
Come si usa
Dopo aver collegato il connettore, in una chat con Claude prova:
"Oggi devo mandare le planimetrie al fornitore e domani comprare i fiori"
"Cosa ho da fare oggi?"
"Come sono messo questa settimana?"
"Sposta a domani quello che non ho chiuso"
"Smista l'inbox" (assegna area, progetto e data ai task aggiunti dalla web app)
"Facciamo la revisione settimanale"
Gli strumenti che Claude può usare
Strumento | A cosa serve |
| Conteggi: inbox, in ritardo, oggi, prossimi 7 giorni |
| Elenco e ricerca, con filtri (vista, area, progetto, date, testo) |
| Crea uno o più task in una chiamata |
| Modifica uno o più task (anche in blocco) |
| Chiude o riapre |
| Sposta nel cestino (recuperabile per 30 giorni) |
| Progetti con numero di task aperti |
| Arretrati, task fermi da 14 giorni, inbox, chiusi negli ultimi 7 giorni |
Come si comporta
Un task senza area finisce in Inbox, da smistare dopo. La web app aggiunge sempre in Inbox: non interpreta il linguaggio, quello lo fa Claude.
Eliminare significa cestino, non cancellare: un cron giornaliero svuota solo quello che ci sta da più di 30 giorni.
Gli errori tornano a Claude come testo leggibile, così si corregge da solo.
Personalizzare
Cosa | Dove |
Fuso orario (decide quando "oggi" diventa "domani") |
|
Cosa conta come "lavoro" per te |
|
Le istruzioni che riceve Claude (lingua, tono, regole) | funzione |
Aspetto della web app |
|
Colore e forma dell'icona |
|
Dopo ogni modifica: npm run deploy. Le istruzioni per Claude sono in italiano; se le traduci, traduci anche i titoli d'esempio.
Sicurezza
Cosa c'è:
Ogni richiesta richiede il login. Le API rispondono 401 senza cookie o token; il connettore MCP usa OAuth 2.1 con PKCE e la tua password.
Limite ai tentativi di accesso: 5 errori dallo stesso indirizzo in 15 minuti bloccano quell'indirizzo, 30 in totale bloccano tutto.
Confronto delle password a tempo costante e cookie firmato (HMAC),
HttpOnly,Secure,SameSite=Lax.Le richieste che modificano dati devono arrivare dallo stesso sito e in JSON, contro le richieste inviate da altre pagine.
La pagina di autorizzazione mostra il nome del client e dove verrà mandato il permesso, con testi escapati e header di sicurezza (CSP, niente iframe).
Nessun segreto nel codice: stanno nei secrets di Cloudflare.
Cosa devi fare tu:
Scegli una password lunga (una frase). È l'unica difesa dell'installazione.
Non pubblicare
.dev.varse non incollare mai password o token in chat.Il permesso dato a Claude dura 180 giorni. Per chiuderlo prima: rimuovi il connettore da claude.ai. Per invalidare tutti i permessi svuota il namespace
OAUTH_KVdal pannello Cloudflare; per chiudere le sessioni della web app cambiaSESSION_SECRET.L'indirizzo del servizio è pubblico: non è segreto, ma non c'è motivo di diffonderlo.
Se trovi un problema di sicurezza, apri una segnalazione senza pubblicare dettagli sfruttabili.
Limiti noti
Nessun riepilogo automatico. I task programmati di Claude oggi non riescono ad agganciare in modo affidabile un connettore personalizzato (segnalazione). Il riepilogo lo chiedi tu a Claude.
Nessun task ricorrente, nessun promemoria a orario, nessuna notifica.
La web app non capisce il linguaggio: aggiunge il titolo in Inbox.
Un solo utente. Non è pensato per essere condiviso.
Costruirlo con Claude Code
Se preferisci farti guidare, apri questa cartella con Claude Code e scrivi:
Leggi il README e guidami nell'installazione sul mio account Cloudflare, un passo alla volta. Non chiedermi mai di incollare password o token: li inserisco io nel terminale.
Per adattarlo a te (altra lingua, altre aree oltre a lavoro/privato) leggi prima CLAUDE.md: spiega le regole del progetto.
Struttura
src/index.js ingresso: OAuth davanti a /mcp, il resto all'app
src/mcp.js server MCP: strumenti e istruzioni per il modello
src/api.js API REST per la web app e per gli script
src/store.js l'unico file che scrive SQL
src/dates.js l'unica risposta a "che giorno e' oggi"
src/auth.js password, sessione, limite tentativi
src/authorize.js pagina della password del flusso OAuth
public/ web app (HTML, CSS, JS senza build) e icone
migrations/ schema del database
scripts/ test di verifica e generatore di iconeLicenza
MIT. Fanne quello che vuoi, senza garanzie.
This server cannot be deployed
Maintenance
Related MCP Connectors
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for TickTick using the official OAuth 2.0 API. Create, list, update, complete, and delete tasks just by talking to Claude.73MIT
- AlicenseAqualityDmaintenancePersistent, cross-session task management for Claude Code. 24 MCP tools for tasks, projects, dependencies, and docs. 7 skills for planning, standups, and handoffs. Event-sourced storage with per-project isolation.5MIT
- FlicenseNot gradedqualityDmaintenanceEnables interacting with TickTick tasks and projects through natural language via Claude and other MCP clients.-
- FlicenseNot gradedqualityCmaintenanceEnables Claude Desktop and other MCP clients to manage Todoist tasks, projects, and labels through natural language.3-