Documentazione API & MCP

Integra Simple Stickers con agenti AI, Claude e script di automazione

πŸ”‘

Autenticazione

Sia l'API REST che il server MCP utilizzano l'autenticazione tramite token Bearer attraverso una chiave API.

Tipo di token Durata Come ottenerlo
ss_<40 caratteri esadecimali> β€” Chiave API Lunga durata β€” valida fino alla revoca Genera in Impostazioni Account β†’ Scheda API

πŸ”§ Generazione di una chiave API

  1. 1 Apri Simple Stickers e fai clic sul tuo avatar in alto a destra
  2. 2 Vai a Impostazioni Account β†’ Scheda API
  3. 3 Fai clic su Genera chiave API, opzionalmente dagli un nome
  4. 4
    Copia la chiave immediatamente β€” viene mostrata solo una volta

    La chiave inizia con ss_ seguito da 40 caratteri esadecimali.

πŸ“€ Utilizzo del token

Passa il token in ogni richiesta come header Authorization Bearer:

Authorization: Bearer ss_a1b2c3d4e5f6...

Le chiavi API sono limitate all'utente che le ha create. Tutte le operazioni sui dati restituiscono solo i dati di quell'utente.

πŸ“‘

API REST

🌐 Endpoint

POST https://www.simplestickers.app/api/agent Content-Type: application/json Authorization: Bearer <token>

πŸ“¨ Corpo della richiesta

Tutte le azioni condividono lo stesso envelope JSON:

{ "action": "<action_name>", "<param>": "<value>" }

πŸ“¬ Risposte

  • 200 OK Successo β€” dati JSON nel corpo
  • 4xx / 5xx Errore β€” {"error": "message"}
πŸ“

Progetti

list_projects

Restituisce tutti i progetti appartenenti all'utente autenticato.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"list_projects"}'

Risposta: array di oggetti {"id","name","created_at"}.

find_project

Ricerca parziale del nome senza distinzione tra maiuscole e minuscole. Restituisce un array di progetti corrispondenti.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"find_project","name":"My Work"}'
ParametroTipoObbligatorio
namestringSì

create_project

Crea un nuovo progetto. Restituisce l'oggetto progetto creato.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"create_project","name":"Q3 Campaign"}'
ParametroTipoObbligatorio
namestringSì

rename_project

Rinomina un progetto esistente.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"rename_project","project_id":"<uuid>","name":"New Name"}'
ParametroTipoObbligatorio
project_idstring (UUID)Sì
namestringSì

delete_project

Elimina un progetto e tutte le sue attivitΓ  (cascade). Restituisce {"success":true}.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"delete_project","project_id":"<uuid>"}'
⚠️ Irreversibile. Tutte le attività nel progetto vengono eliminate permanentemente.
πŸ“

AttivitΓ 

list_tasks

Restituisce le attivitΓ  in un progetto, ordinate per posizione. Opzionalmente filtrate per stato.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"list_tasks","project_id":"<uuid>"}' # Filtra per stato: -d '{"action":"list_tasks","project_id":"<uuid>","status":"in_progress"}'
ParametroTipoObbligatorioDescrizione
project_idstring (UUID)Sì
statusstringNoFiltra per valore di stato (vedi enum sotto)

get_task

Restituisce una singola attivitΓ  per ID, incluso il suo project_id.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"get_task","task_id":"<uuid>"}'

create_task

Crea una nuova attivitΓ  in un progetto. Restituisce l'oggetto attivitΓ  creato.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "action": "create_task", "project_id": "<uuid>", "text": "Write unit tests", "priority": true, "color": "yellow", "deadline": "2026-06-30", "notes": "## Context\n\n- Cover happy path\n- Cover edge cases" }'
ParametroTipoObbligatorioPredefinito
project_idstring (UUID)Sì
textstringSì
statusstringNobacklog
notesstring (Markdown)Nonull
prioritybooleanNofalse
colorstring | nullNonull (bianco)
deadlinestring (YYYY-MM-DD) | nullNonull

update_task

Aggiorna uno o piΓΉ campi di un'attivitΓ  esistente. Almeno un campo opzionale deve essere fornito.

# Sposta attivitΓ  a in_progress: curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"update_task","task_id":"<uuid>","status":"in_progress"}' # Aggiorna piΓΉ campi contemporaneamente: -d '{"action":"update_task","task_id":"<uuid>","priority":true,"color":"green","deadline":null}'
ParametroTipoObbligatorio
task_idstring (UUID)Sì
textstringNo
statusstringNo
notesstring (Markdown) | nullNo
prioritybooleanNo
colorstring | nullNo
deadlinestring (YYYY-MM-DD) | nullNo

delete_task

Elimina permanentemente un'attivitΓ . Restituisce {"success":true}.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"delete_task","task_id":"<uuid>"}'

πŸ“‹ Valori Enum

status

  • backlog
  • in_progress
  • review
  • testing
  • done

color

  • yellow
  • green
  • blue
  • null (bianco)

deadline

stringa YYYY-MM-DD, oppure null per cancellare.

priority

true = prioritΓ  alta
false = normale

πŸ“„

Note AttivitΓ  (Markdown)

Le note delle attivitΓ  sono archiviate e trasmesse come stringhe Markdown semplici. Il frontend le visualizza tramite react-markdown. Scrivi e leggi sempre Markdown β€” non HTML.

Sintassi Risultato
**text**Grassetto
*text*Corsivo
~~text~~Barrato
## HeadingTitolo H2
### HeadingTitolo H3
- itemElenco puntato
1. itemElenco numerato
`code`Codice inline
```\ncode\n```Blocco di codice
> textCitazione
[text](url)Hyperlink

πŸ“‹ Nota di esempio in create_task

"notes": "## Task overview\n\n- Requirement 1\n- Requirement 2\n\n**Important:** deadline is Friday\n\n[Design brief](https://example.com/brief)"
Note precedenti: Le note salvate prima della migrazione Markdown potrebbero contenere HTML. Il frontend le converte automaticamente al momento della visualizzazione. Durante la lettura tramite l'API, le note precedenti potrebbero restituire stringhe HTML β€” scrivi sempre Markdown, accetta HTML durante la lettura.
βš™οΈ

Impostazioni

get_column_settings

Restituisce le impostazioni di visibilitΓ  delle colonne Kanban dell'utente.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"get_column_settings"}'

Risposta di esempio:

{ "columns": { "backlog": true, "in_progress": true, "review": false, "testing": false, "done": true } }

columns Γ¨ null se l'utente non ha personalizzato la visibilitΓ  delle colonne (si applicano tutti i predefiniti).

❌

Riferimento Errori

Stato HTTP Valore error Significato
401 Unauthorized Token mancante o non valido
400 Missing <param> Parametro obbligatorio non fornito
400 Unknown action Nome azione non riconosciuto
403 Key management requires JWT authentication Tentativo di gestire le chiavi con un token di chiave API
500 varia Errore server inaspettato
πŸ€–

Integrazione MCP

Cos'Γ¨ MCP?

MCP (Model Context Protocol) Γ¨ uno standard che consente ai client AI (Claude Code, Claude Desktop, Cursor…) di connettersi a strumenti esterni. A differenza dell'API REST, il server MCP si descrive da solo β€” il client chiede quali strumenti esistono, poi li chiama direttamente senza bisogno di conoscere URL o formati di richiesta.

βœ… Usa MCP quando…

  • β€’ Vuoi che Claude gestisca i tuoi compiti in modo conversazionale
  • β€’ Hai bisogno che l'AI scopra da sola le operazioni disponibili
  • β€’ Preferisci un'integrazione plug-and-play con Claude Code / Claude Desktop
  • β€’ Vuoi usare il linguaggio naturale invece di scrivere comandi curl

πŸ“‘ Usa API REST quando…

  • β€’ Stai costruendo i tuoi script di automazione o pipeline CI
  • β€’ Hai bisogno di un controllo granulare sulle richieste HTTP
  • β€’ Stai integrando con sistemi che non supportano MCP
  • β€’ Vuoi elaborare le risposte a livello di programmazione

πŸ› οΈ Strumenti MCP Disponibili

list_projects

find_project

create_project

rename_project

delete_project

get_column_settings
list_tasks

get_task

create_task

update_task

delete_task
Endpoint MCP: https://www.simplestickers.app/api/mcp (Trasporto HTTP Streamable, JSON-RPC 2.0)
πŸ’»

Configurazione Claude Code

Claude Code supporta nativamente i server HTTP MCP β€” nessun proxy necessario. Configura una volta globalmente o per progetto.

🌐 Configurazione globale β€” ~/.claude/mcp.json

Si applica a tutte le sessioni di Claude Code sulla tua macchina:

{ "mcpServers": { "simplestickers": { "type": "http", "url": "https://www.simplestickers.app/api/mcp", "headers": { "Authorization": "Bearer ss_your_api_key_here" } } } }

πŸ“ Configurazione per progetto β€” .mcp.json nella radice del progetto

Stesso formato della configurazione globale β€” si applica solo quando lavori all'interno di quella directory:

{ "mcpServers": { "simplestickers": { "type": "http", "url": "https://www.simplestickers.app/api/mcp", "headers": { "Authorization": "Bearer ss_your_api_key_here" } } } }

βœ… Verifica la connessione

Dopo aver salvato la configurazione, apri Claude Code e digita:

/mcp

Dovresti vedere simplestickers elencato con tutti i 11 strumenti disponibili. Se il server Γ¨ disconnesso, fai clic su Riconnetti.

πŸ–₯️

Configurazione Claude Desktop

Importante: Claude Desktop non supporta il trasporto HTTP MCP direttamente β€” utilizza solo il trasporto stdio. Usa mcp-remote come proxy. Il flag -y approva automaticamente l'installazione npm senza richieste interattive.

🍎 macOS

File di configurazione: ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "simplestickers": { "command": "npx", "args": [ "-y", "mcp-remote", "https://www.simplestickers.app/api/mcp", "--header", "Authorization: Bearer ss_your_api_key_here" ] } } }

πŸͺŸ Windows

File di configurazione: %APPDATA%\Claude\claude_desktop_config.json

(di solito C:\Users\<name>\AppData\Roaming\Claude\claude_desktop_config.json)

Su Windows, Claude Desktop avvia i processi senza un contesto di shell, quindi npx deve essere racchiuso in cmd /c:

{ "mcpServers": { "simplestickers": { "command": "cmd", "args": [ "/c", "npx", "-y", "mcp-remote", "https://www.simplestickers.app/api/mcp", "--header", "Authorization: Bearer ss_your_api_key_here" ] } } }
Dopo aver modificato la configurazione, riavvia Claude Desktop. Dovresti vedere gli strumenti Simple Stickers apparire nell'elenco degli strumenti all'interno di una conversazione.
πŸ’‘

Esempi Rapidi

πŸ“‘ Flusso di lavoro REST completo β€” trova progetto β†’ crea attivitΓ  β†’ aggiorna stato

BASE="https://www.simplestickers.app/api/agent" TOKEN="ss_your_api_key_here" # 1. Trova il progetto curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"find_project","name":"My Work"}' # 2. Crea un'attivitΓ  (usa project_id dal passo 1) curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "action": "create_task", "project_id": "<project-uuid>", "text": "Write unit tests", "priority": true, "color": "yellow" }' # 3. Sposta l'attivitΓ  a in_progress (usa task id dal passo 2) curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "action": "update_task", "task_id": "<task-uuid>", "status": "in_progress" }' # 4. Segna come completato curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"update_task","task_id":"<task-uuid>","status":"done"}'

πŸ€– Flusso di lavoro MCP in Claude Code

Una volta configurato il server MCP, puoi parlare con Claude in modo naturale:

Tu: Trova il mio progetto "Website Redesign" ed elenca tutte le attivitΓ  che sono in_progress
Tu: Crea un'attivitΓ  ad alta prioritΓ  "Fix mobile navigation" con scadenza 2026-06-30 e aggiungi note con una checklist
Tu: Sposta tutte le attivitΓ  denominate "Deploy *" nello stato completato

Claude usa automaticamente gli strumenti MCP in base alle tue istruzioni in linguaggio naturale.

πŸ”¬ Testa il server MCP direttamente con curl

BASE="https://www.simplestickers.app/api/mcp" TOKEN="ss_your_api_key_here" # Handshake (non Γ¨ necessaria l'autenticazione) curl -s -X POST $BASE \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{}},"id":1}' # Elenca gli strumenti curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":2}' # Chiama uno strumento curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"list_projects","arguments":{}},"id":3}'