Publicar via metadados
Um método alternativo ao cadastro manual. Você publica um arquivo diretorio-dev.json no seu próprio domínio e o diretorio.dev descobre suas integrações automaticamente.
O que é isso?
Em vez de preencher o formulário de cadastro manual, você pode hospedar um arquivo JSON no seu site com as informações das suas integrações. O diretorio.dev lê esse arquivo e cria as integrações para você.
A vantagem é que qualquer atualização no arquivo do seu domínio é sincronizada automaticamente — você não precisa editar os dados aqui.
Prefere o método manual? Como cadastrar manualmenteOnde colocar o arquivo
Você precisa hospedar o arquivo diretorio-dev.json em algum lugar acessível pela internet. O diretorio.dev procura em três lugares, nesta ordem:
/.well-known/diretorio-dev.json Crie uma pasta chamada .well-known na raiz do seu site e coloque o arquivo diretorio-dev.json dentro dela. O resultado é um arquivo acessível em https://seudominio.com/.well-known/diretorio-dev.json. Este é o local recomendado por ser um padrão da Internet (RFC 8615) e não poluir a raiz do seu site com arquivos soltos.
/diretorio-dev.json Coloque o arquivo direto na raiz do seu domínio: https://seudominio.com/diretorio-dev.json. O diretorio.dev só tenta este caminho se não encontrar o arquivo no .well-known.
URL personalizada Se você quiser (ou precisar) colocar o arquivo em um caminho diferente, tudo bem. Basta informar a URL completa no campo "URL do diretorio-dev.json" ao criar o projeto. Exemplo: https://meusite.com/qualquer/pasta/diretorio-dev.json
Basta criar o arquivo em um desses lugares. O diretorio.dev tenta na ordem: 1 2 3 até encontrar.
Fallbacks para outros formatos
Se você já publica outros formatos de metadados, o diretorio.dev também consegue ler:
/.well-known/mcp/server-card.jsonFormato do Model Context Protocol. Contém endpoint MCP, transporte e requisitos de autenticação. Útil se seu projeto já publica um Server Card para agentes de IA.
/openapi.jsonSpec OpenAPI 3.0 ou 3.1 da sua API REST. O diretorio.dev extrai endpoints, métodos HTTP (GET, POST, etc.) e descrições automaticamente. Se você já publica OpenAPI, não precisa listar os endpoints manualmente no diretorio-dev.json.
Exemplo completo
Crie o arquivo no seu domínio com todas as integrações que você oferece. Abaixo um exemplo com os três tipos suportados e todos os campos disponíveis:
{
"diretorio_dev": 1,
"integracoes": [
{
"nome": "API Principal",
"tipo": "api_rest",
"descricao_curta": "API REST completa do produto — até 140 caracteres",
"url_produto": "https://meusite.com",
"categorias": ["Pagamentos", "Pix", "E-commerce", "Fiscal", "Logística", "RH", "Produtividade", "Dev Tools", "Dados & BI", "CRM", "Marketing", "Comunicação", "Jurídico", "Saúde", "Educação", "Finanças"],
"docs_url": "https://docs.meusite.com/api",
"api_base_url": "https://api.meusite.com",
"api_endpoints": [
{ "metodo": "GET", "path": "/usuarios", "descricao": "Lista todos os usuários", "responses": [{ "code": "200", "descricao": "Lista de usuários" }, { "code": "401", "descricao": "Não autenticado" }] },
{ "metodo": "POST", "path": "/usuarios", "descricao": "Cria um novo usuário", "responses": [{ "code": "201", "descricao": "Usuário criado" }] },
{ "metodo": "GET", "path": "/usuarios/{id}", "descricao": "Busca usuário por ID", "responses": [{ "code": "200", "descricao": "Dados do usuário" }, { "code": "404", "descricao": "Usuário não encontrado" }] },
{ "metodo": "PATCH", "path": "/usuarios/{id}", "descricao": "Atualiza dados do usuário", "responses": [{ "code": "200", "descricao": "Usuário atualizado" }] },
{ "metodo": "DELETE", "path": "/usuarios/{id}", "descricao": "Remove um usuário", "responses": [{ "code": "204", "descricao": "Removido" }] }
],
"funciona_com": ["Claude", "Cursor", "ChatGPT", "Windsurf"],
"autenticacao": {
"requer": true, "tipo": "api_key", "label": "Sua chave de API",
"gerar_em": "https://meusite.com/dashboard/keys",
"instrucoes": "Acesse o dashboard, vá em Configurações > API Keys e crie uma nova chave.",
"header": "Authorization", "scheme": "Bearer"
}
},
{
"nome": "MCP Server", "tipo": "mcp",
"descricao_curta": "Servidor MCP para agentes de IA",
"url_produto": "https://meusite.com", "categorias": ["Dev Tools"],
"docs_url": "https://docs.meusite.com/mcp",
"mcp_url": "https://mcp.meusite.com", "transporte": "streamable-http",
"tools": [
{ "nome": "listar_recursos", "descricao": "Lista todos os recursos disponíveis na plataforma" },
{ "nome": "buscar_dados", "descricao": "Busca dados com filtros personalizados" },
{ "nome": "executar_acao", "descricao": "Executa uma ação no sistema" }
],
"funciona_com": ["Claude", "Cursor"],
"autenticacao": { "requer": false }
},
{
"nome": "GraphQL API", "tipo": "api_graphql",
"descricao_curta": "API GraphQL para consultas flexíveis",
"url_produto": "https://meusite.com", "categorias": ["Dev Tools", "Dados & BI"],
"docs_url": "https://docs.meusite.com/graphql",
"api_base_url": "https://api.meusite.com/graphql",
"funciona_com": ["Claude", "ChatGPT"],
"autenticacao": {
"requer": true, "tipo": "oauth2", "label": "OAuth 2.0",
"gerar_em": "https://meusite.com/dashboard/apps",
"instrucoes": "Crie um aplicativo no dashboard para obter client_id e client_secret.",
"header": "Authorization", "scheme": "Bearer"
}
}
]
}Campos obrigatórios: diretorio_dev (valor 1), integracoes (array), nome, tipo e descricao_curta em cada integração. Todo o resto é opcional.
Campos disponíveis por tipo
| Campo | MCP | API REST | GraphQL | Descrição |
|---|---|---|---|---|
nome | Obrigatório | |||
tipo | "mcp", "api_rest" ou "api_graphql" | |||
descricao_curta | Obrigatório. Máx 140 caracteres | |||
url_produto | URL do produto | |||
categorias | Array. Ver lista abaixo | |||
docs_url | URL da documentação | |||
funciona_com | Array. Ex: ["Claude", "Cursor"] | |||
mcp_url | URL do servidor MCP | |||
transporte | "stdio", "sse" ou "streamable-http" | |||
comando_instalacao | Ex: npx @meusite/mcp | |||
tools | Array de { nome, descricao } | |||
api_base_url | URL base da API | |||
api_endpoints | Array de { metodo, path, descricao, responses } | |||
autenticacao | Objeto (ver abaixo) |
Campos de autenticação
O objeto autenticacao pode ter:
| Campo | Tipo | Descrição |
|---|---|---|
requer | boolean | Se true, a integração precisa de credenciais |
tipo | string | "api_key", "oauth2", "personal_access_token" ou "service_account" |
label | string | Nome visível da credencial. Ex: "API Key" |
gerar_em | string | URL para gerar a credencial |
instrucoes | string | Instruções em markdown |
header | string | Nome do header HTTP. Ex: "Authorization" |
scheme | string | Scheme do header. Ex: "Bearer" |
Gerar com IA
Se você usa Claude Code, Cursor ou qualquer assistente de IA, cole o prompt abaixo no seu agente. Ele vai analisar seu repositório e gerar o diretorio-dev.json automaticamente.
Você está trabalhando no repositório do meu produto.
Seu objetivo é gerar o arquivo /.well-known/diretorio-dev.json
para que meu produto seja descoberto no diretorio.dev,
o hub de integrações brasileiras.
Formato do arquivo:
{
"diretorio_dev": 1,
"integracoes": [
{
"nome": "Nome da integração",
"tipo": "mcp" | "api_rest" | "api_graphql",
"descricao_curta": "Resumo (máx 140 caracteres)",
"url_produto": "https://meusite.com",
"categorias": ["Pagamentos", "Pix", "E-commerce", "Fiscal", "Logística", "RH", "Produtividade", "Dev Tools", "Dados & BI", "CRM", "Marketing", "Comunicação", "Jurídico", "Saúde", "Educação", "Finanças"], // Remova as que não se aplicam
"docs_url": "https://docs.meusite.com",
// Para MCP:
"mcp_url": "https://meusite.com/mcp",
"transporte": "streamable-http" | "sse" | "stdio",
"comando_instalacao": "npx @meusite/mcp",
"tools": [{ "nome": "ferramenta", "descricao": "O que faz" }],
// Para API REST:
"api_base_url": "https://api.meusite.com",
"api_endpoints": [
{
"metodo": "GET" | "POST" | "PUT" | "PATCH" | "DELETE",
"path": "/recursos",
"descricao": "O que o endpoint faz",
"responses": [
{ "code": "200", "descricao": "Resposta de sucesso" }
]
}
],
// Para API GraphQL:
"api_base_url": "https://api.meusite.com/graphql",
// Para todos os tipos:
"funciona_com": ["Claude", "Cursor", "ChatGPT"],
"autenticacao": {
"requer": true | false,
"tipo": "api_key" | "oauth2" | "personal_access_token" | "service_account",
"label": "Nome da credencial",
"gerar_em": "https://meusite.com/dashboard",
"instrucoes": "Como gerar",
"header": "Authorization",
"scheme": "Bearer"
}
}
]
}
Instruções:
1. Leia o código-fonte, README e docs do meu produto.
2. Identifique todas as superfícies de integração:
- APIs REST (endpoints, métodos, base URL)
- Servidores MCP (URL, transporte, ferramentas)
- APIs GraphQL (endpoint)
3. Para cada superfície, identifique como autentica,
onde a credencial é gerada e como é enviada.
4. Gere UM arquivo com TODAS as integrações.
5. NÃO invente nada que não existe no repositório.
6. Publique o arquivo e me diga o caminho completo.Depois de gerar, publique no seu domínio e cadastre o projeto no painel do diretorio.dev.
Categorias disponíveis
Para usar no campo categorias:
Como funciona na prática
Crie o diretorio-dev.json no seu domínio
Publique o arquivo com as integrações que você oferece. Use o exemplo acima como base e preencha todos os campos que se aplicam ao seu caso.
Crie uma conta e um projeto
Faça login no diretorio.dev, crie um projeto e informe o domínio onde o arquivo está hospedado.
Descoberta automática
O sistema lê seu arquivo e cria as integrações como pendentes. Você recebe notificação por email.
Moderação e publicação
As integrações passam pela moderação. Quando aprovadas, ficam visíveis no diretório.
Sincronização automática
A cada 6 horas o diretorio.dev varre novamente seu domínio. Se você atualizou o arquivo, as mudanças refletem automaticamente.
Quer publicar suas integrações?
Crie sua conta grátis em segundos.