← The evidence ledger
Evidence row 259614
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint f5382d0b-ff95-4147-8bcf-86f95a335111
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 8c0567a0ce80430ec733e5b8f6b0079797f6c2711701d0e105fd0fcc306a1b36
- Leaf
- 0xa62ac64c56e187223fc595d7960cc746f572870d6cb7edc3540fd432de56389f
What was observed
{
"count": 42,
"tools": [
{
"description": "Agenda do escritório no Astrea — audiências (HEARING), reuniões/eventos (EVENT), prazos (DEADLINE) e tarefas (TASK).\nAções:\n- global: todas as atividades numa janela de datas (date_from/date_to em AAAA-MM-DD).\n- por_cliente: as atividades agrupadas por cliente (via processo vinculado; avulsas vão em \"(sem cliente)\").\n\n[Flattened action: global]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
}
},
"required": [
"date_from",
"date_to"
],
"type": "object"
},
"name": "astrea_agenda_global"
},
{
"description": "Agenda do escritório no Astrea — audiências (HEARING), reuniões/eventos (EVENT), prazos (DEADLINE) e tarefas (TASK).\nAções:\n- global: todas as atividades numa janela de datas (date_from/date_to em AAAA-MM-DD).\n- por_cliente: as atividades agrupadas por cliente (via processo vinculado; avulsas vão em \"(sem cliente)\").\n\n[Flattened action: por_cliente]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
}
},
"required": [
"date_from",
"date_to"
],
"type": "object"
},
"name": "astrea_agenda_por_cliente"
},
{
"description": "Lança um andamento (histórico) MANUAL num processo do Astrea — registra um ato/observação na timeline do processo (não é captura automática do tribunal).\n- case_id: id do processo (ver astrea_processos).\n- description: texto do andamento (aceita HTML simples; texto puro vira um parágrafo).\n- date: data/hora do andamento em ISO (ex.: 2026-06-30 ou 2026-06-30T13:00:00Z); omita para usar agora.\n- responsible_id: opcional, id do membro que PRATICOU o ato (ver astrea_responsaveis). Se omitir, o andamento fica assinado pelo usuário da integração, não pelo advogado — passe o id da pessoa para a timeline mostrar quem de fato praticou.\n\nBulk support: accepts case_ids, responsible_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"date": {
"type": "string"
},
"description": {
"type": "string"
},
"responsible_id": {
"type": "string"
},
"responsible_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"case_id",
"description"
],
"type": "object"
},
"name": "astrea_andamento_criar"
},
{
"description": "Andamentos (timeline/histórico) de um processo no Astrea — base para gerar relatórios ao cliente.\nCada andamento traz date, type, description, responsible. type que começa com AUTOMATIC = captura automática do tribunal; os demais são manuais.\n\nBulk support: accepts case_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"default": 50,
"type": "number"
},
"only_manual": {
"default": false,
"type": "boolean"
}
},
"required": [
"case_id"
],
"type": "object"
},
"name": "astrea_andamentos"
},
{
"description": "Cria um CASO extrajudicial/consultivo novo no Astrea. No Astrea o caso é uma pasta SEM número CNJ e SEM tribunal, entidade distinta de processo. Use para consultoria, contratos, procedimentos administrativos, licitações, retainer etc., destravando a automação (andamento, tarefa, prazo, documento) sobre a pasta.\nObrigatório: titulo, e o cliente (customer_id de astrea_clientes OU customer_nome para criar um contato novo).\nPara processo JUDICIAL (com CNJ/tribunal) use astrea_processo_criar.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"customer_id": {
"type": "string"
},
"customer_nome": {
"type": "string"
},
"data_abertura": {
"type": "string"
},
"objeto": {
"type": "string"
},
"polo": {
"type": "string"
},
"qualificacao": {
"type": "string"
},
"responsavel_id": {
"type": "string"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"titulo": {
"type": "string"
},
"valor_envolvido": {
"type": "number"
}
},
"required": [
"titulo"
],
"type": "object"
},
"name": "astrea_caso_criar"
},
{
"description": "Clientes/contatos do escritório no Astrea — UMA página compacta (id, nome, classificação, tipo, tags). Pagine com o cursor devolvido. Não varre a conta toda.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cursor": {
"type": "string"
},
"limit": {
"default": 30,
"type": "number"
}
},
"type": "object"
},
"name": "astrea_clientes"
},
{
"description": "Cria um COMPROMISSO/evento na agenda, vinculado a um processo no Astrea.\n- case_id: id do processo (ver astrea_processos).\n- title: título do compromisso.\n- start: início em ISO (ex.: 2026-07-10T14:00:00Z). Interpretado no fuso do servidor (UTC).\n- end: opcional, fim em ISO; se omitido, 30 min após o início.\n- all_day: opcional, true para dia inteiro.\n- location: opcional, endereço/local.\n- responsible_id: opcional, id do membro responsável (ver astrea_responsaveis). Se omitir, fica no usuário da integração e pode NÃO aparecer na agenda do advogado. Passe o id da pessoa para o compromisso aparecer na agenda dela.\n- repeat: opcional, cria uma SÉRIE recorrente numa só chamada (semanal/mensal/etc.). A 1ª ocorrência é o start; cada ocorrência preserva o horário e a duração. Cada compromisso é independente (edite/exclua individualmente com astrea_compromisso_editar/_excluir).\nDevolve appointment_id (o id do compromisso criado; na série, um por ocorrência) — guarde para editar/excluir depois.\n\nBulk support: accepts case_ids, responsible_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"all_day": {
"default": false,
"type": "boolean"
},
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"end": {
"type": "string"
},
"location": {
"type": "string"
},
"repeat": {
"properties": {
"count": {
"type": "number"
},
"frequency": {
"enum": [
"daily",
"weekly",
"monthly",
"yearly"
],
"type": "string"
},
"interval": {
"default": 1,
"type": "number"
},
"until": {
"type": "string"
}
},
"required": [
"frequency"
],
"type": "object"
},
"responsible_id": {
"type": "string"
},
"responsible_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"start": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"case_id",
"title",
"start"
],
"type": "object"
},
"name": "astrea_compromisso_criar"
},
{
"description": "Edita um COMPROMISSO/evento da agenda do Astrea (altera no lugar, PRESERVANDO o appointment_id). Use sempre que precisar mudar algo de um compromisso já criado — adiar/antecipar, renomear, trocar o local ou o responsável. NÃO exclua e recrie: isso gera um id novo e quebra as referências guardadas.\n- appointment_id: id do compromisso (retornado em astrea_compromisso_criar).\n- Informe ao menos um campo para mudar; o que você omitir fica como está.\n- start: novo início em ISO (ex.: 2026-07-10T14:00:00Z). Sem end, a DURAÇÃO é preservada (adiar 30 min move início e fim juntos).\n- end: novo fim em ISO.\n- title / location / all_day: novo título, endereço/local, dia inteiro.\n- responsible_id: novo responsável (ver astrea_responsaveis) — é o que faz o compromisso aparecer na agenda da pessoa.\nNuma série recorrente, edita SÓ a ocorrência informada (cada ocorrência tem seu próprio appointment_id).\n\nBulk support: accepts appointment_ids, responsible_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"all_day": {
"type": "boolean"
},
"appointment_id": {
"type": "string"
},
"appointment_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"end": {
"type": "string"
},
"location": {
"type": "string"
},
"responsible_id": {
"type": "string"
},
"responsible_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"start": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"appointment_id"
],
"type": "object"
},
"name": "astrea_compromisso_editar"
},
{
"description": "Exclui um COMPROMISSO/evento da agenda do Astrea. Use para CANCELAR o compromisso. Para só corrigir algo nele (horário, título, local, responsável) use astrea_compromisso_editar — excluir e recriar gera um appointment_id novo e quebra as referências guardadas.\n- appointment_id: id do compromisso (retornado em astrea_compromisso_criar).\n\nBulk support: accepts appointment_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"appointment_id": {
"type": "string"
},
"appointment_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"appointment_id"
],
"type": "object"
},
"name": "astrea_compromisso_excluir"
},
{
"description": "Conta do escritório no Astrea: plano contratado (Light/Up/Smart/Company/VIP), status (trial/ativo), dias de trial restantes, tenant e perfil. Útil pra saber em que plano o escritório está.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "astrea_conta"
},
{
"description": "Gera um documento a partir de um MODELO cadastrado no Astrea e o vincula ao processo (área Documentos). O Astrea preenche as variáveis do modelo com os dados do processo, do cliente, do escritório e a data (ex.: gerar uma procuração para o processo X usando o modelo \"Procuração PJ\"). Para anexar um arquivo PRONTO em vez de gerar a partir de modelo, use astrea_documento_upload.\n- model: id ou nome do modelo (ver astrea_modelos); por nome, casa parcialmente (se ambíguo, use o id).\n- case_id: id do processo (ver astrea_processos).\n- title: opcional, título do documento gerado; se omitir, usa o nome do modelo.\n- responsible_id: opcional, id do membro responsável (ver astrea_responsaveis); se omitir, fica no usuário da integração.\n\nBulk support: accepts case_ids, responsible_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"model": {
"type": "string"
},
"responsible_id": {
"type": "string"
},
"responsible_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"model",
"case_id"
],
"type": "object"
},
"name": "astrea_documento_gerar"
},
{
"description": "Anexa um DOCUMENTO a um processo do Astrea (PDF de petição, comprovante, certidão, decisão, etc.). O arquivo fica vinculado ao PROCESSO, na área Documentos (o Astrea não anexa arquivo dentro de um andamento/tarefa, o vínculo é sempre no processo).\n- case_id: id do processo (ver astrea_processos).\n- attachments: um ou mais arquivos. Por arquivo, informe UMA forma: file_url (a plataforma baixa da URL, precisa abrir sem login), upload_id (arquivo já enviado, veja abaixo) ou file_base64 (só arquivo pequeno cujos bytes você REALMENTE tem; NUNCA pra anexo da conversa). file_name é obrigatório com file_url/file_base64.\n- Arquivo ANEXADO na conversa ou no computador do usuário: NÃO tente ler o conteúdo nem montar file_base64 (você recebe o texto extraído, não os bytes do arquivo, e o upload sairia corrompido). Chame esta tool SEM arquivo, passando file_path se souber o caminho do anexo: ela devolve um comando pronto de upload. Execute esse comando no seu sandbox de execução de código (ou peça pro usuário rodar no terminal) e chame de novo com o `upload_id` E o `file_name` que ela devolveu. Com vários anexos, passe um item por arquivo (com file_path, se souber) e a tool devolve um comando por arquivo.\n- description: descrição do documento (se omitir, usa o nome dos arquivos).\n- responsible_id: opcional, id do membro responsável (ver astrea_responsaveis); se omitir, fica no usuário da integração.\n- Os mesmos arquivos no mesmo processo nos últimos 30 minutos NÃO são enviados de novo (a resposta vem com duplicado_evitado). Só passe permitir_duplicado=true se o usuário pediu explicitamente outra cópia.\n\nBulk support: accepts case_ids, responsible_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"attachments": {
"items": {
"properties": {
"content_type": {
"type": "string"
},
"file_base64": {
"type": "string"
},
"file_name": {
"type": "string"
},
"file_path": {
"type": "string"
},
"file_url": {
"type": "string"
},
"upload_code": {
"type": "string"
},
"upload_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"type": "string"
},
"permitir_duplicado": {
"type": "boolean"
},
"responsible_id": {
"type": "string"
},
"responsible_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"case_id",
"attachments"
],
"type": "object"
},
"name": "astrea_documento_upload"
},
{
"description": "Encerra (inativa) processos no Astrea, EM LOTE — marca a situação como encerrado (as informações continuam disponíveis para consulta). Use na higienização da carteira para baixar processos finalizados.\n- case_ids: ids dos processos (ver astrea_processos); aceita vários.\n- conviction_amount: opcional, valor da condenação a gravar no encerramento.\n- unlink_from_court: opcional, true também desvincula do tribunal (para de receber andamentos automáticos).\nReabrir um processo encerrado é feito pela própria tela do Astrea (Ativar processo). O Astrea processa o lote de forma assíncrona.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"conviction_amount": {
"type": "number"
},
"unlink_from_court": {
"default": false,
"type": "boolean"
}
},
"required": [
"case_ids"
],
"type": "object"
},
"name": "astrea_encerrar"
},
{
"description": "Aplica ou remove etiquetas (tags) em PROCESSOS do Astrea, EM LOTE — use para classificar/higienizar a carteira (ex.: marcar a área de centenas de processos de uma vez). Para etiquetar TAREFAS use astrea_tarefa_etiquetar.\n- action \"aplicar\" adiciona as etiquetas; \"remover\" tira as etiquetas (sem apagar a etiqueta em si).\n- case_ids: ids dos processos (ver astrea_processos); aceita vários (o lote roda numa só chamada, fatiado internamente).\n- tag_ids: ids das etiquetas (ver astrea_etiquetas); aceita várias.\nO Astrea processa o lote de forma assíncrona; o efeito aparece em alguns segundos. As etiquetas precisam existir (crie-as no Astrea antes).\n\n[Flattened action: aplicar]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"case_ids",
"tag_ids"
],
"type": "object"
},
"name": "astrea_etiquetar_aplicar"
},
{
"description": "Aplica ou remove etiquetas (tags) em PROCESSOS do Astrea, EM LOTE — use para classificar/higienizar a carteira (ex.: marcar a área de centenas de processos de uma vez). Para etiquetar TAREFAS use astrea_tarefa_etiquetar.\n- action \"aplicar\" adiciona as etiquetas; \"remover\" tira as etiquetas (sem apagar a etiqueta em si).\n- case_ids: ids dos processos (ver astrea_processos); aceita vários (o lote roda numa só chamada, fatiado internamente).\n- tag_ids: ids das etiquetas (ver astrea_etiquetas); aceita várias.\nO Astrea processa o lote de forma assíncrona; o efeito aparece em alguns segundos. As etiquetas precisam existir (crie-as no Astrea antes).\n\n[Flattened action: remover]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"case_ids",
"tag_ids"
],
"type": "object"
},
"name": "astrea_etiquetar_remover"
},
{
"description": "Lista as etiquetas (tags) do Astrea — id, label, cor, restrictions (CASES/TASKS/APPOINTMENTS).\nUse para descobrir o id da etiqueta de \"êxito\" (ou qualquer outra) e então filtrar processos com astrea_processos (tag_id) e somar valor da causa / honorários (astrea_financeiro).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "astrea_etiquetas"
},
{
"description": "Resumo financeiro de um processo no Astrea.\nAções:\n- honorarios: honorários do processo (totalAmount/totalReceived/totalOpen) — use para \"valor de êxito\".\n- despesas: despesas do processo.\n\n[Flattened action: despesas]\n\nBulk support: accepts case_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"case_id"
],
"type": "object"
},
"name": "astrea_financeiro_despesas"
},
{
"description": "Resumo financeiro de um processo no Astrea.\nAções:\n- honorarios: honorários do processo (totalAmount/totalReceived/totalOpen) — use para \"valor de êxito\".\n- despesas: despesas do processo.\n\n[Flattened action: honorarios]\n\nBulk support: accepts case_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"case_id"
],
"type": "object"
},
"name": "astrea_financeiro_honorarios"
},
{
"description": "Lista os quadros KANBAN de tarefas do escritório no Astrea, com as colunas de cada um (id, nome, tipo: BACKLOG = entrada, DONE = concluído). Use os ids em astrea_tarefa_criar (kanban_id/column_id) e astrea_tarefa_mover (column_id). \"padrao\" marca o quadro padrão.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "astrea_kanbans"
},
{
"description": "Lista os MODELOS de documento cadastrados no Astrea (procuração, contrato de honorários, petição, etc.). Use para descobrir o modelo antes de gerar um documento com astrea_documento_gerar. Retorna id + nome de cada modelo.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "astrea_modelos"
},
{
"description": "Cria um PRAZO processual no Astrea (aparece como prazo na agenda e nos relatórios de prazos, não como tarefa solta), vinculado a um processo ou caso, e opcionalmente as TAREFAS que dependem dele, tudo numa chamada (ex.: prazo fatal 06/11 para protocolar; tarefas \"levantar movimentações\", \"minuta\", \"revisão\").\n- case_id: id do processo ou caso (ver astrea_processos).\n- title: título do prazo (até 250 caracteres).\n- due_date: data FATAL, AAAA-MM-DD. Obrigatória: calcule você a contagem (dias úteis/corridos a partir da intimação); o Astrea recebe a data pronta.\n- responsible_id: opcional, responsável pelo prazo (ver astrea_responsaveis); se omitir, fica no usuário da integração e pode não aparecer na agenda do advogado.\n- comments: opcional, observações do prazo. tag_ids: opcional, etiquetas (ver astrea_etiquetas; a etiqueta precisa permitir prazos).\n- tarefas: opcional, tarefas vinculadas ao prazo. Cada uma com description e a data: due_date (AAAA-MM-DD) OU dias_antes (dias corridos antes da data fatal; omitindo os dois, vence na data fatal). responsible_id por tarefa (ex.: estagiária numa, advogada noutra).\nDevolve prazo_id e, por tarefa, task_id (editar/excluir com astrea_tarefa_editar/_excluir). Falha numa tarefa não desfaz o prazo: veja \"tarefas[].criada\" e crie só a que faltou com astrea_tarefa_criar + prazo_id. Mudar a data fatal depois NÃO recalcula as tarefas.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"comments": {
"type": "string"
},
"due_date": {
"type": "string"
},
"responsible_id": {
"type": "string"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"tarefas": {
"items": {
"properties": {
"description": {
"type": "string"
},
"dias_antes": {
"type": "number"
},
"due_date": {
"type": "string"
},
"responsible_id": {
"type": "string"
}
},
"required": [
"description"
],
"type": "object"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"case_id",
"title",
"due_date"
],
"type": "object"
},
"name": "astrea_prazo_criar"
},
{
"description": "Cria um PROCESSO judicial novo no Astrea (fecha a paridade CRUD com astrea_processo_editar/astrea_encerrar). Use para cadastrar um processo a partir de dados extraídos (ex.: petição inicial), destravando a automação (andamento, tarefa, prazo, documento).\nObrigatório: titulo, e o cliente (customer_id de astrea_clientes OU customer_nome para criar um contato novo).\nCampos judiciais opcionais, informados por NOME: numero_cnj, tribunal, vara, tipo_acao, data_distribuicao (AAAA-MM-DD), instancia.\nPara CASO extrajudicial/consultivo (sem CNJ/tribunal) use astrea_caso_criar.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"customer_id": {
"type": "string"
},
"customer_nome": {
"type": "string"
},
"data_distribuicao": {
"type": "string"
},
"instancia": {
"type": "number"
},
"numero_cnj": {
"type": "string"
},
"objeto": {
"type": "string"
},
"polo": {
"type": "string"
},
"qualificacao": {
"type": "string"
},
"responsavel_id": {
"type": "string"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"tipo_acao": {
"type": "string"
},
"titulo": {
"type": "string"
},
"tribunal": {
"type": "string"
},
"valor_causa": {
"type": "number"
},
"valor_condenacao": {
"type": "number"
},
"vara": {
"type": "string"
}
},
"required": [
"titulo"
],
"type": "object"
},
"name": "astrea_processo_criar"
},
{
"description": "Edita campos de UM processo no Astrea. Lê o processo atual e regrava preservando o resto (só muda o que você informar).\nCampos editáveis (informe ao menos um):\n- objeto: o campo \"Objeto\" (descrição do processo).\n- conviction_amount: valor da condenação.\nPara encerrar/reativar ou etiquetar use astrea_encerrar / astrea_etiquetar.\n\nBulk support: accepts case_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"conviction_amount": {
"type": "number"
},
"objeto": {
"type": "string"
}
},
"required": [
"case_id"
],
"type": "object"
},
"name": "astrea_processo_editar"
},
{
"description": "Processos (casos) no Astrea. Respostas COMPACTAS pra economizar contexto.\nAções:\n- buscar: ACHA o processo pelo NÚMERO CNJ (ou trecho dele) e/ou por texto do título/cliente, devolvendo o id interno que as outras tools pedem (case_id). Mande TODOS os números de uma vez em numeros[] — a busca varre a conta UMA vez pra lista inteira (triagem de publicações: 30 números = 1 chamada). Por padrão inclui encerrados (status \"All\"), que é onde ficam execuções/recursos antigos. Resposta: encontrados[{consulta, processos[]}], nao_encontrados[], varredura{paginas, processos_varridos, truncado}. truncado=true significa que a varredura parou antes do fim (já achou tudo que foi pedido, ou bateu o teto) — pode haver outros processos casando um número PARCIAL.\n- list: UMA página de processos (não varre a conta toda). Filtros: contact_id, tag_id, status. Pagine com cursor (devolvido em cada resposta). Pra achar UM processo específico use buscar, não pagine list.\n- count: total de processos (mesmos filtros) rápido, use pra \"quantos\".\n- por_cliente: resumo por cliente (qtd + soma do valor da causa), ordenado. Use top_n pra limitar. Respeita o status. Sem o detalhe dos processos, pra detalhar chame list com contact_id.\n- novos_por_mes: nº de processos novos por mês (data de distribuição). Respeita o status.\npor_cliente e novos_por_mes varrem a conta e também devolvem varredura{paginas, processos_varridos, truncado, motivo}. truncado=true significa que o resultado é PARCIAL (motivo \"tempo\" = a conta é grande demais pra varrer inteira numa chamada; \"teto_de_paginas\" = passou de 5000 processos) — diga isso ao usuário em vez de apresentar o número como total do escritório, e use count pro total exato ou list com filtros pra recortar.\nCampos por processo (list): id, number, customer/customerId, title, court, lawsuitType, amount (valor da causa), convictionAmount (valor da condenação, só vem quando preenchido no Astrea), distribuitionDate, lastMovement, active (true=em andamento, false=encerrado), currentInstanceNumber (grau/instância), situacao (rótulo pronto, ex.: \"Encerrado 1º Grau\"), tagIds.\n\n[Flattened action: buscar]\n\nBulk support: accepts contact_ids, tag_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"contact_id": {
"type": "string"
},
"contact_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"cursor": {
"type": "string"
},
"limit": {
"default": 30,
"type": "number"
},
"numeros": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"Active",
"Inactive",
"Archived",
"All"
],
"type": "string"
},
"tag_id": {
"type": "string"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"texto": {
"type": "string"
},
"top_n": {
"type": "number"
}
},
"type": "object"
},
"name": "astrea_processos_buscar"
},
{
"description": "Processos (casos) no Astrea. Respostas COMPACTAS pra economizar contexto.\nAções:\n- buscar: ACHA o processo pelo NÚMERO CNJ (ou trecho dele) e/ou por texto do título/cliente, devolvendo o id interno que as outras tools pedem (case_id). Mande TODOS os números de uma vez em numeros[] — a busca varre a conta UMA vez pra lista inteira (triagem de publicações: 30 números = 1 chamada). Por padrão inclui encerrados (status \"All\"), que é onde ficam execuções/recursos antigos. Resposta: encontrados[{consulta, processos[]}], nao_encontrados[], varredura{paginas, processos_varridos, truncado}. truncado=true significa que a varredura parou antes do fim (já achou tudo que foi pedido, ou bateu o teto) — pode haver outros processos casando um número PARCIAL.\n- list: UMA página de processos (não varre a conta toda). Filtros: contact_id, tag_id, status. Pagine com cursor (devolvido em cada resposta). Pra achar UM processo específico use buscar, não pagine list.\n- count: total de processos (mesmos filtros) rápido, use pra \"quantos\".\n- por_cliente: resumo por cliente (qtd + soma do valor da causa), ordenado. Use top_n pra limitar. Respeita o status. Sem o detalhe dos processos, pra detalhar chame list com contact_id.\n- novos_por_mes: nº de processos novos por mês (data de distribuição). Respeita o status.\npor_cliente e novos_por_mes varrem a conta e também devolvem varredura{paginas, processos_varridos, truncado, motivo}. truncado=true significa que o resultado é PARCIAL (motivo \"tempo\" = a conta é grande demais pra varrer inteira numa chamada; \"teto_de_paginas\" = passou de 5000 processos) — diga isso ao usuário em vez de apresentar o número como total do escritório, e use count pro total exato ou list com filtros pra recortar.\nCampos por processo (list): id, number, customer/customerId, title, court, lawsuitType, amount (valor da causa), convictionAmount (valor da condenação, só vem quando preenchido no Astrea), distribuitionDate, lastMovement, active (true=em andamento, false=encerrado), currentInstanceNumber (grau/instância), situacao (rótulo pronto, ex.: \"Encerrado 1º Grau\"), tagIds.\n\n[Flattened action: count]\n\nBulk support: accepts contact_ids, tag_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"contact_id": {
"type": "string"
},
"contact_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"cursor": {
"type": "string"
},
"limit": {
"default": 30,
"type": "number"
},
"numeros": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"Active",
"Inactive",
"Archived",
"All"
],
"type": "string"
},
"tag_id": {
"type": "string"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"texto": {
"type": "string"
},
"top_n": {
"type": "number"
}
},
"type": "object"
},
"name": "astrea_processos_count"
},
{
"description": "Processos (casos) no Astrea. Respostas COMPACTAS pra economizar contexto.\nAções:\n- buscar: ACHA o processo pelo NÚMERO CNJ (ou trecho dele) e/ou por texto do título/cliente, devolvendo o id interno que as outras tools pedem (case_id). Mande TODOS os números de uma vez em numeros[] — a busca varre a conta UMA vez pra lista inteira (triagem de publicações: 30 números = 1 chamada). Por padrão inclui encerrados (status \"All\"), que é onde ficam execuções/recursos antigos. Resposta: encontrados[{consulta, processos[]}], nao_encontrados[], varredura{paginas, processos_varridos, truncado}. truncado=true significa que a varredura parou antes do fim (já achou tudo que foi pedido, ou bateu o teto) — pode haver outros processos casando um número PARCIAL.\n- list: UMA página de processos (não varre a conta toda). Filtros: contact_id, tag_id, status. Pagine com cursor (devolvido em cada resposta). Pra achar UM processo específico use buscar, não pagine list.\n- count: total de processos (mesmos filtros) rápido, use pra \"quantos\".\n- por_cliente: resumo por cliente (qtd + soma do valor da causa), ordenado. Use top_n pra limitar. Respeita o status. Sem o detalhe dos processos, pra detalhar chame list com contact_id.\n- novos_por_mes: nº de processos novos por mês (data de distribuição). Respeita o status.\npor_cliente e novos_por_mes varrem a conta e também devolvem varredura{paginas, processos_varridos, truncado, motivo}. truncado=true significa que o resultado é PARCIAL (motivo \"tempo\" = a conta é grande demais pra varrer inteira numa chamada; \"teto_de_paginas\" = passou de 5000 processos) — diga isso ao usuário em vez de apresentar o número como total do escritório, e use count pro total exato ou list com filtros pra recortar.\nCampos por processo (list): id, number, customer/customerId, title, court, lawsuitType, amount (valor da causa), convictionAmount (valor da condenação, só vem quando preenchido no Astrea), distribuitionDate, lastMovement, active (true=em andamento, false=encerrado), currentInstanceNumber (grau/instância), situacao (rótulo pronto, ex.: \"Encerrado 1º Grau\"), tagIds.\n\n[Flattened action: list]\n\nBulk support: accepts contact_ids, tag_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"contact_id": {
"type": "string"
},
"contact_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"cursor": {
"type": "string"
},
"limit": {
"default": 30,
"type": "number"
},
"numeros": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"Active",
"Inactive",
"Archived",
"All"
],
"type": "string"
},
"tag_id": {
"type": "string"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"texto": {
"type": "string"
},
"top_n": {
"type": "number"
}
},
"type": "object"
},
"name": "astrea_processos_list"
},
{
"description": "Processos (casos) no Astrea. Respostas COMPACTAS pra economizar contexto.\nAções:\n- buscar: ACHA o processo pelo NÚMERO CNJ (ou trecho dele) e/ou por texto do título/cliente, devolvendo o id interno que as outras tools pedem (case_id). Mande TODOS os números de uma vez em numeros[] — a busca varre a conta UMA vez pra lista inteira (triagem de publicações: 30 números = 1 chamada). Por padrão inclui encerrados (status \"All\"), que é onde ficam execuções/recursos antigos. Resposta: encontrados[{consulta, processos[]}], nao_encontrados[], varredura{paginas, processos_varridos, truncado}. truncado=true significa que a varredura parou antes do fim (já achou tudo que foi pedido, ou bateu o teto) — pode haver outros processos casando um número PARCIAL.\n- list: UMA página de processos (não varre a conta toda). Filtros: contact_id, tag_id, status. Pagine com cursor (devolvido em cada resposta). Pra achar UM processo específico use buscar, não pagine list.\n- count: total de processos (mesmos filtros) rápido, use pra \"quantos\".\n- por_cliente: resumo por cliente (qtd + soma do valor da causa), ordenado. Use top_n pra limitar. Respeita o status. Sem o detalhe dos processos, pra detalhar chame list com contact_id.\n- novos_por_mes: nº de processos novos por mês (data de distribuição). Respeita o status.\npor_cliente e novos_por_mes varrem a conta e também devolvem varredura{paginas, processos_varridos, truncado, motivo}. truncado=true significa que o resultado é PARCIAL (motivo \"tempo\" = a conta é grande demais pra varrer inteira numa chamada; \"teto_de_paginas\" = passou de 5000 processos) — diga isso ao usuário em vez de apresentar o número como total do escritório, e use count pro total exato ou list com filtros pra recortar.\nCampos por processo (list): id, number, customer/customerId, title, court, lawsuitType, amount (valor da causa), convictionAmount (valor da condenação, só vem quando preenchido no Astrea), distribuitionDate, lastMovement, active (true=em andamento, false=encerrado), currentInstanceNumber (grau/instância), situacao (rótulo pronto, ex.: \"Encerrado 1º Grau\"), tagIds.\n\n[Flattened action: novos_por_mes]\n\nBulk support: accepts contact_ids, tag_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"contact_id": {
"type": "string"
},
"contact_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"cursor": {
"type": "string"
},
"limit": {
"default": 30,
"type": "number"
},
"numeros": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"Active",
"Inactive",
"Archived",
"All"
],
"type": "string"
},
"tag_id": {
"type": "string"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"texto": {
"type": "string"
},
"top_n": {
"type": "number"
}
},
"type": "object"
},
"name": "astrea_processos_novos_por_mes"
},
{
"description": "Processos (casos) no Astrea. Respostas COMPACTAS pra economizar contexto.\nAções:\n- buscar: ACHA o processo pelo NÚMERO CNJ (ou trecho dele) e/ou por texto do título/cliente, devolvendo o id interno que as outras tools pedem (case_id). Mande TODOS os números de uma vez em numeros[] — a busca varre a conta UMA vez pra lista inteira (triagem de publicações: 30 números = 1 chamada). Por padrão inclui encerrados (status \"All\"), que é onde ficam execuções/recursos antigos. Resposta: encontrados[{consulta, processos[]}], nao_encontrados[], varredura{paginas, processos_varridos, truncado}. truncado=true significa que a varredura parou antes do fim (já achou tudo que foi pedido, ou bateu o teto) — pode haver outros processos casando um número PARCIAL.\n- list: UMA página de processos (não varre a conta toda). Filtros: contact_id, tag_id, status. Pagine com cursor (devolvido em cada resposta). Pra achar UM processo específico use buscar, não pagine list.\n- count: total de processos (mesmos filtros) rápido, use pra \"quantos\".\n- por_cliente: resumo por cliente (qtd + soma do valor da causa), ordenado. Use top_n pra limitar. Respeita o status. Sem o detalhe dos processos, pra detalhar chame list com contact_id.\n- novos_por_mes: nº de processos novos por mês (data de distribuição). Respeita o status.\npor_cliente e novos_por_mes varrem a conta e também devolvem varredura{paginas, processos_varridos, truncado, motivo}. truncado=true significa que o resultado é PARCIAL (motivo \"tempo\" = a conta é grande demais pra varrer inteira numa chamada; \"teto_de_paginas\" = passou de 5000 processos) — diga isso ao usuário em vez de apresentar o número como total do escritório, e use count pro total exato ou list com filtros pra recortar.\nCampos por processo (list): id, number, customer/customerId, title, court, lawsuitType, amount (valor da causa), convictionAmount (valor da condenação, só vem quando preenchido no Astrea), distribuitionDate, lastMovement, active (true=em andamento, false=encerrado), currentInstanceNumber (grau/instância), situacao (rótulo pronto, ex.: \"Encerrado 1º Grau\"), tagIds.\n\n[Flattened action: por_cliente]\n\nBulk support: accepts contact_ids, tag_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"contact_id": {
"type": "string"
},
"contact_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"cursor": {
"type": "string"
},
"limit": {
"default": 30,
"type": "number"
},
"numeros": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"enum": [
"Active",
"Inactive",
"Archived",
"All"
],
"type": "string"
},
"tag_id": {
"type": "string"
},
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"texto": {
"type": "string"
},
"top_n": {
"type": "number"
}
},
"type": "object"
},
"name": "astrea_processos_por_cliente"
},
{
"description": "Lista os usuários (membros) do escritório no Astrea — id, nome, e-mail. Use para descobrir o id do RESPONSÁVEL antes de criar/editar tarefa, compromisso ou andamento (astrea_tarefa_criar / astrea_compromisso_criar / astrea_compromisso_editar / astrea_andamento_criar com responsible_id), para que a atividade apareça na agenda — e na timeline — da pessoa certa. O campo \"eu\" marca o usuário da integração.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "astrea_responsaveis"
},
{
"description": "Cria uma TAREFA vinculada a um processo no Astrea.\n- case_id: id do processo (ver astrea_processos).\n- description: o que fazer.\n- due_date: opcional, prazo em ISO (ex.: 2026-07-10).\n- responsible_id: opcional, id do membro do escritório responsável (ver astrea_responsaveis). Se omitir, fica no usuário da integração e pode NÃO aparecer na agenda do advogado, que filtra pelo próprio responsável. Para a tarefa aparecer na agenda de alguém, passe o id dessa pessoa.\n- repeat: opcional, cria uma SÉRIE recorrente numa só chamada (semanal/mensal/etc.). Exige due_date (vira a 1ª ocorrência). Cada ocorrência é uma tarefa independente (edite/exclua individualmente com astrea_tarefa_editar/_excluir).\n- kanban_id / column_id: opcionais, colocam a tarefa num quadro kanban (ids em astrea_kanbans). Só column_id = o quadro dessa coluna; só kanban_id = a 1ª coluna (backlog) do quadro. O Astrea só aceita no kanban tarefa COM prazo, então exige due_date. Para mudar a coluna depois use astrea_tarefa_mover.\n- prazo_id: opcional, vincula a tarefa a um PRAZO processual já existente (id de astrea_prazo_criar ou de um DEADLINE em astrea_agenda); ela aparece dentro do prazo no Astrea. Para criar o prazo e as tarefas juntos use astrea_prazo_criar.\nDevolve task_id (o id da tarefa criada; na série, um por ocorrência) — guarde para editar/excluir depois.\n\nBulk support: accepts case_ids, responsible_ids, kanban_ids, column_ids, prazo_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"column_id": {
"type": "string"
},
"column_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"type": "string"
},
"due_date": {
"type": "string"
},
"kanban_id": {
"type": "string"
},
"kanban_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"prazo_id": {
"type": "string"
},
"prazo_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"repeat": {
"properties": {
"count": {
"type": "number"
},
"frequency": {
"enum": [
"daily",
"weekly",
"monthly",
"yearly"
],
"type": "string"
},
"interval": {
"default": 1,
"type": "number"
},
"until": {
"type": "string"
}
},
"required": [
"frequency"
],
"type": "object"
},
"responsible_id": {
"type": "string"
},
"responsible_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"case_id",
"description"
],
"type": "object"
},
"name": "astrea_tarefa_criar"
},
{
"description": "Edita uma TAREFA existente no Astrea (altera no lugar, sem duplicar). Informe ao menos um campo para mudar; o que você omitir fica como está — inclusive as etiquetas da tarefa (para mudá-las use astrea_tarefa_etiquetar).\n- task_id: id da tarefa (retornado em astrea_tarefa_criar / astrea_agenda_global).\n- case_id: id do processo da tarefa (para localizá-la).\n- description / due_date (AAAA-MM-DD) / responsible_id (ver astrea_responsaveis): campos a alterar (omita os que não muda).\nPara reagendar VÁRIAS tarefas, chame uma vez por tarefa (task_ids em lote só serve quando todas são do MESMO case_id).\n\nBulk support: accepts task_ids, case_ids, responsible_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"type": "string"
},
"due_date": {
"type": "string"
},
"responsible_id": {
"type": "string"
},
"responsible_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"task_id": {
"type": "string"
},
"task_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"task_id",
"case_id"
],
"type": "object"
},
"name": "astrea_tarefa_editar"
},
{
"description": "Aplica ou remove etiquetas (tags) em TAREFAS do Astrea — uma ou várias tarefas numa só chamada. Use para classificar/priorizar tarefas (ex.: marcar \"URGÊNCIA\" nas atrasadas) ou restaurar etiquetas. Para etiquetar PROCESSOS use astrea_etiquetar.\n- action \"aplicar\" adiciona as etiquetas às tarefas; \"remover\" tira (sem apagar a etiqueta em si). As etiquetas já presentes são mantidas.\n- task_ids: ids das tarefas (ver astrea_agenda_global, astrea_agenda ou astrea_tarefa_criar); NÃO precisa de case_id.\n- tag_ids: ids das etiquetas (ver astrea_etiquetas; a etiqueta precisa permitir TASKS em restrictions).\nRoda tarefa por tarefa; num lote grande pode voltar \"truncado\" com a lista \"pendentes\" — chame de novo só com elas. Falha numa tarefa não impede as outras (veja \"tarefas[].ok\").\n\n[Flattened action: aplicar]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"task_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"task_ids",
"tag_ids"
],
"type": "object"
},
"name": "astrea_tarefa_etiquetar_aplicar"
},
{
"description": "Aplica ou remove etiquetas (tags) em TAREFAS do Astrea — uma ou várias tarefas numa só chamada. Use para classificar/priorizar tarefas (ex.: marcar \"URGÊNCIA\" nas atrasadas) ou restaurar etiquetas. Para etiquetar PROCESSOS use astrea_etiquetar.\n- action \"aplicar\" adiciona as etiquetas às tarefas; \"remover\" tira (sem apagar a etiqueta em si). As etiquetas já presentes são mantidas.\n- task_ids: ids das tarefas (ver astrea_agenda_global, astrea_agenda ou astrea_tarefa_criar); NÃO precisa de case_id.\n- tag_ids: ids das etiquetas (ver astrea_etiquetas; a etiqueta precisa permitir TASKS em restrictions).\nRoda tarefa por tarefa; num lote grande pode voltar \"truncado\" com a lista \"pendentes\" — chame de novo só com elas. Falha numa tarefa não impede as outras (veja \"tarefas[].ok\").\n\n[Flattened action: remover]",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tag_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"task_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"task_ids",
"tag_ids"
],
"type": "object"
},
"name": "astrea_tarefa_etiquetar_remover"
},
{
"description": "Exclui uma TAREFA do Astrea.\n- task_id: id da tarefa (retornado em astrea_tarefa_criar).\n- case_id: id do processo da tarefa (para localizá-la).\n\nBulk support: accepts task_ids, case_ids for batched execution.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"type": "string"
},
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"task_id": {
"type": "string"
},
"task_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"task_id",
"case_id"
],
"type": "object"
},
"name": "astrea_tarefa_excluir"
},
{
"description": "Move uma ou várias TAREFAS para outra coluna do kanban do Astrea (o mesmo que arrastar o cartão na tela) — ex.: de \"A fazer\" para \"Em andamento\" ou para a coluna de concluídas.\n- task_ids: ids das tarefas (ver astrea_tarefas_listar / astrea_tarefa_criar).\n- column_id: coluna de destino (ver astrea_kanbans); kanban_id é opcional (descoberto pela coluna).\nFalha numa tarefa não impede as outras (veja \"tarefas[].ok\"). Tarefa sem prazo não fica no kanban (regra do Astrea): defina o prazo antes com astrea_tarefa_editar.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"column_id": {
"type": "string"
},
"kanban_id": {
"type": "string"
},
"task_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"task_ids",
"column_id"
],
"type": "object"
},
"name": "astrea_tarefa_mover"
},
{
"description": "Lista TAREFAS do Astrea sem depender de agenda — inclusive as SEM PRAZO, que astrea_agenda nunca mostra. Escolha UMA fonte:\n- case_ids: todas as tarefas desses processos (com e sem prazo; até 50 processos por chamada).\n- sem_prazo=true: tarefas sem prazo da conta inteira, paginadas (passe o cursor devolvido para a próxima página; tem_mais=false = acabou).\n- date_from + date_to (AAAA-MM-DD): tarefas com prazo da conta inteira nessa janela.\nFiltros: status (\"IN_PROGRESS\" abertas — padrão, \"DONE\" concluídas, \"ALL\" todas), responsible_id (ver astrea_responsaveis), tag_id (ver astrea_etiquetas).\nCada tarefa traz id, case_id, case_title, lawsuit_number, description, due_date (null = sem prazo), status, priority, responsible_id, tag_ids, kanban {kanban_id, column_id} (null = fora do kanban) e created_date.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"cursor": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
},
"limit": {
"default": 50,
"type": "number"
},
"responsible_id": {
"type": "string"
},
"sem_prazo": {
"type": "boolean"
},
"status": {
"default": "IN_PROGRESS",
"enum": [
"IN_PROGRESS",
"DONE",
"ALL"
],
"type": "string"
},
"tag_id": {
"type": "string"
}
},
"type": "object"
},
"name": "astrea_tarefas_listar"
},
{
"description": "MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: \"<jwt>\" } after the user pastes, or with no args to get the link.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"token": {
"type": "string"
}
},
"type": "object"
},
"name": "authenticate"
},
{
"description": "Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "connect"
},
{
"description": "The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\", \"consulta um CPF\", \"is there a tool for Y\". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"default": "search",
"enum": [
"search",
"describe",
"install",
"uninstall",
"subscribe",
"cancel",
"resume",
"report_bug",
"request_mcp",
"list_tools",
"invoke",
"search_prompts",
"get_prompt",
"publish_prompt"
],
"type": "string"
},
"arguments": {
"default": "{}",
"type": "string"
},
"cancel_comment": {
"default": "",
"type": "string"
},
"cancel_reason": {
"enum": [
"too_expensive",
"missing_features",
"switched_service",
"unused",
"customer_service",
"too_complex",
"low_quality",
"other"
],
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
},
"immediate": {
"default": false,
"type": "boolean"
},
"limit": {
"default": 10,
"type": "number"
},
"mcp_id": {
"default": "",
"type": "string"
},
"message": {
"default": "",
"type": "string"
},
"prompt_body": {
"default": "",
"type": "string"
},
"prompt_category": {
"default": "",
"type": "string"
},
"prompt_description": {
"default": "",
"type": "string"
},
"prompt_slug": {
"default": "",
"type": "string"
},
"prompt_targets": {
"default": [],
"items": {
"enum": [
"claude",
"chatgpt",
"cursor",
"lovable"
],
"type": "string"
},
"type": "array"
},
"prompt_title": {
"default": "",
"type": "string"
},
"prompt_tool": {
"default": "",
"type": "string"
},
"prompt_vars": {
"default": "{}",
"type": "string"
},
"query": {
"default": "",
"type": "string"
},
"report_context": {
"default": "",
"type": "string"
},
"request_details": {
"default": "",
"type": "string"
},
"request_name": {
"default": "",
"type": "string"
},
"tier_slug": {
"default": "",
"type": "string"
},
"tool_id": {
"default": "",
"type": "string"
}
},
"type": "object"
},
"name": "marketplace"
},
{
"description": "Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"context": {
"default": "",
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "report_bug"
},
{
"description": "Show the current MCP platform and adapter versions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "show_version"
},
{
"description": "Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "toolkit_info"
}
]
}What the leaf hashes
{"body":"8c0567a0ce80430ec733e5b8f6b0079797f6c2711701d0e105fd0fcc306a1b36","id":259614,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793030998212012,"prev":null,"subject":"f5382d0b-ff95-4147-8bcf-86f95a335111","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xa62aeed6b24736198c1b14469834a0b3951dda9b942664c2104926f111dd7d94
- 0x694e9b3d4980441bdc162de7a77e3ee438676c0ca26704322d2766a2cca8c971
- 0xc9494578716d891b803bfc6f4a2ef513337eff9e3cbb54fb9aad6b9d988b8c35
- 0x496a87fa86a7239b085492f6db70fa617a112a1a7967ff640d4a3f4748926ee7
- 0x84a335d8576add510f88073b19e265c210368d3a9d4b36a08cbae3113746dd84
- 0x273fb42235f491da3a39d2eef3e278435cc8fca178fb407204808f69599b5bda
- 0x58bc55d99abfa8e542d8db7eef653c5abe22c915bac28f3773879f1379cac373
- 0xe1ba96aba650821f3d9552eae51cc6c595d410d0b1248f7d91b319bd1396e862
- 0xb4c0b7187921a3fa9eef3519b98c8bca669a3aa7d7681abd99a70afcf0598efd
- 0x93c7b1ac8754236471980488e2ae86b7135fed175d7852bf9b8ef708900f060d
- 0xf9b4ada16aca6f9b63c09b94519008e1b94357a9d352c245023758b56b82d0b1
- 0x1e464fcb484a1e782f9fe44be5118a9de934eb533c96ba10fc7d20e3a3e4711c
- 0x292ebdce6b8d3d7ef08ad646a0fd97dee9313ab55c1a350807d9f3013794c37a
- 0x428106f4ae4ec142f17aebf6fa50935242f8d3f1c211cf95d6351d03d11da2b7
- 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
- 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae