Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,542Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:3f51f7f27d9106dcae06b6123013e8f5ff20d123ebc43c52c7699ca28a6f9a47
What it is
What a remote MCP server returned when asked what it offers: 38 tools

The blob, as servednamed by its sha256

{ "instructions": "MCP.AI platform v0.9.358 | Adapters: astrea v1.10.0. When the user asks about the version (e.g. \"qual a versão\", \"which version\"), call the show_version tool. NEW MCPs/tools/integrations (capabilities not already in this toolkit) come from the official mcp.ai catalog: the `marketplace` tool (action=search) finds and runs them. You are not authenticated yet. Call the authenticate tool first — it will give the user a browser link to log in and copy a token. No other tools will work until authenticated.", "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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).\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 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" }, "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "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", "outputSchema": null }, { "description": "Show the current MCP platform and adapter versions.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "show_version", "outputSchema": null }, { "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", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:3f51f7f27d9106dcae06b6123013e8f5ff20d123ebc43c52c7699ca28a6f9a47 | sha256sum