Legal MCP (alternativa ao Jusbrasil)
Open-source alternative to Jusbrasil for AI: find lawsuits by name, CPF, CNPJ or case number and bui
¿Debería usar esto?
Calidad y seguridad
Hallazgos (8)
- HIGH
- MEDIUMen legal_checar_novidades
- LOWen djen_get_certidao
- LOWen querido_diario_buscar
- LOWen connect
- LOWen transparencia_despesas_favorecido
- LOWen transparencia_despesas_documentos
- INFOen legal_checar_novidades
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"jusbrasil-mcp": {
"url": "https://api.mcp.ai/legal"
}
}
}Puntos de conexión remotos
https://api.mcp.ai/legalstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (30)
🟢djen_search_comunicacoes(numero_oab, uf_oab, nome_advogado, nome_parte, numero_processo, ...)
Busca publicações/intimações no Diário de Justiça Eletrônico Nacional (DJEN) por OAB, nome de advogado, número de processo, tribunal e data. Cada item traz o texto completo da comunicação. (É o Diário de Justiça — não é base de jurisprudência/ementas, nem cadastro de processos: só tem o que foi PUBLICADO, a partir de 2020 e com cada tribunal entrando numa data própria.) Resultado vazio NÃO devolve só `count: 0`: vem um bloco `ausencia` com o motivo provável (numero_invalido | fora_da_cobertura | sem_publicacao) — leia antes de concluir que o processo não existe, e confirme no `datajud_get_processo`, que é o índice histórico.
Esquema de entrada
{
"type": "object",
"properties": {
"numero_oab": {
"type": "string"
},
"uf_oab": {
"type": "string"
},
"nome_advogado": {
"type": "string"
},
"nome_parte": {
"type": "string"
},
"numero_processo": {
"type": "string"
},
"sigla_tribunal": {
"type": "string"
},
"data_inicio": {
"type": "string"
},
"data_fim": {
"type": "string"
},
"meio": {
"type": "string"
},
"texto": {
"type": "string"
},
"pagina": {
"type": "number"
},
"itens_por_pagina": {
"type": "number"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢djen_processos_por_parte(nome_parte, sigla_tribunal, data_inicio, data_fim, itens_por_pagina, ...)
DESCOBERTA por NOME de parte (grátis, sem captcha): busca o DJEN por quem figura no processo e agrupa por número — devolve a lista de processos da pessoa/empresa, com partes e tribunal. Cobre processos COM publicação no Diário a partir de 2020 (não o acervo histórico completo), então `count_processos: 0` NÃO significa que a pessoa não tem processo — nesse caso vem um bloco `ausencia` explicando. Para entrada por CPF/CNPJ ou processos dormentes, use as tools processos_* (engine). Com os numero_processo, enriqueça com datajud.
Esquema de entrada
{
"type": "object",
"properties": {
"nome_parte": {
"type": "string"
},
"sigla_tribunal": {
"type": "string"
},
"data_inicio": {
"type": "string"
},
"data_fim": {
"type": "string"
},
"itens_por_pagina": {
"type": "number"
},
"pagina": {
"type": "number"
}
},
"required": [
"nome_parte"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢djen_get_certidao(hash)
Retorna a URL da certidão (PDF) de uma comunicação do DJEN pelo seu hash (campo `hash` retornado na busca).
Esquema de entrada
{
"type": "object",
"properties": {
"hash": {
"type": "string"
}
},
"required": [
"hash"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢processos_buscar_por_nome(nome, platforms, tribunais, max_results)
DESCOBERTA: busca processos pelo NOME de uma parte (pessoa ou empresa) raspando os portais públicos dos tribunais (ESAJ/PJe/eproc/Projudi) — o gap que datajud (só por número) e djen (OAB/advogado) não cobrem. É ASSÍNCRONO e lento: retorna { job_id }; chame processos_get_resultado(job_id) para obter a lista. Com os numero_cnj, use datajud_*/djen_* para enriquecer de graça.
Esquema de entrada
{
"type": "object",
"properties": {
"nome": {
"type": "string"
},
"platforms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"esaj",
"pje",
"eproc",
"projudi"
]
}
},
"tribunais": {
"type": "array",
"items": {
"type": "string"
}
},
"max_results": {
"type": "number"
}
},
"required": [
"nome"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢processos_buscar_por_documento(documento, nome_titular, platforms, tribunais, max_results)
DESCOBERTA por CPF ou CNPJ. CPF/CNPJ não são chave de busca pública nos tribunais, então o serviço resolve o documento em nome(s) e busca por NOME nos portais: CNPJ→razão social (automático) e CPF→`nome_titular`, que você PRECISA informar (CPF→nome não é dado público). ASSÍNCRONO: retorna { job_id }; faça o polling com processos_get_resultado(job_id). Sem o nome do titular do CPF, use processos_buscar_por_nome.
Esquema de entrada
{
"type": "object",
"properties": {
"documento": {
"type": "string"
},
"nome_titular": {
"type": "string"
},
"platforms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"esaj",
"pje",
"eproc",
"projudi"
]
}
},
"tribunais": {
"type": "array",
"items": {
"type": "string"
}
},
"max_results": {
"type": "number"
}
},
"required": [
"documento"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢processos_obter_pecas(numero_cnj, tribunal, peca_ids, formato)
DOWNLOAD das DECISÕES PÚBLICAS de um processo (acórdãos/inteiro teor): busca as decisões públicas do processo, baixa o PDF e converte em Markdown (o teor da decisão), com link temporário. Escopo PÚBLICO (CNJ Res. 121/2010): retorna o inteiro teor das decisões/acórdãos, NÃO os autos completos (petições/documentos exigem credencial de advogado). É ASSÍNCRONO (captcha por busca): retorna { job_id }; faça o polling com processos_get_resultado(job_id). Quando 'done', cada item traz `markdown` (texto da decisão) + `pdf_url`/`expires_at` (link expira, nada fica arquivado). Use o numero_cnj de processos_get_resultado/datajud. Processo sem decisão pública (ex.: só 1º grau em andamento) volta lista vazia.
Esquema de entrada
{
"type": "object",
"properties": {
"numero_cnj": {
"type": "string"
},
"tribunal": {
"type": "string"
},
"peca_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"formato": {
"type": "string",
"enum": [
"markdown",
"pdf"
]
}
},
"required": [
"numero_cnj"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢processos_get_resultado(job_id, job_ids)
Polling de um job de busca (de processos_buscar_por_nome/documento). Retorna { status, progress, items[], errors[] }. status: queued|running|done|error. Quando 'done', items[] traz os processos (numero_cnj, partes, advogados/OAB, classe/assunto) prontos para enriquecer com datajud_*/djen_*. Continue chamando até 'done' (a busca é lenta). IMPORTANTE: um 'done' pode vir DEGRADADO, e nesse caso vem um bloco `aviso` — leia antes de usar os dados. `vinculacao_nome: "nao_confirmada"` significa que o resultado NÃO foi validado contra o nome buscado (não apresente como processo da pessoa sem conferir), e `tribunais_inacessiveis` lista portais que não responderam: isso NÃO quer dizer que o tribunal não tenha o processo. Bulk support: accepts job_ids for batched execution.
Esquema de entrada
{
"type": "object",
"properties": {
"job_id": {
"type": "string"
},
"job_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"job_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢cnpj_consultar(cnpj)
Consulta cadastral de um CNPJ (grátis): razão social, nome fantasia, situação cadastral, CNAE principal, porte, município/UF e SÓCIOS (QSA). Útil pra identificar a empresa e seus sócios antes de buscar processos.
Esquema de entrada
{
"type": "object",
"properties": {
"cnpj": {
"type": "string"
}
},
"required": [
"cnpj"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢cnpj_processos(cnpj, incluir_socios)
DESCOBERTA por CNPJ: resolve o CNPJ em razão social (e sócios) e busca os processos por NOME no Diário (DJEN) — grátis, com número de processo completo. Opcionalmente inclui os processos dos sócios. Com os números, enriqueça com as tools datajud.
Esquema de entrada
{
"type": "object",
"properties": {
"cnpj": {
"type": "string"
},
"incluir_socios": {
"type": "boolean"
}
},
"required": [
"cnpj"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢cpf_validar(cpf)
Valida os dígitos verificadores de um CPF (mod 11) e informa se há broker de identidade disponível. Não revela a identidade do titular.
Esquema de entrada
{
"type": "object",
"properties": {
"cpf": {
"type": "string"
}
},
"required": [
"cpf"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢cpf_processos(cpf, nome)
DESCOBERTA por CPF: busca os processos da pessoa por NOME no Diário (DJEN), grátis. IMPORTANTE: CPF→nome não é dado público — informe o parâmetro `nome` (recomendado). Sem nome, só resolve se houver um broker pago configurado na plataforma; caso contrário retorna instrução pedindo o nome.
Esquema de entrada
{
"type": "object",
"properties": {
"cpf": {
"type": "string"
},
"nome": {
"type": "string"
}
},
"required": [
"cpf"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢transparencia_sancoes(cpf_cnpj)
Consulta sanções de uma pessoa ou empresa por CPF/CNPJ no Portal da Transparência (consolida CEIS — inidôneas/suspensas, CNEP — empresas punidas, e CEPIM — entidades impedidas). Retorna `tem_sancao` + lista com tipo, órgão, fundamentação e datas. Due diligence / compliance.
Esquema de entrada
{
"type": "object",
"properties": {
"cpf_cnpj": {
"type": "string"
}
},
"required": [
"cpf_cnpj"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢transparencia_pep(cpf)
Verifica se um CPF é de Pessoa Exposta Politicamente (PEP) e retorna função/órgão/período. Importante para compliance/KYC.
Esquema de entrada
{
"type": "object",
"properties": {
"cpf": {
"type": "string"
}
},
"required": [
"cpf"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢transparencia_despesas_favorecido(cpf_cnpj, mes_ano_inicio, mes_ano_fim)
DESPESAS recebidas por uma empresa ou pessoa (CPF/CNPJ) do Governo Federal num período: 'quanto a empresa recebeu da União'. Soma os recursos recebidos e quebra por órgão pagador e por mês. IMPORTANTE: cobre só o Executivo FEDERAL, não inclui estados nem municípios (cada ente tem portal próprio). Sem datas, usa os últimos 12 meses.
Esquema de entrada
{
"type": "object",
"properties": {
"cpf_cnpj": {
"type": "string"
},
"mes_ano_inicio": {
"type": "string"
},
"mes_ano_fim": {
"type": "string"
}
},
"required": [
"cpf_cnpj"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢transparencia_despesas_documentos(cpf_cnpj, ano, fase, ordenacao, pagina)
Documentos de despesa (Empenho, Liquidação ou Pagamento) emitidos pelo Governo Federal para um favorecido (CPF/CNPJ) num ano, item-a-item: data, documento, espécie, valor, órgão, elemento de despesa e nº do processo. `fase` default = 3 (Pagamento, o dinheiro efetivamente pago). Só Executivo FEDERAL. Para o total agregado use transparencia_despesas_favorecido.
Esquema de entrada
{
"type": "object",
"properties": {
"cpf_cnpj": {
"type": "string"
},
"ano": {
"type": "number"
},
"fase": {
"type": "string",
"enum": [
"empenho",
"liquidacao",
"pagamento"
]
},
"ordenacao": {
"type": "number"
},
"pagina": {
"type": "number"
}
},
"required": [
"cpf_cnpj"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢querido_diario_buscar(termo, territory_ids, data_inicio, data_fim, size)
Busca em diários oficiais MUNICIPAIS (milhares de prefeituras) por termo/nome — útil pra menções fora do Judiciário: licitações, nomeações, contratos, sanções municipais. Complementa o DJEN (que é judicial). Cada resultado traz trechos (excerpts) + URL do diário. Para nome exato, use aspas no termo.
Esquema de entrada
{
"type": "object",
"properties": {
"termo": {
"type": "string"
},
"territory_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"data_inicio": {
"type": "string"
},
"data_fim": {
"type": "string"
},
"size": {
"type": "number"
}
},
"required": [
"termo"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢jurisprudencia_buscar(termo, tipo, tribunais, data_de, data_ate, ...)
Busca jurisprudência (acórdãos, súmulas, orientações jurisprudenciais, temas) por termo ou tese. Devolve, por registro: identificação da decisão, órgão julgador, relator, data, o trecho que casou a busca e o link para o documento no site oficial. Quando o registro traz `texto_integral_disponivel: true`, o inteiro teor pode ser lido com jurisprudencia_documento usando o `id`. Alguns registros vêm sem relator/órgão/número quando a publicação não permite afirmar esses campos — campo nulo é ausência de informação na fonte, não defeito. Informe `tribunais` para restringir a busca; sem isso a pesquisa é ampla. Zero resultado não significa que a decisão não exista: costuma ser vocabulário (o termo do tribunal difere do coloquial) ou filtro estreito demais. No termo funcionam os operadores: espaço = E, "entre aspas" = frase exata, OR = ou, -palavra = exclui.
Esquema de entrada
{
"type": "object",
"properties": {
"termo": {
"type": "string"
},
"tipo": {
"type": "string"
},
"tribunais": {
"type": "array",
"items": {
"type": "string"
}
},
"data_de": {
"type": "string"
},
"data_ate": {
"type": "string"
},
"ordenar": {
"type": "string",
"enum": [
"relevancia",
"recencia"
]
},
"max": {
"type": "number"
}
},
"required": [
"termo"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢jurisprudencia_sumulas(termo, max)
Busca SÚMULAS (incluindo vinculantes) por termo. Atalho do jurisprudencia_buscar com tipo=Súmula. Quando o texto completo do enunciado está disponível ele vem na ementa, e enunciado cancelado/revogado é marcado no próprio texto.
Esquema de entrada
{
"type": "object",
"properties": {
"termo": {
"type": "string"
},
"max": {
"type": "number"
}
},
"required": [
"termo"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢jurisprudencia_documento(id, numeracao, tribunal, ids)
Lê o INTEIRO TEOR de uma decisão (texto completo do acórdão, não o resumo). Use o campo `id` de um resultado de jurisprudencia_buscar que traga `texto_integral_disponivel: true`, ou o número CNJ do processo. Resultado sem `id` não é legível por aqui, abra a `url`. Quando o processo tem mais de uma decisão, as outras vêm listadas em `outras_decisoes_do_processo`. Bulk support: accepts ids for batched execution.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"numeracao": {
"type": "string"
},
"tribunal": {
"type": "string"
},
"ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢legal_dossie(nome, cnpj, cpf, nome_titular, numero_processo, ...)
Raio-X jurídico de uma pessoa ou empresa: descobre os processos e (opcional) o andamento, num relatório consolidado. Aceita `nome`, `cnpj`, `cpf` (com `nome_titular`) ou `numero_processo` — informe APENAS um. Retorna a lista de processos (número, partes, tribunal) + um aviso. IMPORTANTE: confirme sempre o número e o andamento no site oficial do tribunal — os dados podem estar incompletos/desatualizados.
Esquema de entrada
{
"type": "object",
"properties": {
"nome": {
"type": "string"
},
"cnpj": {
"type": "string"
},
"cpf": {
"type": "string"
},
"nome_titular": {
"type": "string"
},
"numero_processo": {
"type": "string"
},
"incluir_andamento": {
"type": "boolean"
},
"incluir_socios": {
"type": "boolean"
},
"incluir_sancoes": {
"type": "boolean"
},
"incluir_mencoes_municipais": {
"type": "boolean"
},
"max_processos": {
"type": "number"
},
"sigla_tribunal": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪legal_monitorar(numero_processo, nome, cnpj, oab, uf, ...)
Cria um monitoramento: avisa quando houver NOVIDADE — nova movimentação (numero_processo), novo processo de uma pessoa/empresa (nome/cnpj), ou nova publicação/intimação de uma OAB (oab+uf). Os alertas chegam pelo webhook do install (evento legal.movimentacao_nova); use legal_checar_novidades para checar na hora.
Esquema de entrada
{
"type": "object",
"properties": {
"numero_processo": {
"type": "string"
},
"nome": {
"type": "string"
},
"cnpj": {
"type": "string"
},
"oab": {
"type": "string"
},
"uf": {
"type": "string"
},
"sigla_tribunal": {
"type": "string"
},
"intervalo_horas": {
"type": "number"
},
"label": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢legal_listar_monitoramentos
Lista os monitoramentos ativos do workspace.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴legal_remover_monitoramento(watch_id, watch_ids)
Remove (desativa) um monitoramento pelo seu id (`watch_id`). Bulk support: accepts watch_ids for batched execution.
Esquema de entrada
{
"type": "object",
"properties": {
"watch_id": {
"type": "string"
},
"watch_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"watch_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢legal_checar_novidades(watch_id, watch_ids)
Checa AGORA se há novidade nos monitoramentos (sem esperar o ciclo automático). Passe `watch_id` para um específico, ou nada para checar todos. Atualiza o estado e retorna o que mudou. Bulk support: accepts watch_ids for batched execution.
Esquema de entrada
{
"type": "object",
"properties": {
"watch_id": {
"type": "string"
},
"watch_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢show_version
Show the current MCP platform and adapter versions.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡report_bug(message, context, conversation)
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
Esquema de entrada
{
"type": "object",
"properties": {
"message": {
"type": "string"
},
"context": {
"default": "",
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
}
},
"required": [
"message"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢connect
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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢toolkit_info
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡marketplace(action, query, mcp_id, limit, tier_slug, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"action": {
"default": "search",
"type": "string",
"enum": [
"search",
"describe",
"install",
"uninstall",
"subscribe",
"cancel",
"resume",
"report_bug",
"request_mcp",
"list_tools",
"invoke",
"search_prompts",
"get_prompt",
"publish_prompt"
]
},
"query": {
"default": "",
"type": "string"
},
"mcp_id": {
"default": "",
"type": "string"
},
"limit": {
"default": 10,
"type": "number"
},
"tier_slug": {
"default": "",
"type": "string"
},
"immediate": {
"default": false,
"type": "boolean"
},
"cancel_reason": {
"type": "string",
"enum": [
"too_expensive",
"missing_features",
"switched_service",
"unused",
"customer_service",
"too_complex",
"low_quality",
"other"
]
},
"cancel_comment": {
"default": "",
"type": "string"
},
"message": {
"default": "",
"type": "string"
},
"report_context": {
"default": "",
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
},
"request_name": {
"default": "",
"type": "string"
},
"request_details": {
"default": "",
"type": "string"
},
"tool_id": {
"default": "",
"type": "string"
},
"arguments": {
"default": "{}",
"type": "string"
},
"prompt_slug": {
"default": "",
"type": "string"
},
"prompt_vars": {
"default": "{}",
"type": "string"
},
"prompt_category": {
"default": "",
"type": "string"
},
"prompt_tool": {
"default": "",
"type": "string"
},
"prompt_title": {
"default": "",
"type": "string"
},
"prompt_description": {
"default": "",
"type": "string"
},
"prompt_body": {
"default": "",
"type": "string"
},
"prompt_targets": {
"default": [],
"type": "array",
"items": {
"type": "string",
"enum": [
"claude",
"chatgpt",
"cursor",
"lovable"
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡authenticate(token)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"token": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia