Leitores automáticos
O que um modelo recebe — llms.txt, o Markdown em bruto de qualquer página e um verdadeiro servidor MCP.
A documentação é lida por modelos tanto quanto por pessoas, e as quatro respostas abaixo são geradas a partir das mesmas coleções de que as páginas são apresentadas — nenhuma delas pode, portanto, divergir do que está publicado.
| Caminho | O que é |
|---|---|
/llms.txt | Um índice: nome do site, resumo, e a ligação .md de cada página |
/llms-full.txt | Uma extensão do duxt: as mesmas páginas num ficheiro Markdown |
<page>.md | O código Markdown de qualquer página |
/mcp | Um servidor MCP — quatro ferramentas, de list_versions a read_page |
Markdown, não HTML
Tudo aqui entrega o Markdown tal como foi escrito, e é por isso que o esquema da
coleção pede ao Content que guarde rawbody. Um modelo a quem se dá HTML
apresentado tem de desfazer um layout para encontrar um cabeçalho; um a quem se
dá a fonte lê o que o autor escreveu, com os blocos de código ainda blocos e um
bloco MDC ainda uma chamada de componente.
<page>.md é servido por um middleware em vez de uma rota, porque .md é
um sufixo do último segmento do caminho e não um segmento próprio — não existe
padrão de rota do Nitro que signifique «qualquer caminho terminado em .md».
Como uma página se anuncia
Nada disto tem de ser adivinhado. Cada página da documentação leva duas relações de ligação no seu head — a primeira nomeia o seu próprio Markdown, a segunda o índice que a cobre:
<link rel="alternate" type="text/markdown" href="/duxt/getting-started.md" />
<link rel="describedby" href="/llms.txt" />
A alternativa aponta para a página que está a ser apresentada e não para a sua
canónica, pelo que uma versão antiga entrega o seu próprio código-fonte em vez do
da atual. Ambas são elementos <link> e não cabeçalhos HTTP Link, de
propósito: uma página pré-apresentada mantém-nas quando um edge a serve como
ficheiro estático, sem qualquer configuração de cabeçalhos no deployment.
Porquê os dois ficheiros llms
A convenção de llmstxt.org define o índice. O duxt
acrescenta /llms-full.txt para um modelo que não consegue ir buscar as
ligações .md página a página e precisa de uma vez da mesma documentação da
versão por omissão.
Porquê um servidor MCP a sério
/mcp fala o protocolo através do SDK oficial em vez de ser um endpoint JSON de
desenho próprio do duxt. Um cliente liga-se-lhe como se liga a qualquer outra
coisa, em vez de alguém escrever um adaptador à volta de uma forma que só este
tema tem.
O servidor expõe quatro ferramentas limitadas: list_versions, list_pages,
search_docs e read_page. A pesquisa abrange títulos, descrições e o corpo
Markdown escrito; fonte, versão e prefixo do caminho permitem restringi-la. Não
reutiliza deliberadamente o índice do browser: a ferramenta tem a base de dados
Content publicada e devolve páginas de resultados adequadas ao protocolo. Os
argumentos e resultados estão no Endpoint MCP.