# Strumenti · Community e struttura

> Strumenti MCP per la struttura della community: il contesto del collegamento, le sezioni e gli spazi, aprire un link copiato dall'app, creare, modificare, riordinare ed eliminare sezioni e spazi, chi vede ciascuno, spostare uno spazio di sezione, le impostazioni della community (lingua compresa) e l'e-mail degli avvisi di vendita.

Il punto di partenza di ogni conversazione e la forma della community: in quale community e con quale ruolo si trova l'assistente, quali sezioni e spazi esistono, e creare, riordinare, sistemare o eliminare questa struttura, compreso chi vede ogni spazio. È qui che l'assistente capisce anche un link che incolli nella conversazione, e che vede e cambia le impostazioni della community (nome, colori, logo, SEO, lingua e regole di accesso) e l'e-mail che riceve gli avvisi di vendita.

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 |
|---|---|---|---|
| [`get_community_context`](#get-community-context) | Community, ruolo, sezioni e spazi con gli id: il punto di partenza | Qualsiasi | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`get_connection_diagnostics`](#get-connection-diagnostics) | Se l'elenco di strumenti dell'assistente è aggiornato | Amministratore | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`list_spaces`](#list-spaces) | Sezioni e spazi, con filtro per modulo | Qualsiasi | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`open_link`](#open-link) | Dice cos'è un link copiato dall'app (o un id) | Qualsiasi | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`create_section`](#create-section) | Crea una sezione del menu | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`create_space`](#create-space) | Crea uno spazio in una sezione, con icona | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_space`](#update-space) | Cambia nome, descrizione, icona o visibilità di uno spazio, o lo sposta in un'altra sezione | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_section`](#update-section) | Cambia nome, descrizione, icona di una sezione, o la rende quella iniziale | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`reorder_sections`](#reorder-sections) | Mette le sezioni del menu in un nuovo ordine | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`reorder_spaces`](#reorder-spaces) | Mette gli spazi di una sezione in un nuovo ordine | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_space_access`](#update-space-access) | Chi vede uno spazio o una sezione, e chi pubblica nello spazio | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`delete_section`](#delete-section) | Elimina una sezione e i suoi spazi | Admin | <span class="tool-kind tool-kind-confirm">Chiede conferma</span> |
| [`delete_space`](#delete-space) | Elimina uno spazio | Admin | <span class="tool-kind tool-kind-confirm">Chiede conferma</span> |
| [`get_community_settings`](#get-community-settings) | Le impostazioni della community: nome, colori, immagini, SEO, lingua, accesso | Admin | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`update_community_settings`](#update-community-settings) | Cambia nome, colori, logo, favicon, SEO, lingua e regole di accesso | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`get_notification_settings`](#get-notification-settings) | L'e-mail che riceve gli avvisi di vendita | Admin | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`update_notification_settings`](#update-notification-settings) | Cambia o disattiva l'e-mail degli avvisi di vendita | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |

## `get_community_context`

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

**Contesto della community.** Il punto di partenza: dice a quale community è legato il collegamento, con quale ruolo, ed elenca le sezioni e gli spazi con gli id. *Ruolo minimo: qualsiasi.*

Parametri: nessuno.

**Restituisce:** la community (id, nome, indirizzo), te (ruolo e nome), gli scope del collegamento (`read`, `write`), le sezioni (id, titolo, se è quella iniziale, visibilità) con gli spazi di ciascuna (id, titolo, modulo, visibilità), l'ordine in cui le cose vanno create, e le icone disponibili per gli spazi (`available_icons`, con l'uso di ciascuna).

**Chiedi così:** *"A quale community sei collegato, e con quale ruolo?"* · *"Quali spazi ha la community?"*

**Note:** gli assistenti di solito chiamano questo strumento da soli all'inizio di ogni conversazione. L'ordine di creazione che restituisce è lo stesso di [Ordine di creazione](/api/ordem-de-criacao).

## `list_spaces`

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

**Elencare sezioni e spaces.** Le sezioni e gli spazi, con id, modulo e visibilità, con filtro per modulo. *Ruolo minimo: qualsiasi; ognuno vede ciò che può vedere.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `module` | testo | No | `feed`, `content`, `courses`, `events`, `storefront`, `gallery`… Restituisce solo le sezioni che hanno spazi di quel modulo |

**Restituisce:** le sezioni con gli spazi, come in `get_community_context`.

**Chiedi così:** *"Qual è lo spazio dei corsi?"* · *"Elenca gli spazi di eventi."*

## `open_link`

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

**Aprire un link dell'app.** Riceve un link della tua community (oppure un id o uno slug) e dice cos'è, con id, titolo, spazio e un riepilogo. *Ruolo minimo: qualsiasi.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `link` | testo | Sì | L'indirizzo dell'app, un percorso come `/aprender/cursos/excel`, un id o uno slug |

Riconosce gli indirizzi dell'app: spazio (`/sezione/spazio`), post, evento, corso, certificato (dall'interno dello spazio o dalla pagina pubblica di verifica), call for papers e proposta (`?proposal=`), piano (`/pricing/…`) e abbonamento (`/billing?subscription=…`), compresi i vecchi indirizzi che l'app reindirizza.

**Chiedi così:** *"Cos'è questo link? https://latuacommunity.com.br/aprender/cursos/excel-do-zero"*

**Note:** funziona solo con i link della community collegata. Un link di un'altra community restituisce *"Questo link è di un'altra community"*, anche se le amministri entrambe: collega l'altra separatamente.

## `create_section`

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

**Creare una sezione.** Crea una sezione del menu, come *Imparare* o *Community*. Gli spazi stanno dentro le sezioni. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `title` | testo, fino a 255 | Sì | Il nome nel menu |
| `description` | testo semplice | No | Senza formattazione: i segni di Markdown vengono tolti |
| `visibility` | `public`, `members`, `plan`, `private` | No | Chi vede la sezione. Vedi [Visibilità e accesso](/conceitos/visibilidade-e-acesso) |

**Restituisce:** la sezione creata, con l'id che chiede `create_space`.

**Chiedi così:** *"Crea una sezione chiamata Imparare, visibile solo ai membri."*

## `create_space`

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

**Creare uno space.** Crea uno spazio in una sezione, con il modulo che definisce cos'è. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `section_id` | id | Sì | Da `get_community_context` o `create_section` |
| `title` | testo, fino a 255 | Sì | |
| `module` | `feed`, `content`, `courses`, `events`, `storefront`, `gallery`, `ranking`, `url`, `certificates`, `call4papers` | Sì | Feed, Contenuto, Corsi, Eventi, Negozio, Galleria, Classifica, Link, Certificati o Call for papers. Vedi [Moduli](/conceitos/modulos) |
| `external_url` | indirizzo web | No | Solo nel modulo `url`: l'indirizzo che lo spazio apre |
| `description` | testo semplice | No | Senza formattazione: i segni di Markdown vengono tolti |
| `visibility` | `public`, `members`, `plan`, `private` | No | |
| `icon` | una delle icone dell'elenco | No | L'icona dello spazio. Vedi [Icone](#icone). Senza, Memberfy ne sceglie una in base al titolo e al modulo |

**Restituisce:** lo spazio creato, con l'id e l'icona.

**Chiedi così:** *"Crea uno spazio Feed chiamato Avvisi nella sezione Community, con l'icona del megafono."*

**Note:** per un corso o un evento completo, `create_course` e `create_event` creano anche lo spazio. In uno spazio Call for papers, il passo successivo suggerito è aprire la prima call ([`create_call_for_papers`](/mcp/ferramentas-chamada#create-call-for-papers)). Gli spazi non hanno un'immagine di copertina.

## `update_space`

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

**Modifica space.** Cambia il nome, la descrizione, l'icona o la visibilità di uno spazio esistente, oppure lo sposta in un'altra sezione. Cambia solo ciò che viene inviato. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `space_id` | id | Sì | Da `list_spaces` |
| `title` | testo, fino a 255 | No | |
| `description` | testo semplice | No | Senza formattazione: i segni di Markdown vengono tolti |
| `icon` | una delle icone dell'elenco | No | L'icona dello spazio. Vedi [Icone](#icone). Senza, Memberfy ne sceglie una in base al titolo e al modulo |
| `visibility` | `public`, `members`, `plan`, `private` | No | Per lo spazio privato con gruppi, prodotti o piani, usa [`update_space_access`](#update-space-access) |
| `section_id` | id | No | Sposta lo spazio in questa sezione |

**Restituisce:** lo spazio aggiornato.

**Chiedi così:** *"Cambia l'icona dello spazio Offerte di lavoro con una valigetta."* · *"Dai un'icona diversa a ogni spazio della sezione Imparare, in base al tema."*

## `update_section`

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

**Modifica sezione.** Rinomina una sezione del menu, ne cambia la descrizione o l'icona, oppure la rende la sezione iniziale. Cambia solo ciò che viene inviato. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `section` | id, indirizzo o nome | Sì | Da `get_community_context` |
| `title` | testo, fino a 255 | No | |
| `description` | testo semplice | No | Senza formattazione: i segni di Markdown vengono tolti |
| `icon` | testo | No | |
| `is_home` | sì o no | No | La sezione che si apre per prima |

**Chiedi così:** *"Rinomina la sezione Imparare in Corsi e rendila la sezione iniziale."*

**Note:** chi vede la sezione si cambia con [`update_space_access`](#update-space-access).

## `reorder_sections`

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

**Riordina sezioni.** Mette le sezioni del menu in un nuovo ordine, dall'alto verso il basso. Quelle non indicate mantengono il loro ordine, dopo queste. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `section_ids` | elenco di id | Sì | Da `get_community_context`, nel nuovo ordine |

**Chiedi così:** *"Metti la sezione Eventi subito dopo Community."*

## `reorder_spaces`

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

**Riordina spazi.** Mette gli spazi di una sezione in un nuovo ordine. Quelli non indicati mantengono il loro ordine, dopo questi. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `section` | id, indirizzo o nome | Sì | La sezione |
| `space_ids` | elenco di id | Sì | Da `list_spaces`, nel nuovo ordine |

**Chiedi così:** *"Nella sezione Imparare, metti per primo lo spazio Excel da Zero."*

**Note:** per portare uno spazio in un'altra sezione, usa [`update_space`](#update-space) con `section_id`.

## `update_space_access`

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

**Cambia chi vede lo spazio.** Stabilisce chi vede uno spazio o un'intera sezione e, in uno spazio, chi può pubblicare. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `space` o `section` | id, link, indirizzo o nome | Uno dei due | Lo spazio o la sezione |
| `visibility` | `public`, `members`, `plan`, `private` | No | Pubblico, membri, qualsiasi abbonamento attivo, o privato |
| `group_ids` | elenco di id | No | Nel privato: i gruppi che entrano (da `list_groups`) |
| `product_ids` | elenco di id | No | Nel privato: i prodotti il cui acquisto dà accesso (da `list_products`) |
| `plan_ids` | elenco di id | No | Nel privato: i piani il cui abbonamento dà accesso (da `list_plans`) |
| `can_create` | `anyone`, `staff`, `admins` | No | Solo spazio: **Chiunque**, **Team** o **Admin** possono pubblicare |

**Restituisce:** lo spazio o la sezione aggiornati.

**Chiedi così:** *"Rendi lo spazio Excel da Zero visibile solo a chi ha comprato il prodotto del corso o è abbonato al piano Studente."*

**Note:** i gruppi, prodotti e piani inviati sostituiscono quelli che c'erano; ne basta uno perché la persona entri. Uno spazio non è mai più aperto della sua sezione. Cambia subito chi vede cosa: chiedi all'assistente di mostrarti prima cosa cambierà, se vuoi controllare. Vedi [Visibilità e accesso](/conceitos/visibilidade-e-acesso).

## `delete_section`

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

**Elimina sezione.** Elimina una sezione del menu e gli spazi che contiene. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `section` | id, indirizzo o nome | Sì | |

**Restituisce:** alla prima chiamata, la sezione e l'elenco degli spazi che vengono eliminati con lei, più il codice di conferma.

## `delete_space`

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

**Elimina spazio.** Elimina uno spazio, e ciò che contiene, dal menu. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `space` | id, link, indirizzo o nome | Sì | |

**Restituisce:** alla prima chiamata, lo spazio, il modulo e la sezione, più il codice di conferma.

## `get_community_settings`

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

**Vedere le impostazioni della community.** Le impostazioni della community così come sono. *Ruolo minimo: admin.*

Parametri: nessuno.

**Restituisce:** il nome, la descrizione, i colori (primario e secondario in hex, e la scala completa), il logo, la favicon, l'immagine di condivisione, il SEO, le regole di accesso (registrazione aperta, modello di registrazione, visitatori), la moderazione e la classifica. Nessun segreto, come integrazioni o DNS.

**Chiedi così:** *"Quali sono oggi i colori e il SEO della community?"*

## `update_community_settings`

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

**Modificare le impostazioni della community.** Cambia le impostazioni; cambia solo ciò che viene inviato. *Ruolo minimo: admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `name`, `description` | testo | No | Il nome e la descrizione della community |
| `primary_color`, `secondary_color` | colore in hex (`#RRGGBB`) | No | L'intera scala, da 50 a 950, viene generata a partire da questi. Vedi [Colori](/configuracoes/cores) |
| `reset_colors` | sì o no | No | Torna ai colori predefiniti del prodotto |
| `mobile_bar_color` | colore in hex | No | Il colore della barra del browser sul telefono |
| `seo_title`, `seo_description` | testo | No | Vedi [Immagini e SEO](/configuracoes/imagens-e-seo) |
| `signup_open` | sì o no | No | Chiunque può registrarsi |
| `signup_model` | `FREE`, `PAID` | No | |
| `guest_access` | sì o no | No | I visitatori vedono ciò che è pubblico |
| `content_moderation` | sì o no | No | |
| `global_ranking` | sì o no | No | |
| `language` | `pt-BR`, `pt-PT`, `en-US`, `es-ES`, `es-MX`, `es-AR`, `it-IT`, `de-DE`, `de-AT`, `de-CH` | No | La lingua della community: quella delle e-mail e di chi non ha ancora scelto una lingua. Vedi [Lingue](/configuracoes/idiomas) |
| `linkedin_id` | numero | No | L'ID della pagina LinkedIn della community, per i certificati |
| `logo_url` o `logo_base64` | link o file | No | Il logo |
| `favicon_url` o `favicon_base64` | link o file | No | La favicon |
| `share_image_url` o `share_image_base64` | link o file | No | L'immagine che compare quando qualcuno condivide il link |

**Restituisce:** le impostazioni applicate, con il **prima → dopo** di ogni campo.

**Chiedi così:** *"Cambia il colore primario in #4F46E5 e usa questo logo: https://…"*

**Note:** tutto questo è visibile all'intera community appena la chiamata viene eseguita; per annullare, chiedi di nuovo con il valore precedente, che trovi nel **prima → dopo**. Dominio e integrazioni non si cambiano da qui. Vedi [Impostazioni generali](/configuracoes/configuracoes-gerais).

## `get_notification_settings`

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

**Vedi avvisi di vendita.** Dove vanno gli avvisi della community: l'e-mail che riceve un avviso a ogni vendita. *Ruolo minimo: Admin.*

Parametri: nessuno.

**Chiedi così:** *"Chi riceve l'avviso quando c'è una vendita?"*

## `update_notification_settings`

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

**Cambia e-mail degli avvisi di vendita.** Stabilisce l'e-mail che riceve un avviso a ogni vendita. *Ruolo minimo: Admin.*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `sales_notification_email` | e-mail | Sì | Vuoto (`""`) disattiva gli avvisi |

**Chiedi così:** *"Manda gli avvisi di vendita a amministrazione\@memberfy.net."*

Vedi [Avvisi di vendita](/notificacoes/avisos-de-venda).

## Icone

Gli spazi usano le stesse icone del selettore del pannello. L'assistente riceve l'elenco con l'uso di ciascuna (in `get_community_context`, campo `available_icons`, e nella descrizione degli strumenti) ed è istruito a scegliere in base al tema, senza ripetere sempre la stessa. Se non sceglie, Memberfy ne sceglie una in base al titolo (*Agenda delle dirette* ottiene `calendar`, *Offerte di lavoro* ottiene `briefcase`) o, senza indizi nel titolo, in base al modulo (Corsi ottiene `book-open`, Galleria ottiene `image`).

Alcuni esempi: `calendar` (eventi, agenda), `book-open` (corsi, lezioni), `graduation-cap` (formazione, mentoring), `megaphone` (avvisi, annunci), `message-square` (forum, domande), `briefcase` (carriera, offerte di lavoro), `image` (galleria, foto), `trophy` (classifica, sfide), `shopping-bag` (negozio), `crown` (premium, VIP), `lock` (privato).

## `get_connection_diagnostics`

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

**Diagnostica della connessione.** Dice se l'elenco di strumenti che l'assistente sta usando è aggiornato. *Ruolo minimo: amministratore (proprietario o amministratore).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `connection_id` | id | No | Senza, la connessione di questa conversazione |

**Restituisce:** l'assistente, chi ha autorizzato e quando, la versione del server e l'elenco che la connessione riceverebbe adesso (il codice dell'elenco e quanti strumenti), cosa ha ricevuto l'ultima volta, l'ultima chiamata e l'ultimo tentativo di usare uno strumento che non ha, e `listUpToDate`. Con `listUpToDate` falso, l'assistente usa l'elenco vecchio: apri una nuova conversazione o ricollega il connettore.

**Chiedi così:** *"Una tua chiamata è fallita. Il tuo elenco di strumenti di Memberfy è aggiornato?"*

## Correlati

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