# Herramientas · Empresas residentes

> Herramientas MCP de las empresas residentes (coworking): listar, registrar, editar y cerrar empresas, tu empresa, el equipo, invitar por correo, marcar al admin de la empresa y quitar.

Las [Empresas residentes](/membros/empresas-residentes) con el asistente: registrar la empresa con su contrato, editar, cerrar, ver tu empresa, el equipo, invitar por correo, seguir, aceptar y rechazar invitaciones, marcar al admin de la empresa y quitar. Son **14 herramientas**.

Cada herramienta lleva una etiqueta: <span class="tool-kind tool-kind-read">Solo consulta</span> no cambia nada, <span class="tool-kind tool-kind-write">Modifica</span> crea o cambia algo al momento, y <span class="tool-kind tool-kind-confirm">Pide confirmación</span> solo actúa después de tu sí a un resumen. Ver [Dinero y confirmación](/mcp/dinheiro-e-confirmacao).

## En resumen

| Herramienta | Qué hace | Rol mínimo | Tipo |
|---|---|---|---|
| [`list_resident_companies`](#list-resident-companies) | Las empresas, con tipo, estado y tamaño del equipo | Moderador o financiero | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`get_resident_company`](#get-resident-company) | Una empresa | Moderador o financiero | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`get_my_resident_company`](#get-my-resident-company) | La empresa en la que estás, con el equipo | Cualquiera | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`create_resident_company`](#create-resident-company) | Registra una empresa con su contrato | Administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_resident_company`](#update-resident-company) | Edita el nombre y el contrato | Administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`close_resident_company`](#close-resident-company) | Cierra la residencia, con o sin el equipo | Administrador | <span class="tool-kind tool-kind-confirm">Pide confirmación</span> |
| [`list_resident_company_members`](#list-resident-company-members) | El equipo de una empresa | Cualquiera (la API comprueba el vínculo) | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`invite_resident_company_member`](#invite-resident-company-member) | Suma a alguien al equipo por correo | Cualquiera (la API comprueba el vínculo) | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`update_resident_company_member`](#update-resident-company-member) | Marca o quita al admin de la empresa | Administrador | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`remove_resident_company_member`](#remove-resident-company-member) | Quita a alguien del equipo | Cualquiera (la API comprueba el vínculo) | <span class="tool-kind tool-kind-confirm">Pide confirmación</span> |
| [`list_resident_company_invitations`](#list-resident-company-invitations) | Las invitaciones pendientes que envió el admin de la empresa | Cualquiera (la API comprueba el vínculo) | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`list_my_company_invitations`](#list-my-company-invitations) | Tus invitaciones de empresa | Cualquiera | <span class="tool-kind tool-kind-read">Solo consulta</span> |
| [`accept_company_invitation`](#accept-company-invitation) | Acepta tu invitación y entra en el equipo | Cualquiera (su invitación) | <span class="tool-kind tool-kind-write">Modifica</span> |
| [`decline_company_invitation`](#decline-company-invitation) | Rechaza tu invitación, de forma definitiva | Cualquiera (su invitación) | <span class="tool-kind tool-kind-confirm">Pide confirmación</span> |

Los roles son los de las rutas: el asistente nunca hace más de lo que la persona conectada haría en pantalla. El propietario y el administrador ven las 14; el moderador y el financiero, 10 (las dos de lectura del equipo de la comunidad y las ocho abiertas a cualquier rol); el miembro, 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` y `decline_company_invitation`).

**Ocho herramientas aparecen para cualquier rol** porque el admin de una empresa suele ser un miembro común, y cualquiera puede recibir una invitación. La API decide por el vínculo: el equipo solo lo lee el equipo de la comunidad o la gente de la propia empresa, y solo invitan y quitan el propietario, el administrador o el admin de esa empresa (mientras está activa). Los demás reciben "sin permiso".

**La invitación del admin de la empresa depende de la aceptación.** Nunca vincula al momento, ni siquiera a quien ya es de la comunidad: la persona recibe la invitación por correo y solo entra en el equipo cuando la acepta (`accept_company_invitation`). El propietario y el administrador de la comunidad siguen vinculando directamente.

**El contrato queda con la gestión.** El valor mensual y las fechas llegan al propietario, al administrador y al financiero; el moderador lee las empresas sin esas claves, y `get_my_resident_company` nunca las trae. El valor mensual es un registro, sin cobro.

**Salir del equipo suspende el cobro.** Al quitar a alguien o cerrar la empresa con su equipo, el resumen avisa de que el cobro a la persona eliminada se suspende; la suscripción sigue registrada hasta que se cancele, lo que se hace en [Suscripciones](/mcp/ferramentas-assinaturas).

## `list_resident_companies`

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

**Las empresas residentes**, por nombre, con el tipo de residencia, el estado (`active`, o `ended` cuando está cerrada o con la salida en el pasado) y cuántas personas hay en el equipo. Las empresas no son miembros y nunca aparecen en las listas de miembros. El propietario, el administrador y el financiero reciben también el contrato (valor mensual, inicio, salida y fecha de cierre); el moderador, no. *Rol mínimo: moderador (o financiero).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `status` | `active` o `ended` | No | Filtra por estado |
| `search` | texto | No | Parte del nombre |

**Pídelo así:** *"¿Qué empresas están residentes hoy?"*

## `get_resident_company`

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

**Una empresa.** Con el contrato para el propietario, el administrador y el financiero. Empresa de otra comunidad: "no encontrada". El admin de una empresa usa `get_my_resident_company`. *Rol mínimo: moderador (o financiero).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `company_id` | id | Sí | La empresa (de `list_resident_companies`) |

**Pídelo así:** *"¿Hasta cuándo va el contrato de Acme?"*

## `get_my_resident_company`

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

**Tu empresa.** La empresa en la que está la persona conectada (sin el contrato), si es admin de la empresa, el equipo y `canManageTeam`, verdadero para el admin de una empresa activa (falso una vez cerrada). Sin empresa, devuelve `company: null`; las invitaciones pendientes están en `list_my_company_invitations`. *Rol mínimo: cualquiera.*

Sin parámetros.

**Pídelo así:** *"¿Quién está en mi empresa?"*

## `create_resident_company`

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

**Registrar una empresa** con su contrato. La empresa no tiene acceso propio; las personas entran con `invite_resident_company_member`. *Rol mínimo: administrador (propietario o administrador).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `name` | texto | Sí | El nombre, hasta 120 caracteres |
| `residence_type` | `PRIVATE_OFFICE`, `FIXED_DESK` o `VIRTUAL_OFFICE` | Sí | Oficina privada, puesto fijo u oficina virtual |
| `monthly_value` | número | Sí | El valor mensual, cero o más. Solo registro, sin cobro |
| `starts_at` | AAAA-MM-DD | Sí | El inicio del contrato |
| `ends_at` | AAAA-MM-DD | No | La salida prevista, no antes del inicio |

**Pídelo así:** *"Registra Acme Tecnologia, oficina privada, R$ 4.800 al mes, desde el 1/11."*

## `update_resident_company`

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

**Editar.** Solo lo que envíes: nombre, tipo, valor, inicio o salida (`ends_at: null` borra la salida). Para cerrar ahora, usa `close_resident_company`. *Rol mínimo: administrador (propietario o administrador).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `company_id` | id | Sí | La empresa |
| `name`, `residence_type`, `monthly_value`, `starts_at`, `ends_at` | varios | No | Solo lo que cambie |

**Pídelo así:** *"Acme sale el 31/12. Actualiza el contrato."*

## `close_resident_company`

<span class="tool-kind tool-kind-confirm">Pide confirmación</span>

**Cerrar la residencia ahora.** La empresa deja de aceptar invitaciones; el registro y el contrato se conservan. No hay reapertura. Con `remove_members` (por defecto: verdadero), todos salen del equipo, y quien entró en la comunidad por la empresa y sigue siendo miembro sale también de la comunidad. El resumen lista quién sale y avisa de que su cobro se suspende y la suscripción sigue registrada hasta que se cancele. Empresa ya cerrada: rechazado. La primera llamada devuelve el resumen y el código de confirmación. *Rol mínimo: administrador (propietario o administrador).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `company_id` | id | Sí | La empresa |
| `remove_members` | verdadero/falso | No | Por defecto: verdadero. Falso mantiene el equipo vinculado a la empresa cerrada |

**Pídelo así:** *"Cierra Acme y quita a su equipo."*

## `list_resident_company_members`

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

**El equipo de una empresa**, con los admins primero: nombre, cargo, si es admin de la empresa, si entró por la empresa y, para el equipo de la comunidad y el admin de la empresa, el correo. Lo lee el equipo de la comunidad o la gente de la propia empresa. *Rol mínimo: cualquiera (la API comprueba el vínculo).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `company_id` | id | Sí | La empresa (de `list_resident_companies` o `get_my_resident_company`) |

**Pídelo así:** *"Muéstrame el equipo de Acme."*

## `invite_resident_company_member`

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

**Sumar al equipo por correo.** Por el **propietario o administrador**, vincula al momento: quien ya está en la comunidad solo recibe el vínculo, sin correo (`linked`); quien no está entra en la comunidad como miembro y **recibe la invitación por correo** (`invited`): el asistente lo avisa antes. Por el **admin de la empresa**, nunca vincula: la respuesta es siempre `invited` con `pending: true` y el `invitation_id`, sea quien sea la persona, y el asistente dice *"Invitación enviada. La persona entra en el equipo cuando la acepte."*, sin afirmar si ya era de la comunidad. Se rechaza si la comunidad no está aceptando nuevos miembros, si la persona pidió no participar, si ya está en este equipo o si la empresa está cerrada; para el propietario y el administrador, también si ya está en otra empresa. Invitan el propietario, el administrador y el admin de esa empresa (mientras está activa); `is_admin` solo el propietario y el administrador. El admin de la empresa envía hasta 30 invitaciones por hora (por encima, 429 con `Retry-After`); el propietario y el administrador no tienen ese límite. *Rol mínimo: cualquiera (la API comprueba el vínculo).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `company_id` | id | Sí | La empresa |
| `email` | texto | Sí | El correo de la persona |
| `name` | texto | No | El nombre, si la cuenta se crea ahora |
| `is_admin` | verdadero/falso | No | Entra ya como admin de la empresa (propietario o administrador) |

**Pídelo así:** *"Invita a joao@memberfy.net al equipo de mi empresa."*

## `update_resident_company_member`

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

**Marcar o quitar al admin de la empresa.** El admin de la empresa invita y quita a su propio equipo. *Rol mínimo: administrador (propietario o administrador).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `company_id` | id | Sí | La empresa |
| `profile_id` | id | Sí | La persona (de `list_resident_company_members`) |
| `is_admin` | verdadero/falso | Sí | Verdadero marca; falso quita |

**Pídelo así:** *"Deja a María como admin de Acme."*

## `remove_resident_company_member`

<span class="tool-kind tool-kind-confirm">Pide confirmación</span>

**Quitar a alguien del equipo.** Si la persona entró en la comunidad por la empresa y sigue siendo miembro, sale también de la comunidad y pierde el acceso; si ya estaba en la comunidad, solo pierde el vínculo. El resumen dice cuál de los dos y avisa de que el cobro a la persona eliminada se suspende y la suscripción sigue registrada hasta que se cancele. Quitan el propietario, el administrador y el admin de esa empresa (mientras está activa). La primera llamada devuelve el resumen y el código de confirmación. *Rol mínimo: cualquiera (la API comprueba el vínculo).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `company_id` | id | Sí | La empresa |
| `profile_id` | id | Sí | La persona (de `list_resident_company_members`) |

**Pídelo así:** *"Quita a João del equipo de Acme; dejó la empresa."*

## `list_resident_company_invitations`

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

**Las invitaciones pendientes de la empresa**: las que el admin de la empresa envió y nadie respondió, de la más nueva a la más antigua, con el correo escrito y la fecha. Nunca dice quién es la persona ni si ya era de la comunidad. Las invitaciones del propietario y del administrador vinculan al momento y no aparecen aquí. La leen el equipo de la comunidad y el admin de esa empresa mientras está activa. *Rol mínimo: cualquiera (la API comprueba el vínculo).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `company_id` | id | Sí | La empresa |

**Pídelo así:** *"¿A quién invité a mi empresa que todavía no aceptó?"*

## `list_my_company_invitations`

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

**Tus invitaciones.** Las invitaciones pendientes de la persona conectada para entrar en un equipo (*"te invitaron a la empresa X"*), de la más nueva a la más antigua, con la empresa, quién invitó y la fecha. Solo empresas activas de esta comunidad; sin invitaciones, lista vacía. *Rol mínimo: cualquiera.*

Sin parámetros.

**Pídelo así:** *"¿Tengo alguna invitación de empresa?"*

## `accept_company_invitation`

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

**Aceptar tu invitación.** La persona entra en el equipo (sin ser admin de la empresa). No pide confirmación. Invitación de otra persona, ya respondida o de otra comunidad: "no encontrada". Empresa cerrada después de la invitación, o persona ya en el equipo de otra empresa: rechazado, con el mensaje de la API. *Rol mínimo: cualquiera (su invitación).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `invitation_id` | id | Sí | La invitación (de `list_my_company_invitations`) |

**Pídelo así:** *"Acepta la invitación de Acme."*

## `decline_company_invitation`

<span class="tool-kind tool-kind-confirm">Pide confirmación</span>

**Rechazar tu invitación.** No se crea ningún vínculo y la invitación desaparece para siempre: para entrar después, hace falta una invitación nueva. La primera llamada devuelve el resumen y el código de confirmación. *Rol mínimo: cualquiera (su invitación).*

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `invitation_id` | id | Sí | La invitación (de `list_my_company_invitations`) |

**Pídelo así:** *"Rechaza la invitación de Acme."*

## Recetas sugeridas

- **Registrar una empresa:** registrar la empresa (`create_resident_company`), invitar a quien la va a gestionar (`invite_resident_company_member`) y marcarla como admin de la empresa (`update_resident_company_member`, o `is_admin` ya en la invitación).
- **El admin invita y la persona acepta:** el admin de la empresa invita al colega (`invite_resident_company_member`) y lo sigue en `list_resident_company_invitations`; el colega ve la invitación (`list_my_company_invitations`) y la acepta (`accept_company_invitation`).

## Relacionados

- [Empresas residentes](/membros/empresas-residentes)
- [Herramientas](/mcp/ferramentas)
- [Herramientas · Miembros](/mcp/ferramentas-membros)
- [Dinero y confirmación](/mcp/dinheiro-e-confirmacao)
- [Recetas](/mcp/receitas)
