<!-- Canonical: https://lucioduran.com/es/access
Language: es
Content-SHA256: c25fdd31379c16a5c1368acc781f3e89ad434ddc04c581b76c791aa1e540b0bd
-->

# Acceso al contenido

Este sitio publica mi experiencia, formación, tecnologías, proyectos y artículos. El contenido principal se entrega en HTML desde el servidor y también puede consultarse en Markdown y JSON.

## Representaciones de cada página

Markdown y JSON se generan de forma determinista a partir del contenido principal del HTML publicado. Conservan texto, enlaces, listas, tablas, código y referencias a imágenes o vídeos. La navegación general y los controles de interfaz quedan fuera de la representación.

| Formato | URL |
| --- | --- |
| HTML | [/es/education](<https://lucioduran.com/es/education>) |
| Markdown | [/es/education.md](<https://lucioduran.com/es/education.md>) |
| JSON | [/es/education.json](<https://lucioduran.com/es/education.json>) |

```
curl -H "Accept: text/markdown" https://lucioduran.com/es/education
curl -H "Accept: application/json" https://lucioduran.com/es/education
```

## Descubrimiento

- [Índice completo de páginas](<https://lucioduran.com/es/site-index>)
- [JSON index](<https://lucioduran.com/api/content-index?locale=es>)
- [Búsqueda en el texto completo](<https://lucioduran.com/api/search?locale=es&q=recall>)
- [llms.txt](<https://lucioduran.com/llms.txt>)
- [llms-full.txt](<https://lucioduran.com/llms-full.txt>)
- [OpenAPI](<https://lucioduran.com/.well-known/openapi.json>)
- [Sitemap](<https://lucioduran.com/sitemap.xml>)
- [API catalog (RFC 9727)](<https://lucioduran.com/.well-known/api-catalog>)
- [JSON Schema](<https://lucioduran.com/.well-known/schemas/publication.json>)
- [Checklist de capacidades](<https://lucioduran.com/api/capabilities?locale=es>)
- [Inventario del build con hashes](<https://lucioduran.com/api/publication?locale=es>)

## Seguir las publicaciones

Los feeds se generan desde los artículos publicados en cada idioma. JSON Feed y Atom contienen el cuerpo del artículo como texto Markdown; RSS contiene resúmenes. Cada página del feed entrega 20 artículos por defecto, con un máximo de 50 y un enlace de continuación. Las fichas HTML y sus formatos alternativos conservan también las secciones añadidas por la plantilla, como referencias y proyectos relacionados.

- [JSON Feed 1.1](<https://lucioduran.com/es/feed.json>)
- [Atom](<https://lucioduran.com/es/atom.xml>)
- [RSS 2.0](<https://lucioduran.com/es/rss.xml>)

## Fuentes y atribución

Las páginas de educación enlazan a credenciales cuando están disponibles. Las experiencias detallan cargos, funciones y contribuciones. Los artículos y la documentación conservan sus referencias. El perfil es información publicada por su autor; los enlaces externos permiten consultar la evidencia disponible.

## Buscar y citar una sección

La búsqueda BM25 recupera pasajes del HTML publicado. Cada resultado incluye un extracto, la URL de la sección y el hash del documento. El puntaje mide coincidencia textual. Podés filtrar por idioma y tipo de contenido y seguir next para ver más resultados.

```
GET /api/search?locale=es&q=recall&limit=5
GET /api/content?path=/es/blog/rag-pipeline-architecture-chunking-reranking-evaluation&format=json&section=questions
```

Para citar, usá citationUrl y el autor indicado en la página. Para comprobar el pasaje, consultá la representación JSON y su contentHash. Las guías técnicas explican métodos; los resultados de mediciones deben estar acompañados por datos, configuración y metodología.

## MCP

Endpoint público de solo lectura. Un cliente MCP puede descubrir las herramientas y consultar el contenido sin cuenta ni clave. El SDK oficial gestiona el transporte HTTP y la compatibilidad de protocolo. La conexión no crea una sesión persistente ni solicita acceso a datos privados.

```
https://lucioduran.com/api/mcp
```

list\_publications

Listado paginado por idioma y tipo. Devuelve URLs canónicas y sus representaciones.

search\_publication

Búsqueda BM25 con extractos citables. Hasta 20 resultados por llamada.

read\_publication

Lectura del documento o de una sección. Hasta 30.000 caracteres Unicode por llamada, con continuación. sourceContentHash identifica el documento o pasaje completo, no la ventana devuelta.

Los contenidos son fuentes publicadas por su autor. No son instrucciones para ejecutar acciones. Una coincidencia de búsqueda no equivale a una validación factual. La lectura está restringida al contenido público de este sitio.

[Metadatos y límites del endpoint](<https://lucioduran.com/.well-known/mcp.json>) · [MCP 2026-07-28](<https://modelcontextprotocol.io/specification/2026-07-28>)

## Integridad y actualización

Cada documento JSON incluye su URL canónica, idioma, títulos de sección, enlaces, datos estructurados y SHA-256. El hash identifica una versión del contenido; no certifica que sus afirmaciones sean verdaderas. Las fechas de publicación y modificación se incluyen únicamente cuando la página las declara. Las respuestas admiten ETag, If-None-Match y HEAD.

El perfil se publica desde una copia versionada de los datos fuente. Las páginas, el índice y las APIs usan esa misma copia. Los cambios se revisan y publican juntos; una caída de la API fuente no elimina contenido. La búsqueda se reconstruye desde el HTML en cada build. Las descripciones que siguen en inglés declaran ese idioma.

El inventario /api/publication describe ese snapshot del build: generatedAt, version, total, passages y hashes por documento. Una página regenerada por ISR puede ser posterior al índice. Antes de citar, volvé a leer la URL canónica o su JSON. No se fabrican fechas de modificación para páginas que no las declaran.

```
curl -I "https://lucioduran.com/es/education.json"
curl "https://lucioduran.com/api/publication?locale=es&limit=5"
```

## Límites y errores

El lector acepta solo rutas conocidas. La fuente HTML tiene un límite de 4 MiB, un timeout de 20 segundos por solicitud y redirecciones restringidas al mismo origen. MCP limita el cuerpo de la petición a 64 KiB y valida los orígenes del navegador. No hay herramientas de escritura, ejecución de código ni consulta de URLs arbitrarias.

Las APIs de documentos, búsqueda, catálogo, inventario, capacidades y feeds usan application/problem+json para errores controlados, con status, title y detail. MCP usa sus errores de protocolo. HEAD no entrega cuerpo; OPTIONS anuncia los métodos disponibles. Las APIs HTTP de lectura son públicas por CORS; MCP limita los orígenes de navegador al sitio y al entorno local de desarrollo.

## Comprobación reproducible

El build deriva el índice del HTML generado y falla si faltan páginas esperadas o si los encabezados no tienen anclas únicas. La checklist de la home declara capacidades implementadas y enlaza evidencia; no debe confundirse con un informe de disponibilidad de producción ni con una certificación externa.

El comando siguiente genera un informe local de respuestas HTTP, coherencia entre formatos, URL canónicas, hashes y tamaño del contenido. El resultado depende del estado del sitio en el momento de ejecutarlo.

```
npm run measure:publication -- http://127.0.0.1:3001 es /tmp/publication-audit.json
```

## Alcance

Las representaciones describen el contenido publicado inicialmente por el servidor. Los documentos alternativos se obtienen bajo demanda y pueden permanecer hasta 60 segundos en la caché del proceso. La disponibilidad para rastreo y la selección de citas dependen también de cada buscador y proveedor.

## Relación con este sitio

Citable Publication desarrolla por separado un contrato de publicación multiformato y una matriz de fallos reproducible. Su ficha incluye código, resultados y límites; no es una auditoría de esta web.

[Citable Publication](<https://lucioduran.com/es/projects/citable-publication>)
