# Strumenti · Corsi

> Strumenti MCP per i corsi: elencare e vedere i corsi con moduli e lezioni, costruire un intero corso con il prodotto che lo vende, modificare ed eliminare il corso, aggiungere, modificare, spostare ed eliminare moduli e lezioni, e il lato dello studente: iscrizione e avanzamento.

Costruire e mantenere i corsi: un intero corso in una chiamata (spazio, moduli, lezioni e il prodotto in vendita), la copertina e lo stato, e poi i moduli e le lezioni: aggiungere, rinominare, cambiare ordine, portare una lezione in un altro modulo ed eliminare. Chi studia si iscrive e segna l'avanzamento dalla conversazione. Il contenuto di ogni lezione (testo, video) si inserisce ancora dal pannello.

Ogni strumento ha un'etichetta: <span class="tool-kind tool-kind-read">Solo lettura</span> non cambia nulla, <span class="tool-kind tool-kind-write">Modifica</span> crea o cambia qualcosa subito, e <span class="tool-kind tool-kind-confirm">Chiede conferma</span> agisce solo dopo il tuo sì a un riepilogo. Vedi [Denaro e conferma](/mcp/dinheiro-e-confirmacao).

## In sintesi

| Strumento | Cosa fa | Ruolo minimo | Tipo |
|---|---|---|---|
| [`list_courses`](#list-courses) | Corsi della community | Qualsiasi | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`get_course`](#get-course) | Un corso con moduli e lezioni | Qualsiasi | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`create_course`](#create-course) | Spazio, corso, moduli, lezioni e il prodotto, in una volta | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_course`](#update-course) | Modifica un corso, la copertina e lo stato | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`create_course_module`](#create-course-module) | Aggiunge un modulo a un corso | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`create_lesson`](#create-lesson) | Aggiunge una lezione a un modulo | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_course_module`](#update-course-module) | Rinomina un modulo o ne cambia la posizione | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_lesson`](#update-lesson) | Cambia una lezione, o la porta in un altro modulo | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`delete_course_module`](#delete-course-module) | Elimina un modulo con le sue lezioni | Admin | <span class="tool-kind tool-kind-confirm">Chiede conferma</span> |
| [`delete_lesson`](#delete-lesson) | Elimina una lezione | Admin | <span class="tool-kind tool-kind-confirm">Chiede conferma</span> |
| [`delete_course`](#delete-course) | Elimina un corso | Admin | <span class="tool-kind tool-kind-confirm">Chiede conferma</span> |
| [`enroll_in_course`](#enroll-in-course) | Ti iscrive a un corso pubblicato | Membro (non la finanza) | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`complete_lesson`](#complete-lesson) | Registra il tuo avanzamento in una lezione | Membro (non la finanza) | <span class="tool-kind tool-kind-write">Modifica</span> |

## `list_courses`

<span class="tool-kind tool-kind-read">Solo lettura</span>

**Elencare i corsi.** I corsi della community. *Ruolo minimo: qualsiasi.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `space_id` | id | No | Solo i corsi di uno spazio di corsi |

**Restituisce:** i corsi, con id, slug, titolo, livello e stato.

**Chiedi così:** *"Quali corsi esistono già?"*

## `get_course`

<span class="tool-kind tool-kind-read">Solo lettura</span>

**Vedere un corso con moduli e lezioni.** Un corso con la struttura completa. *Ruolo minimo: qualsiasi.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `course` | testo | Sì | L'id o lo slug del corso |

**Restituisce:** il corso, i moduli (con l'id che chiede `create_lesson`) e le lezioni di ogni modulo.

**Chiedi così:** *"Mostrami la struttura del corso Excel da Zero."*

## `create_course`

<span class="tool-kind tool-kind-write">Modifica</span>

**Creare un corso completo.** Spazio Corsi → corso → moduli → lezioni → (facoltativo) il prodotto che sblocca lo spazio. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `title` | testo, fino a 255 | Sì | Il titolo del corso |
| `description` | testo semplice | No | Senza formattazione: i segni di Markdown vengono tolti |
| `level` | `beginner`, `intermediate`, `advanced` | No | Predefinito: `beginner` |
| `space_id` | id | No | Uno spazio Corsi esistente |
| `section_id` | id | No | Dove creare lo spazio, se `space_id` non viene indicato |
| `space_title` | testo | No | Predefinito: il titolo del corso |
| `modules` | elenco, fino a 30 | No | Ognuno con `title` (obbligatorio) e `lessons` |
| `sale` | oggetto | No | Il prodotto che vende il corso (vedi sotto) |
| `icon` | una delle icone dell'elenco | No | L'icona dello spazio creato. Vedi [Icone](/mcp/ferramentas-comunidade#icone) |
| `image_url` | link | No | La copertina del corso. Vedi [Immagini](/mcp/ferramentas#immagini) |
| `idempotency_key` | testo, fino a 100 | No | |

Ogni **modulo** ha `title` e `lessons`, un elenco fino a 50, e ogni **lezione** ha `title` (obbligatorio), `type` (`text`, `video`, `link`, `image`; predefinito `text`) e `duration` (es.: *12 min*).

La **vendita** (e il **biglietto**, in `create_event`):

| Campo | Tipo | Descrizione |
|---|---|---|
| `price` | numero, in reais | Obbligatorio |
| `title` | testo, da 3 a 255 | Predefinito: il titolo del corso (o *Ingresso — titolo dell'evento*) |
| `type` | `ONE_TIME`, `INSTALLMENT`, `SUBSCRIPTION` | Predefinito: `ONE_TIME` (prodotto singolo) |
| `interval` | `MONTHLY`, `YEARLY` | Solo in `SUBSCRIPTION` |
| `max_installments` | da 1 a 12 | In quante rate al massimo con carta |
| `stock` | numero | Quantità in vendita |
| `direct_link` | sì o no | Vendibile tramite link diretto |
| `publish` | sì o no | Metterlo subito in vendita. Predefinito: bozza |

**Restituisce:** lo spazio (e se è stato creato ora), il corso (id, titolo, slug, stato), i moduli con le lezioni, e il prodotto (id, titolo, prezzo, stato), se c'è.

**Chiedi così:** *"Crea il corso Excel da Zero nello spazio dei corsi, con i moduli Fondamenti, Formule e Tabelle pivot, 3 lezioni video ciascuno, e un prodotto da R$ 297 fino a 10 rate, in bozza."*

**Note:** le lezioni salvano titolo, tipo e durata; il contenuto si inserisce dal pannello. Il prodotto sblocca lo spazio del corso per chi compra.

## `update_course`

<span class="tool-kind tool-kind-write">Modifica</span>

**Modificare un corso.** Cambia titolo, descrizione, livello, stato (`draft`, `published`, `archived`) e la copertina. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `course` | id, slug o link | Sì | |
| `title`, `description` | testo | No | |
| `level` | `beginner`, `intermediate`, `advanced` | No | |
| `status` | `draft`, `published`, `archived` | No | |
| `image_url` o `image_base64` | link o file | No | La nuova copertina |

**Chiedi così:** *"Pubblica il corso Excel da Zero e sostituisci la copertina con questa."*

**Note:** moduli e lezioni si cambiano con [`update_course_module`](#update-course-module), [`update_lesson`](#update-lesson) e gli strumenti di eliminazione.

## `create_course_module`

<span class="tool-kind tool-kind-write">Modifica</span>

**Aggiungere un modulo a un corso.** Aggiunge un modulo in fondo a un corso esistente. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `course_id` | id | Sì | Da `list_courses` o `create_course` |
| `title` | testo | Sì | |

**Restituisce:** il modulo creato, con l'id che chiede `create_lesson`.

**Chiedi così:** *"Aggiungi il modulo Grafici al corso Excel da Zero."*

**Note:** per rinominarlo o cambiarne la posizione in seguito, [`update_course_module`](#update-course-module).

## `create_lesson`

<span class="tool-kind tool-kind-write">Modifica</span>

**Aggiungere una lezione a un modulo.** Aggiunge una lezione in fondo a un modulo. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `module_id` | id | Sì | Da `get_course` |
| `title` | testo | Sì | |
| `type` | `text`, `video`, `link`, `image` | No | Predefinito: `text` |
| `duration` | testo | No | Es.: *12 min* |

**Restituisce:** la lezione creata.

**Chiedi così:** *"Nel modulo Grafici, crea le lezioni Grafico a linee (8 min) e Grafico a torta (6 min), entrambe video."*

**Note:** la lezione salva titolo, tipo e durata. Il contenuto (il testo, il video) non viene ancora salvato tramite l'MCP: si inserisce dal pannello.

## `update_course_module`

<span class="tool-kind tool-kind-write">Modifica</span>

**Modifica modulo del corso.** Rinomina un modulo o ne cambia la posizione. Cambia solo ciò che viene inviato. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `module_id` | id | Sì | Da `get_course` |
| `title` | testo, fino a 255 | No | |
| `order` | numero, da 0 | No | La posizione nel corso |

**Chiedi così:** *"Rinomina il modulo Formule in Formule essenziali e mettilo al secondo posto."*

## `update_lesson`

<span class="tool-kind tool-kind-write">Modifica</span>

**Modifica lezione.** Cambia il titolo, il tipo, la durata o la posizione di una lezione, oppure la porta in un altro modulo dello stesso corso. Cambia solo ciò che viene inviato. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `lesson_id` | id | Sì | Da `get_course` |
| `title` | testo, fino a 255 | No | |
| `type` | `text`, `video`, `link`, `image` | No | |
| `duration` | testo | No | Es.: *12 min* |
| `order` | numero, da 0 | No | La posizione nel modulo |
| `module_id` | id | No | Porta la lezione in questo modulo (dello stesso corso). Senza `order`, finisce in fondo |

**Chiedi così:** *"Sposta la lezione Grafico a torta nel modulo Fondamenti, come ultima lezione."*

**Note:** il contenuto della lezione continua a inserirsi dal pannello.

## `delete_course_module`

<span class="tool-kind tool-kind-confirm">Chiede conferma</span>

**Elimina modulo del corso.** Elimina un modulo e tutte le sue lezioni. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `module_id` | id | Sì | Da `get_course` |
| `course` | id, slug o link | No | Il corso, perché il riepilogo mostri il nome del modulo e delle lezioni |

**Note:** l'avanzamento di chi l'ha già seguito resta salvato.

## `delete_lesson`

<span class="tool-kind tool-kind-confirm">Chiede conferma</span>

**Elimina lezione.** *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `lesson_id` | id | Sì | Da `get_course` |
| `course` | id, slug o link | No | Il corso, perché il riepilogo mostri il nome della lezione |

**Note:** l'avanzamento di chi l'ha già seguita resta salvato.

## `delete_course`

<span class="tool-kind tool-kind-confirm">Chiede conferma</span>

**Elimina corso.** Il corso viene archiviato ed esce dal feed. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `course` | id, slug o link | Sì | |

**Restituisce:** alla prima chiamata, il titolo, quanti moduli e quante iscrizioni ha il corso, più il codice di conferma.

## `enroll_in_course`

<span class="tool-kind tool-kind-write">Modifica</span>

**Iscriviti al corso.** Ti iscrive a un corso pubblicato. *Ruolo: proprietario, Admin, moderatore o membro.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `course` | id, slug o link | Sì | |

**Chiedi così:** *"Iscrivimi al corso Excel da Zero."*

## `complete_lesson`

<span class="tool-kind tool-kind-write">Modifica</span>

**Registra avanzamento nella lezione.** Segna una lezione come completata, o registra una percentuale, in un corso a cui sei iscritto. *Ruolo: proprietario, Admin, moderatore o membro.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `course` | id, slug o link | Sì | |
| `lesson_id` | id | Sì | Da `get_course` |
| `completed` | sì o no | No | Predefinito sì |
| `progress_percent` | da 0 a 100 | No | |

**Chiedi così:** *"Segna come vista la lezione Formule di base."*

## Correlati

- [Strumenti](/mcp/ferramentas)
- [Ricette](/mcp/receitas)
- [Denaro e conferma](/mcp/dinheiro-e-confirmacao)
