---
title: "API de anuncios de UniverLab — endpoints y ejemplos"
source: "https://univerlab.org/es/api/"
---

API

# API de anuncios

La API pública que está detrás del Mission Log y la hoja de ruta de este sitio. Todas las rutas que ves aquí son GET anónimos y de solo lectura: no hay cuenta, no hay clave y nada que gestionar antes de llamarlas. Lee lo que quieras, tantas veces como quieras.

**URL base** `https://announcements.univerlab.org` — GET anónimo y de solo lectura. Cada respuesta lleva el origen CORS de este sitio.

## Endpoints

### GET `/`

List Mission Log entries

The most recent announcements, newest first, read from the mirror the API keeps at the edge. \`offset\` and \`limit\` page through the newest 100 entries that mirror holds.

Parámetros

*   `offset` — query · integer · opcional. How many entries to skip before reading.
*   `limit` — query · integer · opcional. How many entries to return.

Ejemplo

    curl -s 'https://announcements.univerlab.org/?limit=20'

Respuesta: `application/json`

### GET `/feed.atom`

Atom feed of the Mission Log

The same entries as an Atom feed, for a feed reader. The response carries an \`ETag\`; a conditional request that returns it saves the whole body.

Parámetros

*   `If-None-Match` — header · string · opcional. The \`ETag\` from an earlier fetch of this feed. When it still matches, the answer is \`304 Not Modified\` with no body.

Ejemplo

    curl -s https://announcements.univerlab.org/feed.atom

Respuesta: `application/atom+xml`

### GET `/events`

Server-sent events stream

A long-lived \`text/event-stream\`. It opens with a \`:ok\` comment, sends a \`:ping\` comment every 30 seconds, and pushes an \`entry\`, \`update\` or \`roadmap\` event whose data is the changed object as JSON. It exists for one live view at a time: hold the connection instead of reconnecting, and close it when the view closes. It answers \`503\` once 200 listeners are already attached.

Parámetros

Esta ruta no recibe parámetros.

Ejemplo

    curl -s -N https://announcements.univerlab.org/events

Respuesta: `text/event-stream`

### GET `/roadmap`

List roadmap items

The public roadmap. \`state=active\` (the default) returns the items the laboratory is working on or has shipped; a single lane (\`idea\`, \`now\`, \`next\`, \`later\`, \`done\`) narrows to it. Items carry public fields only — the private ones are never in this answer. The two query shapes that would expose them (\`state=all\` and \`private=1\`) are reader-authenticated and answer \`401\` without a token, so they are not described here.

Parámetros

*   `state` — query · string · one of: active, idea, now, next, later, done · opcional. Which items to return.
*   `offset` — query · integer · opcional. How many items to skip before reading.
*   `limit` — query · integer · opcional. How many items to return.

Ejemplo

    curl -s 'https://announcements.univerlab.org/roadmap?state=active&limit=20'

Respuesta: `application/json`

### GET `/roadmap/{id}`

One roadmap item and its announcements

A single public roadmap item, plus the announcements that report on it — newest first, id breaking ties. \`{id}\` is the \`id\` of an item returned by \`GET /roadmap\`. An archived item is a \`404\` on this public route.

Parámetros

*   `id` — path · string · obligatorio. The item's \`id\`, exactly as \`GET /roadmap\` returned it.

Ejemplo

    curl -s --globoff 'https://announcements.univerlab.org/roadmap/{id}'

Respuesta: `application/json`

## Servidor MCP

Las mismas cuatro herramientas de solo lectura que este sitio expone a un agente del navegador también se sirven desde un servidor MCP remoto real — Streamable HTTP sin estado. Apunta cualquier cliente MCP al endpoint:

**Endpoint** `https://univerlab.org/mcp`

Añádelo con la CLI de Claude Code

    claude mcp add --transport http univerlab https://univerlab.org/mcp

O en la configuración JSON de cualquier cliente MCP

    {
      "mcpServers": {
        "univerlab": { "type": "http", "url": "https://univerlab.org/mcp" }
      }
    }

Server Card: [/.well-known/mcp/server-card.json](/.well-known/mcp/server-card.json) — La Server Card de MCP (SEP-2127) que anuncia este servidor a los agentes.

*   **Documento OpenAPI** — Esta página se genera al construir el sitio a partir de la descripción OpenAPI 3.1 de la misma API, así que la página y la descripción no pueden divergir. Descárgala para tener la versión legible por máquina de todo lo anterior. [/openapi/announcements.json](/openapi/announcements.json)
*   **Catálogo de API** — El catálogo RFC 9727 que anuncia esta API a los agentes. [/.well-known/api-catalog](/.well-known/api-catalog)
*   **auth.md** — El archivo que dice sin rodeos que aquí no hay nada que registrar, y lo que se le pide a un cliente que lee esta API. [/auth.md](/auth.md)