A Agentic Resource Discovery (ARD) é uma especificação para catalogar recursos
agênticos. O manifesto ard.json descreve recursos de agentes em um domínio, como
servidores MCP, agentes A2A e habilidades de agentes, para que agentes de IA e registros
possam encontrá-los.
Como funciona a auditoria do Lighthouse
Processo de descoberta: a auditoria procura o manifesto com base nos mecanismos de descoberta na especificação ARD (§5.1):
- Verificando se há uma diretiva
Agentmap:dentro derobots.txt. - Verificando se há tags
<link rel="ard" href="...">no HTML. - Inspecionando uma resposta de cabeçalho HTTP
Link: <...>; rel="ard". - Buscando no endpoint conhecido
/.well-known/ard.json.
Se a descoberta principal falhar, o Lighthouse vai verificar os caminhos legados (como
rel="ai-catalog" ou /.well-known/ai-catalog.json). Embora o conteúdo encontrado aqui
ainda seja validado, um aviso é gerado porque os clientes ARD padrão não são
obrigados a oferecer suporte a rotas descontinuadas.
Regras de validação: a verificação é realizada usando uma porta JavaScript do conjunto de conformidade da ARD v0.91, testando os seguintes critérios:
Erros de conformidade e validação:
- Sintaxe e esquema: o manifesto é um JSON válido e corresponde ao esquema de manifesto ARD, e cada entrada corresponde ao esquema de entrada ARD. O Lighthouse
não busca nem valida o artefato para o qual uma entrada aponta (por exemplo, o
card do servidor MCP em
url). - Campos obrigatórios: o manifesto contém uma matriz
entries, e cada entrada contém umidentifier,displayNameetype. - URNs ancorados em domínio: cada
identifiersegue o formatourn:air:<publisher>:<namespace>:<name>. - Definição de local: cada entrada define exatamente um
urloudatainline, nunca ambos ou nenhum. - Estrutura do manifesto de confiança: quando um
trustManifesté incluído, ele é um objeto com uma propriedadeidentity.
Avisos de práticas recomendadas:
- Consultas representativas: cada entrada tem uma matriz
representativeQueriescom 2 a 5 consultas de exemplo. Os registros criam o índice da Pesquisa com base neles, então uma entrada sem eles não vai aparecer nos resultados da pesquisa. Se presente, precisa ser uma matriz de strings. Qualquer outro tipo de dado gera um erro. - Tipo de mídia:
typeprecisa ser um tipo de mídia bem formado. O Lighthouse avisa sobre tipos descontinuados (por exemplo,application/mcp-server+jsonparaapplication/mcp-server-card+json), tipos padrão com parâmetros ausentes ou extras e tipos não reconhecidos fora deapplication/*. Tipos personalizados deapplication/*são permitidos. - Coleções: sinaliza um campo
collectionsde nível superior. Ele não faz mais parte da ARD e é ignorado. Em vez disso, use hierarquias de modelo dentro deentries. - Endpoints legados: sinaliza manifestos encontrados apenas nos locais legados de
ai-catalog. - Locais anunciados corrompidos: sinaliza qualquer local anunciado (link
Agentmap:,rel="ard"ourel="ai-catalog"ou cabeçalhoLink) que não pôde ser carregado quando o manifesto foi encontrado em outro lugar.
Não é necessário:
specVersione outros campos extras de nível superior não afetam a pontuação.capabilitiessão opcionais e não recebem pontuação. Se o recurso expor ferramentas ou habilidades nomeadas, considere listá-las (por exemplo,["WeatherTool", "ForecastTool"]) para que os registros possam filtrá-las sem buscar o artefato completo. Se incluído, precisa ser uma matriz de strings.
Como ler a tabela de resultados
A coluna "Elemento" mostra Root para problemas com o manifesto como um todo. Para
problemas com uma entrada, ele mostra o displayName da entrada, voltando para o
identifier ou Entry #n se nenhum estiver disponível. Um único problema de esquema pode
aparecer duas vezes, uma em Root e outra na entrada, correspondendo à saída do
teste de conformidade oficial.
Entenda sua pontuação
Os resultados da auditoria são refletidos das seguintes maneiras:
- Aprovado (1): o manifesto foi encontrado e não tem erros ou avisos.
- Crédito parcial (0,9): o manifesto é válido, mas tem pelo menos um aviso de prática recomendada.
- Falha (0): qualquer erro de conformidade, como JSON malformado, uma violação de esquema, um URN inválido ou ambos ou nenhum de
url/data. A auditoria também falha se um manifesto foi anunciado (por meio derobots.txt, um linkrel="ard"ourel="ai-catalog"ou um cabeçalhoLink), mas não pôde ser carregado. - Não relevante: nenhum manifesto foi encontrado por qualquer método. Isso não afeta sua pontuação do Lighthouse.
Como corrigir
Para passar na auditoria, siga estas etapas:
- Disponibilize o manifesto em
/.well-known/ard.jsonou vincule-o arel=ard. Se você usaai-catalog.jsonourel=ai-catalog, mude para os novos nomes. - Corrija os erros listados na tabela de auditoria para que o manifesto corresponda ao esquema da ARD.
- Dê a cada entrada um identificador
urn:air:...e exatamente um entreurloudata. - Use um tipo de mídia ARD padrão em
type, quando aplicável. - Adicione de 2 a 5
representativeQueriesa cada entrada para conseguir uma pontuação perfeita.