AI Product Index
Um diretório legível por máquina ("SEO para IAs") onde produtos de IA se registram para que agentes de IA possam descobri-los.
Documentação
AI Product Index
Um registro aberto e API de descoberta para produtos de IA, ferramentas de agentes e serviços MCP.
Índice ao vivo · Registro JSON · Documento OpenAPI · Cartão do servidor MCP
O AI Product Index publica cada listagem aceita como HTML estruturado e JSON, e então disponibiliza o registro por meio de busca, NLWeb, MCP, feeds, sitemaps e llms.txt. Produtos podem se registrar por meio de um fluxo validado de issues no GitHub; alterações aceitas são reconstruídas, commitadas e implantadas automaticamente.
Interpretando descoberta e pontuações
O navegador MCP expõe filtros de autenticação e transporte; o navegador x402 filtra preços publicados em equivalente USD. Os cartões de resultado mostram sondagens com falha datadas, saúde desconhecida e orientação de conexão. Ausência de credenciais não significa gratuito, e uma resposta HTTP não prova autenticação bem-sucedida ou execução de ferramenta.
A pontuação mede a cobertura do checklist técnico, não visibilidade de IA ou indicações. Os resultados separam informações do site de interfaces de serviço opcionais e vinculam às correções gratuitas. Pontuações numéricas, pesos de verificação e limites A–F permanecem inalterados; apenas as descrições de cobertura e a orientação de aplicabilidade mudaram.
O que oferece
- Um registro público e legível por máquina com uma página canônica e um documento JSON por produto.
- Busca ranqueada por nomes, descrições, tags, categorias e modelos de preço.
- Consultas em linguagem natural por meio de um endpoint compatível com NLWeb.
- Um servidor MCP remoto para descoberta de produtos, pontuação de URLs, busca no catálogo e orientação de registro.
- Uma pontuação gratuita de legibilidade para agentes cobrindo
llms.txt, dados estruturados, política de rastreadores, manifestos de descoberta, negociação de conteúdo, URLs canônicas e HTTPS. - Instantâneos pesquisáveis do catálogo de servidores MCP e endpoints x402 com dados de disponibilidade amostrados.
- Builds estáticos determinísticos, validação automatizada e verificações semanais de saúde das listagens.
Experimente
Leia o registro:
curl https://index.percall.dev/api/index.json
Busque por um produto:
curl 'https://index.percall.dev/api/search?q=document+automation&limit=5'
Faça uma pergunta em linguagem natural:
curl https://index.percall.dev/ask \
-H 'content-type: application/json' \
-d '{"query":{"text":"Which products provide an MCP server?"}}'
Avalie uma URL pública quanto à legibilidade para agentes:
curl 'https://index.percall.dev/api/score?url=https%3A%2F%2Fexample.com'
Liste as ferramentas MCP:
curl https://index.percall.dev/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Qualquer cliente MCP que suporte Streamable HTTP pode conectar diretamente a:
https://index.percall.dev/mcp
Registre um produto
O registro usa issues do GitHub e não exige uma conta no índice. Abra uma issue de registro contendo JSON que esteja em conformidade com o esquema publicado:
{
"slug": "example-product",
"name": "Example Product",
"url": "https://example.com",
"description": "A concise description of what the product does.",
"category": "api",
"pricing": "free",
"tags": ["automation", "documents"]
}
O fluxo de trabalho valida o esquema, verifica slugs e URLs duplicados, confirma que a URL do produto responde e publica a listagem. O remetente original pode posteriormente usar o fluxo de atualização para substituí-la.
Uma listagem aceita recebe:
- uma página HTML rastreável com schema.org JSON-LD;
- um documento JSON individual e inclusão no registro completo;
- inclusão em
llms.txt,llms-full.txt, feeds e no sitemap; - um endpoint de selo estável para READMEs e documentação.
O protocolo completo de registro orientado a máquina está disponível em llms.txt.
Interfaces públicas
| Interface | Finalidade |
|---|---|
/api/index.json | Instantâneo completo do registro |
/api/search | Busca ranqueada de produtos |
/ask | Consultas em linguagem natural compatíveis com NLWeb |
/mcp | Model Context Protocol sobre HTTP |
/api/score | Pontuação gratuita de legibilidade para agentes de uma URL pública |
POST /api/audit | Auditoria completa opcional com correções ranqueadas; US$ 0,05 USDC via x402 |
/api/mcp/search | Busca no catálogo de servidores MCP |
/api/x402/search | Busca no catálogo de endpoints x402 |
/badge.svg | Selo de nível de listagem ou nota de legibilidade |
/llms.txt | Guia conciso legível por máquina do projeto e de registro |
/openapi.yaml | Descrição completa da API HTTP |
Consulte o documento OpenAPI para esquemas de requisição e resposta. Detalhes de implementação e protocolo estão em ARCHITECTURE.md.
Desde 2026-09-05, a auditoria é o único endpoint de API HTTP pago.
/api/check, /api/liveness, /api/route e /api/watch retornam
410 endpoint_retired sem aceitar pagamento. Novos monitoramentos e recargas
estão encerrados; varreduras semanais pré-pagas existentes continuam até que os créditos sejam esgotados.
O registro gratuito, a pontuação, a busca e os catálogos permanecem disponíveis.
Como funciona
O projeto combina um build estático determinístico com um pequeno Cloudflare Worker:
listings/*.json,templates/esite.config.jsonsão a fonte da verdade.scripts/build.mjsvalida as entradas e gera o HTML, JSON, manifestos, feeds e sitemap commitados no repositório.worker/serve busca dinâmica, NLWeb, MCP, pontuação, roteamento, negociação de resposta e estatísticas agregadas de requisições.- GitHub Actions validam issues de registro e atualização, reconstroem o registro e implantam alterações aceitas.
- Um fluxo de trabalho semanal verifica a saúde das listagens, atualiza pontuações de legibilidade e amostra os catálogos externos.
O runtime não tem dependências de pacotes. Os módulos do Worker são escritos para que a maior parte do comportamento possa ser testada sob Node puro.
Estrutura do repositório
| Caminho | Conteúdo |
|---|---|
listings/ | Um arquivo JSON de origem por produto registrado |
templates/ | Modelos para páginas geradas e documentos legíveis por máquina |
worker/ | Rotas do Cloudflare Worker e manipuladores de protocolo |
scripts/ | Scripts de build, validação, saúde, catálogo e administração |
mcp/ | Adaptador MCP stdio local opcional |
api/ | Artefatos gerados do registro e catálogo |
.well-known/ | Manifestos de agente, MCP, segurança e descoberta |
Desenvolvimento local
Node.js 22 ou mais recente é recomendado.
node --test scripts/*.test.mjs
node scripts/build.mjs
npx wrangler dev
Use scripts/*.test.mjs, não node --test scripts/; o Node trata um argumento de diretório simples como um caminho de módulo.
Para simular o registro sem abrir uma issue no GitHub:
ISSUE_BODY='{"slug":"example-product","name":"Example Product","url":"https://example.com","description":"What it does.","category":"api","pricing":"free"}' \
ISSUE_USER=you SKIP_LIVENESS=1 node scripts/process-issue.mjs
Os artefatos gerados são determinísticos e commitados. Após alterar listagens, modelos ou lógica de build, execute o build duas vezes e confirme que a segunda execução não produz diferenças.
Implantação
Pushes para main executam a suíte de testes, verificam se os arquivos gerados estão atualizados e implantam o Worker por meio do GitHub Actions. Consulte DEPLOY.md para configuração de ambiente, bindings do Cloudflare, credenciais, verificações operacionais e procedimentos de recuperação.
Documentação
- ARCHITECTURE.md — componentes, fluxo de dados, limites de segurança e design de protocolo.
- DEPLOY.md — runbook de implantação e operações.
- NEXT.md — fila atual do projeto.
- TODO.md — trabalho concluído e histórico de decisões.