La documentación la leen tanto los modelos como las personas, y las cuatro
respuestas de abajo se generan a partir de las mismas colecciones desde las que
se representan las páginas — así que ninguna puede desviarse de lo publicado.

| Ruta             | Qué es                                                                    |
| :--------------- | :------------------------------------------------------------------------ |
| `/llms.txt`      | Un índice: nombre del sitio, resumen y el enlace `.md` de cada página       |
| `/llms-full.txt` | Una extensión de duxt: las mismas páginas en un archivo Markdown            |
| `<página>.md`    | El código Markdown de cualquier página                                     |
| `/mcp`           | Un servidor MCP — cuatro herramientas, de `list_versions` a `read_page` |

## Markdown, no HTML

Todo lo de aquí entrega el Markdown tal como se escribió, y por eso el esquema
de la colección pide a Content que almacene `rawbody`. Un modelo al que se le da
HTML representado tiene que deshacer un diseño para encontrar un encabezado; uno
al que se le da la fuente lee lo que escribió el autor, con los bloques de
código todavía como bloques y un bloque MDC todavía como una llamada a
componente.

`<página>.md` lo sirve un **middleware** en lugar de una ruta, porque `.md` es
un sufijo del último segmento de la ruta y no un segmento propio — no existe un
patrón de ruta de Nitro que signifique «cualquier ruta que termine en .md».

## Cómo se anuncia una página

Nada de esto hay que adivinarlo. Cada página de la documentación lleva dos
relaciones de enlace en su head — la primera nombra su propio Markdown, la
segunda el índice que la cubre:

```html
<link rel="alternate" type="text/markdown" href="/duxt/getting-started.md" />
<link rel="describedby" href="/llms.txt" />
```

La alternativa apunta a la página que se está representando y no a su canónico,
de modo que una versión antigua entrega su propio código fuente y no el de la
actual. Ambos son elementos `<link>` y no cabeceras HTTP `Link` a propósito: una
página prerrenderizada los conserva cuando un edge la sirve como archivo
estático, sin configuración de cabeceras en ninguna parte del despliegue.

## Por qué los dos archivos llms

La convención de [llmstxt.org](https://llmstxt.org) define el índice. duxt añade
`/llms-full.txt` para un modelo que no puede descargar los enlaces `.md` página
por página y necesita de una vez la misma documentación de la versión por
defecto.

## Por qué un servidor MCP real

`/mcp` habla el protocolo mediante el SDK oficial en lugar de ser un endpoint
JSON de diseño propio de duxt. Un cliente se conecta a él como se conecta a
cualquier otra cosa, en vez de que alguien escriba un adaptador alrededor de una
forma que solo tiene este tema.

El servidor ofrece cuatro herramientas acotadas: `list_versions`, `list_pages`,
`search_docs` y `read_page`. La búsqueda cubre títulos, descripciones y el cuerpo
Markdown escrito; la fuente, versión y prefijo de ruta permiten acotarla. No
reutiliza deliberadamente el índice del navegador: la herramienta dispone de la
base de datos Content desplegada y devuelve páginas de resultados apropiadas
para el protocolo. Los argumentos y resultados están en
[Endpoint MCP](/reference/endpoints/mcp).