# Ferramentas · Empresas

> Ferramentas MCP das empresas da comunidade (com o bloco opcional de coworking, as ofertas e os dados de cobrança): listar, cadastrar, editar e encerrar empresas, a sua empresa com as assinaturas e os créditos, a equipe, convidar por e-mail, os convites com aceite, marcar o admin da empresa e remover.

As [Empresas](/membros/empresas) pelo assistente: cadastrar a empresa (e, no coworking, o tipo, os planos e produtos que ela pode contratar, os dados de cobrança e as datas), editar, encerrar, ver a sua empresa, a equipe, convidar por e-mail, acompanhar, aceitar e recusar convites, marcar o admin da empresa e remover. São **14 ferramentas**.

> [!NOTE]
> Até 2026-10-18 estas ferramentas se chamavam `*_resident_company*` (por exemplo `get_my_resident_company`). Os nomes antigos não existem mais: o assistente que ainda os chama recebe "ferramenta desconhecida" e deve usar os nomes desta página.

Cada ferramenta traz um selo: <span class="tool-kind tool-kind-read">Só consulta</span> não muda nada, <span class="tool-kind tool-kind-write">Altera</span> cria ou muda algo na hora, e <span class="tool-kind tool-kind-confirm">Pede confirmação</span> só age depois do seu sim a um resumo. Ver [Dinheiro e confirmação](/mcp/dinheiro-e-confirmacao).

## Em resumo

| Ferramenta | O que faz | Papel mínimo | Tipo |
|---|---|---|---|
| [`list_companies`](#list-companies) | As empresas, com tipo, situação e tamanho da equipe | Moderador ou financeiro | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`get_company`](#get-company) | Uma empresa | Moderador ou financeiro | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`get_my_company`](#get-my-company) | A empresa em que você está, com a equipe e o que você tem por ela | Qualquer | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`create_company`](#create-company) | Cadastra uma empresa, com o bloco de coworking opcional | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_company`](#update-company) | Edita o nome e o bloco de coworking | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`close_company`](#close-company) | Encerra a empresa, com ou sem a equipe | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`list_company_members`](#list-company-members) | A equipe de uma empresa | Qualquer (a API confere o vínculo) | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`invite_company_member`](#invite-company-member) | Inclui alguém na equipe pelo e-mail | Qualquer (a API confere o vínculo) | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_company_member`](#update-company-member) | Marca ou remove o admin da empresa | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`remove_company_member`](#remove-company-member) | Remove alguém da equipe | Qualquer (a API confere o vínculo) | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`list_company_invitations`](#list-company-invitations) | Os convites pendentes que o admin da empresa enviou | Qualquer (a API confere o vínculo) | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`list_my_company_invitations`](#list-my-company-invitations) | Os seus convites de empresa | Qualquer | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`accept_company_invitation`](#accept-company-invitation) | Aceita o seu convite e entra na equipe | Qualquer (o seu convite) | <span class="tool-kind tool-kind-write">Altera</span> |
| [`decline_company_invitation`](#decline-company-invitation) | Recusa o seu convite, de vez | Qualquer (o seu convite) | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |

Os papéis são os das rotas: o assistente nunca faz mais do que a pessoa conectada faria na tela. O proprietário e o administrador veem as 14; o moderador e o financeiro, 10 (as duas de leitura da equipe da comunidade e as oito abertas a qualquer papel); o membro, 8 (`get_my_company`, `list_company_members`, `invite_company_member`, `remove_company_member`, `list_company_invitations`, `list_my_company_invitations`, `accept_company_invitation` e `decline_company_invitation`).

**Oito ferramentas aparecem para qualquer papel** porque o admin de uma empresa costuma ser um membro comum, e qualquer pessoa pode receber um convite. A API decide pelo vínculo: a equipe só é lida por quem é da equipe da comunidade ou da própria empresa, e só convida e remove o proprietário, o administrador ou o admin daquela empresa, este enquanto ela está ativa. Os outros recebem "sem permissão".

**O convite do admin da empresa depende do aceite.** Ele nunca vincula na hora, nem quem já é da comunidade: a pessoa recebe o convite por e-mail e entra na equipe só quando aceitar (`accept_company_invitation`). O proprietário e o administrador da comunidade continuam vinculando direto.

**O bloco de coworking fica com a gestão.** O tipo de residência, as datas, as ofertas (`offers`), os dados de cobrança (`billing`) e o link de compra (`purchaseLink`) vêm para o proprietário, o administrador e o financeiro; o moderador só sabe se a empresa tem coworking (`coworking`). `get_my_company` traz as ofertas e o link para toda a equipe, e a cobrança só para o admin da empresa.

**A empresa assina e paga, mas não pelo assistente.** Cadastrar as ofertas e os dados de cobrança não cobra nada. A compra é do admin da empresa, no app, pelo `purchaseLink` (o assistente nunca recebe cartão): o assistente entrega o link. Depois, o admin da empresa cuida da cobrança pelas ferramentas de [Assinaturas](/mcp/ferramentas-assinaturas) (`list_my_subscriptions` e `list_my_purchases` com `company_id`, `pay_my_subscription_now`, `quote_my_add_on` e `add_my_add_on`, `quote_plan_change` e `change_my_plan`, `manage_my_subscription`), com PIX ou boleto, e lê a carteira de créditos em [Créditos](/mcp/ferramentas-creditos) (`get_company_credit_balance`, `list_company_credit_entries`).

**Sair da equipe suspende a cobrança.** Ao remover alguém ou encerrar a empresa com a equipe, o resumo avisa que a cobrança da pessoa removida é suspensa; a assinatura fica registrada até o cancelamento, que se faz em [Assinaturas](/mcp/ferramentas-assinaturas).

## `list_companies`

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

**As empresas**, em ordem de nome, com `coworking` (se o bloco de coworking está ligado), a situação (`active`, ou `ended` quando encerrada ou com a saída prevista no passado) e quantas pessoas há na equipe. As empresas não são membros e nunca aparecem nas listas de membros. O proprietário, o administrador e o financeiro recebem também o bloco (tipo de residência, início e saída), a data de encerramento, as ofertas, os dados de cobrança e o `purchaseLink`, tudo vazio com o coworking desligado; o moderador recebe só `coworking`. *Papel mínimo: moderador (ou financeiro).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `status` | `active` ou `ended` | Não | Filtra pela situação |
| `search` | texto | Não | Parte do nome |

**Peça assim:** *"Quais empresas estão ativas hoje?"*

## `get_company`

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

**Uma empresa.** Com o bloco de coworking, as ofertas, os dados de cobrança e o `purchaseLink` para o proprietário, o administrador e o financeiro, que recebem também as assinaturas da empresa (`subscriptions`) e o saldo da carteira de créditos (`credit_balance`); as compras da empresa estão em `list_purchases` (`buyer.companyId`). O moderador recebe só `coworking`. Empresa de outra comunidade: "não encontrada". O admin de uma empresa usa `get_my_company`. *Papel mínimo: moderador (ou financeiro).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `company_id` | id | Sim | A empresa (de `list_companies`) |

**Peça assim:** *"A Acme está em dia com o plano? Quantos créditos ela tem?"*

## `get_my_company`

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

**A sua empresa.** A empresa em que a pessoa conectada está, se ela é admin da empresa, a equipe e `canManageTeam`, verdadeiro para o admin de uma empresa ativa (falso depois de encerrada), mais as ofertas, `canPurchase` e `purchaseLink`. Para **qualquer pessoa da equipe** de uma empresa ativa, traz `benefits`: o que ela tem pela empresa, sem preço. Em `items`, os planos e produtos ativos da empresa (assinatura ativa ou compra ativa: `title`, `isPlan`, `kind`, `source`, `plan`) com os `spaces` e os `contents` que cada um libera; em `credits`, o saldo da carteira (`balance`) e o próximo vencimento (`expiringSoon`). Com a empresa encerrada, `benefits` vem `null`. Para o admin da empresa, traz também os dados de cobrança (`billing`), as assinaturas (`subscriptions`, com a renovação pendente), as compras (`purchases`) e o saldo de créditos (`credit_balance`); com uma assinatura em atraso, o próximo passo sugerido é `pay_my_subscription_now`. Sem empresa, devolve `company: null`; os convites pendentes estão em `list_my_company_invitations`. *Papel mínimo: qualquer.*

Sem parâmetros.

**Peça assim:** *"O que eu tenho pela minha empresa?"* · *"Quem está na minha empresa?"* · *"A assinatura da minha empresa está em dia?"*

## `create_company`

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

**Cadastrar uma empresa.** Só o nome é obrigatório: sem os campos de coworking, a empresa é só nome e equipe. No bloco de coworking, `offer_product_ids` lista os planos e produtos que a empresa pode contratar (só produtos digitais) e `billing`, os dados de cobrança. Nada é cobrado aqui e não pede confirmação: a resposta traz o `purchaseLink`, a página em que o admin da empresa contrata, e o assistente entrega o link. Produto de outra comunidade: "não encontrado"; produto que não é digital: recusado. A empresa não ganha login; as pessoas entram com `invite_company_member`. `parcel_notice_admins_only` faz só os admins da empresa receberem o aviso de [encomenda](/espacos/encomendas#encomenda-para-uma-empresa) (padrão: todos os funcionários com acesso ao espaço). *Papel mínimo: administrador (proprietário ou administrador).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `name` | texto | Sim | O nome, até 120 caracteres |
| `coworking` | verdadeiro/falso | Não | Liga ou desliga o bloco de coworking. Omitido, liga quando algum campo do bloco vem preenchido |
| `residence_type` | `PRIVATE_OFFICE`, `FIXED_DESK` ou `VIRTUAL_OFFICE` | Não | Sala privativa, mesa fixa ou escritório virtual |
| `offer_product_ids` | lista de ids, até 20 | Não | Os planos e produtos digitais que a empresa pode contratar (de `list_plans` ou `list_products`) |
| `billing` | `legal_name`, `tax_id` (CNPJ), `email` | Não | Os dados de cobrança; cada campo é opcional e `null` apaga |
| `starts_at` | AAAA-MM-DD | Não | O início no coworking |
| `ends_at` | AAAA-MM-DD | Não | A saída prevista, não antes do início |
| `parcel_notice_admins_only` | verdadeiro/falso | Não | Só os admins da empresa recebem o aviso de encomenda (padrão: falso) |

**Peça assim:** *"Cadastre a Acme Tecnologia no coworking, sala privativa, desde 1/11, podendo contratar o plano Sala privativa mensal. Razão social Acme Tecnologia Ltda, e-mail de cobrança financeiro@memberfy.net."* · *"Cadastre a empresa Contábil Silva."*

## `update_company`

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

**Editar.** Só o que você mandar: nome, `coworking`, tipo, ofertas, dados de cobrança, início ou saída. A lista `offer_product_ids` enviada substitui a anterior (`[]` ou `null` limpa). `null` apaga um campo do bloco; preencher um campo liga o coworking; `coworking: false` desliga e apaga o bloco inteiro. Para encerrar agora, use `close_company`. *Papel mínimo: administrador (proprietário ou administrador).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `company_id` | id | Sim | A empresa |
| `name`, `coworking`, `residence_type`, `offer_product_ids`, `billing`, `starts_at`, `ends_at`, `parcel_notice_admins_only` | vários | Não | Só o que mudar |

**Peça assim:** *"A Acme sai em 31/12. Atualize a saída prevista."* · *"Na Acme, avise só os admins quando chegar encomenda."*

## `close_company`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Encerrar a empresa agora.** A empresa deixa de aceitar convites, de dar acesso à equipe e de ser cobrada; o cadastro e o bloco de coworking continuam registrados. Não há reabertura. Com `remove_members` (padrão: verdadeiro), todos saem da equipe, e quem entrou na comunidade pela empresa e ainda é membro sai também da comunidade. O resumo lista quem sai e avisa que a cobrança dessas pessoas é suspensa e a assinatura fica registrada até o cancelamento. Empresa já encerrada: recusado. Na primeira chamada devolve o resumo e o código de confirmação. *Papel mínimo: administrador (proprietário ou administrador).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `company_id` | id | Sim | A empresa |
| `remove_members` | verdadeiro/falso | Não | Padrão: verdadeiro. Falso mantém a equipe vinculada à empresa encerrada |

**Peça assim:** *"Encerre a Acme e remova a equipe dela."*

## `list_company_members`

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

**A equipe de uma empresa**, com os admins primeiro: nome, cargo, se é admin da empresa, se entrou pela empresa e, para a equipe da comunidade e o admin da empresa, o e-mail. Lê quem é da equipe da comunidade ou da própria empresa. *Papel mínimo: qualquer (a API confere o vínculo).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `company_id` | id | Sim | A empresa (de `list_companies` ou `get_my_company`) |

**Peça assim:** *"Mostre a equipe da Acme."*

## `invite_company_member`

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

**Incluir na equipe pelo e-mail.** Pelo **proprietário ou administrador**, vincula na hora: quem já é da comunidade só ganha o vínculo, sem e-mail (`linked`); quem não é entra na comunidade como membro e **recebe o convite por e-mail** (`invited`): o assistente avisa antes. Pelo **admin da empresa**, nunca vincula: a resposta é sempre `invited` com `pending: true` e o `invitation_id`, seja quem for a pessoa, e o assistente diz *"Convite enviado. A pessoa entra na equipe quando aceitar."*, sem afirmar se ela já era da comunidade. Recusado se a comunidade não está aceitando novos membros, se a pessoa pediu para não participar, se ela já está nesta equipe ou se a empresa está encerrada; para o proprietário e o administrador, também se ela já está noutra empresa. Convidam o proprietário, o administrador e o admin daquela empresa enquanto ela está ativa; `is_admin` só o proprietário e o administrador. O admin da empresa manda até 30 convites por hora (acima disso, 429 com `Retry-After`); o proprietário e o administrador não têm esse limite. *Papel mínimo: qualquer (a API confere o vínculo).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `company_id` | id | Sim | A empresa |
| `email` | texto | Sim | O e-mail da pessoa |
| `name` | texto | Não | O nome, se a conta for criada agora |
| `is_admin` | verdadeiro/falso | Não | Já entra como admin da empresa (proprietário ou administrador) |

**Peça assim:** *"Convide joao@memberfy.net para a equipe da minha empresa."*

## `update_company_member`

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

**Marcar ou remover o admin da empresa.** O admin da empresa convida e remove a própria equipe. *Papel mínimo: administrador (proprietário ou administrador).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `company_id` | id | Sim | A empresa |
| `member_id` | id | Sim | A pessoa (de `list_company_members`) |
| `is_admin` | verdadeiro/falso | Sim | Verdadeiro marca; falso remove |

**Peça assim:** *"Deixe a Maria como admin da Acme."*

## `remove_company_member`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Remover alguém da equipe.** Se a pessoa entrou na comunidade pela empresa e ainda é membro, sai também da comunidade e perde o acesso; se já era da comunidade, só perde o vínculo. O resumo diz qual dos dois e avisa que a cobrança da pessoa removida é suspensa e a assinatura fica registrada até o cancelamento. Removem o proprietário, o administrador e o admin daquela empresa enquanto ela está ativa. Na primeira chamada devolve o resumo e o código de confirmação. *Papel mínimo: qualquer (a API confere o vínculo).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `company_id` | id | Sim | A empresa |
| `member_id` | id | Sim | A pessoa (de `list_company_members`) |

**Peça assim:** *"Remova o João da equipe da Acme; ele saiu da empresa."*

## `list_company_invitations`

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

**Os convites pendentes da empresa**: os que o admin da empresa enviou e ninguém respondeu, do mais novo ao mais antigo, com o e-mail digitado e a data. Nunca diz quem é a pessoa nem se ela já era da comunidade. Os convites do proprietário e do administrador vinculam na hora e não aparecem aqui. Leem a equipe da comunidade e o admin daquela empresa enquanto ela está ativa. *Papel mínimo: qualquer (a API confere o vínculo).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `company_id` | id | Sim | A empresa |

**Peça assim:** *"Quem eu convidei para a minha empresa e ainda não aceitou?"*

## `list_my_company_invitations`

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

**Os seus convites.** Os convites pendentes da pessoa conectada para entrar numa equipe (*"você foi convidado para a empresa X"*), do mais novo ao mais antigo, com a empresa, quem convidou e a data. Só empresas ativas desta comunidade; sem convites, lista vazia. *Papel mínimo: qualquer.*

Sem parâmetros.

**Peça assim:** *"Tenho algum convite de empresa?"*

## `accept_company_invitation`

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

**Aceitar o seu convite.** A pessoa entra na equipe (sem ser admin da empresa). Não pede confirmação. Convite de outra pessoa, já respondido ou de outra comunidade: "não encontrado". Empresa encerrada depois do convite, ou pessoa já na equipe de outra empresa: recusado, com a mensagem da API. *Papel mínimo: qualquer (o seu convite).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `invitation_id` | id | Sim | O convite (de `list_my_company_invitations`) |

**Peça assim:** *"Aceite o convite da Acme."*

## `decline_company_invitation`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Recusar o seu convite.** Nenhum vínculo é criado e o convite some de vez: para entrar depois, só com um convite novo. Na primeira chamada devolve o resumo e o código de confirmação. *Papel mínimo: qualquer (o seu convite).*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `invitation_id` | id | Sim | O convite (de `list_my_company_invitations`) |

**Peça assim:** *"Recuse o convite da Acme."*

## Receitas sugeridas

- **Cadastrar uma empresa:** cadastrar a empresa com as ofertas (`create_company`), entregar o `purchaseLink`, convidar quem vai cuidar dela (`invite_company_member`) e marcá-la como admin da empresa (`update_company_member`, ou `is_admin` já no convite). Passo a passo em [Receitas](/mcp/receitas#69-cadastrar-uma-empresa).
- **O admin convida e a pessoa aceita:** o admin da empresa convida o colega (`invite_company_member`) e acompanha em `list_company_invitations`; o colega vê o convite (`list_my_company_invitations`) e aceita (`accept_company_invitation`). Passo a passo em [Receitas](/mcp/receitas#70-convidar-um-colega-para-a-sua-empresa).
- **O que eu tenho pela empresa:** qualquer pessoa da equipe pergunta, e o assistente responde com o `benefits` de `get_my_company` (planos, conteúdos e créditos da empresa, sem preço). Passo a passo em [Receitas](/mcp/receitas#72-o-que-eu-tenho-pela-minha-empresa).

## Relacionados

- [Empresas](/membros/empresas)
- [Ferramentas](/mcp/ferramentas)
- [Ferramentas · Membros](/mcp/ferramentas-membros)
- [Ferramentas · Assinaturas](/mcp/ferramentas-assinaturas)
- [Ferramentas · Créditos](/mcp/ferramentas-creditos)
- [Dinheiro e confirmação](/mcp/dinheiro-e-confirmacao)
- [Receitas](/mcp/receitas)
