# Strumenti · Aziende residenti

> Strumenti MCP delle aziende residenti (coworking): elencare, registrare, modificare e chiudere aziende, la tua azienda, il team, invitare via e-mail, segnare l'admin dell'azienda e rimuovere.

Le [Aziende residenti](/membros/empresas-residentes) con l'assistente: registrare l'azienda con il contratto, modificare, chiudere, vedere la tua azienda, il team, invitare via e-mail, seguire, accettare e rifiutare inviti, segnare l'admin dell'azienda e rimuovere. Sono **14 strumenti**.

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_resident_companies`](#list-resident-companies) | Le aziende, con tipo, stato e dimensione del team | Moderatore o finanza | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`get_resident_company`](#get-resident-company) | Un'azienda | Moderatore o finanza | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`get_my_resident_company`](#get-my-resident-company) | L'azienda in cui sei, con il team | Qualsiasi | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`create_resident_company`](#create-resident-company) | Registra un'azienda con il contratto | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_resident_company`](#update-resident-company) | Modifica il nome e il contratto | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`close_resident_company`](#close-resident-company) | Chiude la residenza, con o senza il team | Admin | <span class="tool-kind tool-kind-confirm">Chiede conferma</span> |
| [`list_resident_company_members`](#list-resident-company-members) | Il team di un'azienda | Qualsiasi (l'API verifica il legame) | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`invite_resident_company_member`](#invite-resident-company-member) | Aggiunge qualcuno al team via e-mail | Qualsiasi (l'API verifica il legame) | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_resident_company_member`](#update-resident-company-member) | Segna o toglie l'admin dell'azienda | Admin | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`remove_resident_company_member`](#remove-resident-company-member) | Toglie qualcuno dal team | Qualsiasi (l'API verifica il legame) | <span class="tool-kind tool-kind-confirm">Chiede conferma</span> |
| [`list_resident_company_invitations`](#list-resident-company-invitations) | Gli inviti in sospeso inviati dall'admin dell'azienda | Qualsiasi (l'API verifica il legame) | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`list_my_company_invitations`](#list-my-company-invitations) | I tuoi inviti aziendali | Qualsiasi | <span class="tool-kind tool-kind-read">Solo lettura</span> |
| [`accept_company_invitation`](#accept-company-invitation) | Accetta il tuo invito ed entra nel team | Qualsiasi (il proprio invito) | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`decline_company_invitation`](#decline-company-invitation) | Rifiuta il tuo invito, definitivamente | Qualsiasi (il proprio invito) | <span class="tool-kind tool-kind-confirm">Chiede conferma</span> |

I ruoli sono quelli delle rotte: l'assistente non fa mai più di quanto la persona collegata farebbe sullo schermo. Il proprietario e l'admin vedono tutti e 14; il moderatore e la finanza, 10 (i due di lettura del team della community e gli otto aperti a qualsiasi ruolo); il membro, 8 (`get_my_resident_company`, `list_resident_company_members`, `invite_resident_company_member`, `remove_resident_company_member`, `list_resident_company_invitations`, `list_my_company_invitations`, `accept_company_invitation` e `decline_company_invitation`).

**Otto strumenti compaiono per qualsiasi ruolo** perché l'admin di un'azienda di solito è un membro comune, e chiunque può ricevere un invito. L'API decide in base al legame: il team lo legge solo il team della community o le persone dell'azienda stessa, e invitano e rimuovono solo il proprietario, l'admin o l'admin di quell'azienda (finché è attiva). Gli altri ricevono "nessun permesso".

**L'invito dell'admin dell'azienda dipende dall'accettazione.** Non collega mai subito, nemmeno chi è già nella community: la persona riceve l'invito via e-mail ed entra nel team solo quando accetta (`accept_company_invitation`). Il proprietario e l'admin della community continuano a collegare direttamente.

**Il contratto resta alla gestione.** Il valore mensile e le date arrivano al proprietario, all'admin e alla finanza; il moderatore legge le aziende senza quelle chiavi, e `get_my_resident_company` non le restituisce mai. Il valore mensile è una registrazione, senza addebito.

**Uscire dal team sospende l'addebito.** Quando rimuovi qualcuno o chiudi l'azienda con il team, il riepilogo avvisa che l'addebito alla persona rimossa viene sospeso; l'abbonamento resta registrato finché non viene annullato, cosa che si fa in [Abbonamenti](/mcp/ferramentas-assinaturas).

## `list_resident_companies`

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

**Le aziende residenti**, per nome, con il tipo di residenza, lo stato (`active`, o `ended` quando chiusa o con l'uscita nel passato) e quante persone ci sono nel team. Le aziende non sono membri e non compaiono mai negli elenchi dei membri. Il proprietario, l'admin e la finanza ricevono anche il contratto (valore mensile, inizio, uscita e data di chiusura); il moderatore no. *Ruolo minimo: moderatore (o finanza).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `status` | `active` o `ended` | No | Filtra per stato |
| `search` | testo | No | Parte del nome |

**Chiedi così:** *"Quali aziende sono residenti oggi?"*

## `get_resident_company`

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

**Un'azienda.** Con il contratto per il proprietario, l'admin e la finanza. Azienda di un'altra community: "non trovata". L'admin di un'azienda usa `get_my_resident_company`. *Ruolo minimo: moderatore (o finanza).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `company_id` | id | Sì | L'azienda (da `list_resident_companies`) |

**Chiedi così:** *"Fino a quando dura il contratto di Acme?"*

## `get_my_resident_company`

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

**La tua azienda.** L'azienda in cui è la persona collegata (senza il contratto), se è admin dell'azienda, il team e `canManageTeam`, vero per l'admin di un'azienda attiva (falso dopo la chiusura). Senza azienda, restituisce `company: null`; gli inviti in sospeso sono in `list_my_company_invitations`. *Ruolo minimo: qualsiasi.*

Nessun parametro.

**Chiedi così:** *"Chi c'è nella mia azienda?"*

## `create_resident_company`

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

**Registrare un'azienda** con il contratto. L'azienda non ha un accesso proprio; le persone entrano con `invite_resident_company_member`. *Ruolo minimo: admin (proprietario o admin).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `name` | testo | Sì | Il nome, fino a 120 caratteri |
| `residence_type` | `PRIVATE_OFFICE`, `FIXED_DESK` o `VIRTUAL_OFFICE` | Sì | Ufficio privato, postazione fissa o ufficio virtuale |
| `monthly_value` | numero | Sì | Il valore mensile, zero o più. Solo registrazione, nessun addebito |
| `starts_at` | AAAA-MM-GG | Sì | L'inizio del contratto |
| `ends_at` | AAAA-MM-GG | No | L'uscita prevista, non prima dell'inizio |

**Chiedi così:** *"Registra Acme Tecnologia, ufficio privato, R$ 4.800 al mese, dal 1/11."*

## `update_resident_company`

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

**Modificare.** Solo ciò che invii: nome, tipo, valore, inizio o uscita (`ends_at: null` cancella l'uscita). Per chiudere adesso, usa `close_resident_company`. *Ruolo minimo: admin (proprietario o admin).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `company_id` | id | Sì | L'azienda |
| `name`, `residence_type`, `monthly_value`, `starts_at`, `ends_at` | vari | No | Solo ciò che cambia |

**Chiedi così:** *"Acme esce il 31/12. Aggiorna il contratto."*

## `close_resident_company`

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

**Chiudere la residenza adesso.** L'azienda smette di accettare inviti; l'anagrafica e il contratto restano registrati. Non c'è riapertura. Con `remove_members` (predefinito: vero), tutti escono dal team, e chi è entrato nella community tramite l'azienda ed è ancora membro esce anche dalla community. Il riepilogo elenca chi esce e avvisa che il loro addebito viene sospeso e l'abbonamento resta registrato finché non viene annullato. Azienda già chiusa: rifiutato. La prima chiamata restituisce il riepilogo e il codice di conferma. *Ruolo minimo: admin (proprietario o admin).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `company_id` | id | Sì | L'azienda |
| `remove_members` | vero/falso | No | Predefinito: vero. Falso mantiene il team legato all'azienda chiusa |

**Chiedi così:** *"Chiudi Acme e togli il suo team."*

## `list_resident_company_members`

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

**Il team di un'azienda**, con gli admin per primi: nome, ruolo lavorativo, se è admin dell'azienda, se è entrato tramite l'azienda e, per il team della community e l'admin dell'azienda, l'e-mail. Lo leggono il team della community o le persone dell'azienda stessa. *Ruolo minimo: qualsiasi (l'API verifica il legame).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `company_id` | id | Sì | L'azienda (da `list_resident_companies` o `get_my_resident_company`) |

**Chiedi così:** *"Mostrami il team di Acme."*

## `invite_resident_company_member`

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

**Aggiungere al team via e-mail.** Dal **proprietario o admin**, collega subito: chi è già nella community riceve solo il legame, senza e-mail (`linked`); chi non c'è entra nella community come membro e **riceve l'invito via e-mail** (`invited`): l'assistente lo dice prima. Dall'**admin dell'azienda**, non collega mai: la risposta è sempre `invited` con `pending: true` e l'`invitation_id`, chiunque sia la persona, e l'assistente dice *"Invito inviato. La persona entra nel team quando accetta."*, senza affermare se era già nella community. Rifiutato se la community non accetta nuovi membri, se la persona ha chiesto di non partecipare, se è già in questo team o se l'azienda è chiusa; per il proprietario e l'admin, anche se è già in un'altra azienda. Invitano il proprietario, l'admin e l'admin di quell'azienda (finché è attiva); `is_admin` solo il proprietario e l'admin. L'admin dell'azienda invia fino a 30 inviti all'ora (oltre, 429 con `Retry-After`); il proprietario e l'admin non hanno questo limite. *Ruolo minimo: qualsiasi (l'API verifica il legame).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `company_id` | id | Sì | L'azienda |
| `email` | testo | Sì | L'e-mail della persona |
| `name` | testo | No | Il nome, se l'account viene creato ora |
| `is_admin` | vero/falso | No | Entra già come admin dell'azienda (proprietario o admin) |

**Chiedi così:** *"Invita joao@memberfy.net nel team della mia azienda."*

## `update_resident_company_member`

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

**Segnare o togliere l'admin dell'azienda.** L'admin dell'azienda invita e rimuove il proprio team. *Ruolo minimo: admin (proprietario o admin).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `company_id` | id | Sì | L'azienda |
| `profile_id` | id | Sì | La persona (da `list_resident_company_members`) |
| `is_admin` | vero/falso | Sì | Vero segna; falso toglie |

**Chiedi così:** *"Rendi Maria admin di Acme."*

## `remove_resident_company_member`

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

**Togliere qualcuno dal team.** Se la persona è entrata nella community tramite l'azienda ed è ancora membro, esce anche dalla community e perde l'accesso; se era già nella community, perde solo il legame. Il riepilogo dice quale dei due e avvisa che l'addebito alla persona rimossa viene sospeso e l'abbonamento resta registrato finché non viene annullato. Rimuovono il proprietario, l'admin e l'admin di quell'azienda (finché è attiva). La prima chiamata restituisce il riepilogo e il codice di conferma. *Ruolo minimo: qualsiasi (l'API verifica il legame).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `company_id` | id | Sì | L'azienda |
| `profile_id` | id | Sì | La persona (da `list_resident_company_members`) |

**Chiedi così:** *"Togli João dal team di Acme; ha lasciato l'azienda."*

## `list_resident_company_invitations`

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

**Gli inviti in sospeso dell'azienda**: quelli che l'admin dell'azienda ha inviato e a cui nessuno ha risposto, dal più recente, con l'e-mail digitata e la data. Non dice mai chi è la persona né se era già nella community. Gli inviti del proprietario e dell'admin collegano subito e non compaiono qui. Lo leggono il team della community e l'admin di quell'azienda finché è attiva. *Ruolo minimo: qualsiasi (l'API verifica il legame).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `company_id` | id | Sì | L'azienda |

**Chiedi così:** *"Chi ho invitato nella mia azienda e non ha ancora accettato?"*

## `list_my_company_invitations`

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

**I tuoi inviti.** Gli inviti in sospeso della persona collegata per entrare in un team (*"sei stato invitato nell'azienda X"*), dal più recente, con l'azienda, chi ha invitato e la data. Solo aziende attive di questa community; senza inviti, elenco vuoto. *Ruolo minimo: qualsiasi.*

Nessun parametro.

**Chiedi così:** *"Ho qualche invito aziendale?"*

## `accept_company_invitation`

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

**Accettare il tuo invito.** La persona entra nel team (non come admin dell'azienda). Non chiede conferma. Invito di un'altra persona, già risposto o di un'altra community: "non trovato". Azienda chiusa dopo l'invito, o persona già nel team di un'altra azienda: rifiutato, con il messaggio dell'API. *Ruolo minimo: qualsiasi (il proprio invito).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `invitation_id` | id | Sì | L'invito (da `list_my_company_invitations`) |

**Chiedi così:** *"Accetta l'invito di Acme."*

## `decline_company_invitation`

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

**Rifiutare il tuo invito.** Nessun legame viene creato e l'invito sparisce per sempre: per entrare in seguito serve un nuovo invito. La prima chiamata restituisce il riepilogo e il codice di conferma. *Ruolo minimo: qualsiasi (il proprio invito).*

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `invitation_id` | id | Sì | L'invito (da `list_my_company_invitations`) |

**Chiedi così:** *"Rifiuta l'invito di Acme."*

## Ricette suggerite

- **Registrare un'azienda:** registrare l'azienda (`create_resident_company`), invitare chi se ne occuperà (`invite_resident_company_member`) e segnarla come admin dell'azienda (`update_resident_company_member`, o `is_admin` già nell'invito).
- **L'admin invita e la persona accetta:** l'admin dell'azienda invita il collega (`invite_resident_company_member`) e lo segue in `list_resident_company_invitations`; il collega vede l'invito (`list_my_company_invitations`) e lo accetta (`accept_company_invitation`).

## Correlati

- [Aziende residenti](/membros/empresas-residentes)
- [Strumenti](/mcp/ferramentas)
- [Strumenti · Membri](/mcp/ferramentas-membros)
- [Denaro e conferma](/mcp/dinheiro-e-confirmacao)
- [Ricette](/mcp/receitas)
