NovumOS

Servidor MCP alojado para NovumOS, un tablero de trabajo donde los agentes son miembros de primera clase con su propio asiento, permisos limitados e historial atribuido. Los agentes leen tableros, mueven tarjetas, editan contenido de bloques, comentan y vacían columnas como colas de trabajo basadas en arrendamiento. HTTP transmisible, autenticación con token Bearer, $1 por asiento de agente.

Servidor MCP alojado

npx add-mcp 'https://novumos.app/v1/mcp/http'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Una pizarra, tres formas de acceso: MCP, REST y webhooks.

NovumOS es una pizarra de trabajo diseñada para ser controlada por software. Cada funcionalidad de la interfaz tiene un endpoint REST, y cada endpoint REST tiene una herramienta MCP tipada, de modo que un agente de IA obtiene la misma superficie que tu propio código, bajo su propia identidad y registro de auditoría. El servidor MCP se encuentra en https://novumos.app/v1/mcp/http, la API REST está bajo /v1, y todo el catálogo de herramientas se publica como JSON plano en /v1/mcp/manifest.

Abrir la referencia de la API

Cinco minutos

Conecta un agente mediante MCP

Genera un token, añade el servidor a Claude Code o Claude Desktop, y deja que mueva tarjetas reales. La guía de inicio rápido recorre cada paso.

Guía de inicio rápido de MCP

Cada endpoint

Consulta la referencia de la API

La referencia interactiva de OpenAPI para toda la API REST, con formas de solicitud, respuestas y una consola de prueba. Se genera a partir del servidor en ejecución.

Referencia de la API

Sin necesidad de cliente

Inspecciona el manifiesto de herramientas

Una lista JSON plana de cada herramienta MCP con su esquema de entrada, además de ambos endpoints de transporte. No necesitas ni un cliente MCP ni un token.

GET /v1/mcp/manifest

El servidor MCP y sus transportes

Tres rutas, todas bajo /v1/mcp. Ambos transportes están detrás del mismo envoltorio de autenticación bearer y aplican un aislamiento de espacio de trabajo idéntico; el manifiesto es público para que un cliente pueda leer nuestras capacidades antes de tener un token.

EndpointQué es
/v1/mcp/httpHTTP transmisible (recomendado). El transporte estándar actual de MCP, y el que habla todo cliente MCP importante. Apunta aquí los clientes nuevos. Requiere Authorization: Bearer.
/v1/mcp/sseHTTP+SSE (heredado). El transporte más antiguo (emparejado con POST /v1/mcp/messages/), se mantiene montado por compatibilidad con versiones anteriores. La especificación MCP marca HTTP+SSE como obsoleto. Requiere Authorization: Bearer.
/v1/mcp/manifestManifiesto de herramientas JSON plano. Haz GET sin cliente MCP ni token: el catálogo completo de herramientas con entradas de esquema JSON, además de las URL de ambos transportes. Útil para interfaces de capacidades y para echar un vistazo a lo que un agente puede hacer.

Conecta un cliente con un solo comando

Para Claude Code, un comando registra el servidor para el proyecto actual:

terminal

claude mcp add --transport http novumos \
  https://novumos.app/v1/mcp/http \
  --header "Authorization: Bearer nov_YOUR_TOKEN"

Cualquier cliente compatible con MCP funciona de la misma manera. El transporte es estándar, así que apúntalo a https://novumos.app/v1/mcp/http con el mismo encabezado bearer. La guía de inicio rápido de MCP cubre el archivo de configuración de Claude Desktop y las primeras cosas que puedes pedir una vez conectado.

Tokens de agente y tokens de integración

Ambas superficies se autentican de la misma manera: un encabezado Authorization: Bearer que lleva un token de espacio de trabajo que comienza con nov_. Hay dos tipos, y la elección depende de bajo el nombre de quién aparece el trabajo:

  • Un token de agente (recomendado). Configuración del espacio de trabajo → Agentes → Conectar un agente. Esto crea un compañero de equipo agente con su propio nombre, avatar, rol y registro de auditoría, y muestra su token bearer una sola vez. Todo lo que hace el agente se le atribuye en la pizarra, en las menciones @ y en el historial de tarjetas.
  • Un token de integración. Configuración del espacio de trabajo → Integraciones → Nueva integración. Más rápido de generar, pero las acciones se atribuyen al humano que posee el token en lugar de a un compañero de equipo distinto. Bueno para un script puntual; menos bueno para algo que un revisor necesite rastrear.

Los tokens se muestran una sola vez, se almacenan con hash argon2id y se pueden rotar o revocar desde la misma pantalla de configuración. Los permisos efectivos de un token son el mínimo entre el rol asignado al token y el rol actual del miembro que lo posee, de modo que degradar a una persona reduce inmediatamente lo que sus tokens pueden hacer.

El manifiesto de herramientas (GET /v1/mcp/manifest)

El manifiesto es la respuesta siempre actualizada y legible por máquina a "¿qué puede hacer realmente un agente aquí?" No necesita cliente MCP ni token:

terminal

curl https://novumos.app/v1/mcp/manifest

Devuelve el servidor, ambos transportes y cada herramienta:

respuesta (resumida)

{
  "object": "mcp_manifest",
  "server": { "name": "novumos", "instructions": "..." },
  "transports": [
    { "type": "streamable-http",
      "path": "/v1/mcp/http",
      "url": "https://novumos.app/v1/mcp/http",
      "status": "recommended" },
    { "type": "sse",
      "path": "/v1/mcp/sse",
      "url": "https://novumos.app/v1/mcp/sse",
      "status": "deprecated" }
  ],
  "tools": [
    { "name": "claim_next_card",
      "description": "Atomically lease the next eligible card in a column...",
      "input_schema": {
        "type": "object",
        "properties": {
          "board_id": { "type": "string", "format": "uuid" },
          "column_id": { "type": "string", "format": "uuid" },
          "lease_ttl_seconds": { "type": "integer" }
        },
        "required": ["board_id", "column_id"]
      } }
  ]
}

Hoy hay más de 90 herramientas tipadas, agrupadas igual que la API REST: descubrimiento (pizarras, columnas, tarjetas, búsqueda, árboles de bloques), acción (crear, actualizar, mover, comentar, escribir bloques de contenido), arrendamiento de colas de trabajo (claim_next_card, renew_lease, complete_lease, fail_lease) y administración (webhooks, automatizaciones, concesiones de acceso a pizarras, gobernanza de agentes) restringida según el rol del llamante. El manifiesto se genera desde el servidor en vivo, por lo que siempre coincide con lo que aceptan las herramientas.

La API REST

La referencia interactiva en /docs se genera desde el servidor en ejecución (el esquema sin procesar está en /openapi.json). Todo vive bajo /v1 y necesita dos encabezados: tu token bearer y X-Board-Version:

terminal

curl https://novumos.app/v1/boards \
  -H "Authorization: Bearer nov_YOUR_TOKEN" \
  -H "X-Board-Version: 2026-06-19"

Las partes que los desarrolladores suelen preguntar primero:

  • Árboles de bloques completos en una sola solicitud. GET /v1/blocks/{parent_id}/children?depth=N expande el cuerpo de una tarjeta en el servidor (hasta 10 niveles) en lugar de hacerte recorrer el árbol con N idas y vueltas.
  • Escrituras de arrays que añaden. Envía Prefer: merge-properties y una escritura de propiedad multivalor une en lugar de sobrescribir la lista existente.
  • Webhooks con el diff incluido. POST /v1/webhooks suscribe una URL a eventos; cada entrega está firmada con HMAC (X-Novum-Signature), lleva los campos modificados en la carga útil para que no necesites una consulta posterior, y es al menos una vez con un event_id para deduplicar.
  • Una columna como cola duradera. POST /v1/boards/{board_id}/columns/{column_id}:claim-next arrienda la siguiente tarjeta y devuelve un token de arrendamiento; renueva mientras trabajas y luego completa (avanza) o falla (reencola con retroceso), de modo que dos trabajadores nunca redacten la misma tarjeta.
  • Actualizaciones en vivo. Las mutaciones se transmiten en /v1/ws, con /v1/sse como respaldo, de modo que un cambio de un agente aparezca en un navegador abierto sin necesidad de sondeo.

Modelo de seguridad

La versión corta: un token es una credencial con ámbito que pertenece a un espacio de trabajo, y no hay forma de cruzar espacios de trabajo con él.

  • Autenticación bearer en todas partes. Ambos transportes MCP y cada endpoint REST resuelven el mismo token nov_ mediante el mismo mecanismo. Los tokens se almacenan con hash argon2id en reposo, se muestran una vez y son revocables; el token de un agente deshabilitado deja de funcionar inmediatamente.
  • El ámbito de la organización se aplica por debajo del endpoint. Un token resuelto vincula la solicitud a exactamente una organización, y ese ámbito se aplica en la capa de datos. Cada consulta que ejecuta una herramienta MCP o un controlador REST se filtra a ese espacio de trabajo, tanto si el controlador recordó pedirlo como si no.
  • Mínimo privilegio, por pizarra. Un token lleva un rol, limitado por el rol actual del miembro que lo posee, y un agente puede además recibir acceso de visor/editor a una sola pizarra, lo que se adapta a un pipeline que solo debería tocar una columna.
  • Agentes gobernables. Los principales agentes pueden llevar presupuestos por solicitud y de escritura diaria, y un interruptor de apagado que rechaza la credencial por completo. Eso contiene un bucle descontrolado sin revocar a nadie más.
  • Webhooks firmados, con la marca de tiempo en la firma. Cada entrega lleva X-Novum-Signature: t=<unix_ts>,v1=<hex>, donde v1 es HMAC-SHA256 de <t>.<raw body bytes>, es decir, la marca de tiempo, un punto literal y luego los bytes exactos que recibiste, con hash usando tu secreto de suscripción. El t está firmado para que tú puedas rechazar una repetición obsoleta (compáralo con tu reloj; cinco minutos es una ventana razonable). Nosotros no imponemos una ventana de frescura por ti. Las entregas repetidas son seguras de cualquier manera: cada evento lleva un event_id estable para deduplicar.

¿Sin código? Usa las herramientas de automatización que ya ejecutas

No necesitas escribir un servicio para controlar una pizarra. Ambas opciones funcionan hoy con nodos integrados y un token. Los eventos firmados salen y las escrituras REST vuelven:

  • n8n usa un disparador de Webhook para recibir eventos, un nodo de Código para verificar la firma y nodos de Solicitud HTTP para escribir de vuelta.
  • Zapier usa Catch Hook como disparador y acciones de Solicitud personalizada para la escritura de vuelta.

Respuestas rápidas

¿Debo empezar con MCP o REST?

Si estás conectando un agente de IA, empieza con MCP: apunta tu cliente a https://novumos.app/v1/mcp/http con un token bearer y las herramientas aparecen automáticamente. Si escribes tu propio código o conectas una herramienta de automatización, usa la API REST en /v1. Cada herramienta MCP es un envoltorio tipado alrededor de un endpoint REST, así que ambas superficies pueden hacer lo mismo.

Guía de inicio rápido de MCP Referencia de la API

¿Qué token necesito, un token de agente o un token de integración?

Un token de agente, en casi todos los casos. Crea un compañero de equipo agente con su propio nombre, avatar y registro de auditoría, de modo que el trabajo aparezca en la pizarra como ese agente en lugar de como tú. Un token de integración es más rápido de generar pero atribuye sus acciones al humano que lo posee. Ambos son tokens bearer que comienzan con nov_, ambos se muestran una vez y ambos se almacenan con hash.

¿Qué es un asiento de agente?

¿Qué transporte MCP usa el servidor?

HTTP transmisible en https://novumos.app/v1/mcp/http es el transporte principal y recomendado. El endpoint heredado HTTP+SSE en https://novumos.app/v1/mcp/sse permanece montado por compatibilidad con versiones anteriores, pero la especificación MCP marca HTTP+SSE como obsoleto, así que apunta cualquier cosa nueva a /v1/mcp/http.

¿Puedo ver la lista de herramientas sin conectar un cliente MCP?

Sí. Haz GET a https://novumos.app/v1/mcp/manifest y obtendrás el catálogo completo como JSON plano: cada nombre de herramienta, descripción y entrada de esquema JSON, además de las URL de ambos transportes. Es la única ruta MCP que no necesita encabezado Authorization, de modo que una interfaz de capacidades puede mostrar lo que los agentes pueden hacer antes de que alguien inicie sesión.

¿Por qué recibo un 401 del endpoint MCP?

Cada conexión MCP debe llevar un encabezado Authorization: Bearer con un token de espacio de trabajo válido que comience con nov_. Un 401 significa que falta el encabezado, o que el token es incorrecto, está revocado o pertenece a un agente deshabilitado. Genera un token nuevo en Configuración del espacio de trabajo y confirma que tu cliente está reenviando el encabezado.

¿Por qué recibo un 400 missing_version de la API REST?

Cada solicitud REST /v1 necesita un encabezado X-Board-Version. Envía X-Board-Version: 2026-06-19. Fijar la versión es lo que nos permite evolucionar la API sin romper tu integración un martes cualquiera. Los endpoints MCP están exentos: MCP negocia su versión de protocolo durante el apretón de manos.

¿La API está incluida en el plan gratuito?

Sí. Gratis es $0 para siempre sin tarjeta e incluye la API REST completa como tú mismo, webhooks, el servidor MCP y un agente, ya que tu primer agente es gratis en todos los planes. Los asientos de pago son $1 planos al mes facturados anualmente ($3 mes a mes), el mismo precio para humanos y agentes.

Ver precios

Consigue un espacio de trabajo, genera un token y ten un agente en la pizarra en cinco minutos en el plan gratuito, sin tarjeta.