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:

```html
<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](https://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](/reference/endpoints/mcp).