Remnus

Alternativa de código abierto nativa de MCP a Notion: leer y escribir páginas, bases de datos personalizables y tableros kanban/calendario a través de un servidor MCP remoto (OAuth 2.1 + PKCE, tokens con alcance, registro de auditoría).

Documentación

Remnus

Remnus

Espacio de trabajo de código abierto nativo de MCP para humanos y agentes de IA.

Tableros Kanban, bases de datos y páginas que Claude, Cursor y cualquier agente de IA pueden leer y escribir mediante MCP, junto a ti.

GitHub Stars License: AGPL-3.0 Deploy with Vercel smithery badge MCP Registry


¿Qué es Remnus?

Remnus es el Espacio de Trabajo Colaborativo Humano-Agente, construido alrededor del Protocolo de Contexto de Modelos (MCP). Cada página, base de datos y tablero kanban en tu espacio de trabajo es accesible para agentes de IA mediante un servidor MCP de primera clase: conecta editores con OAuth 2.1 (PKCE) con un solo clic, o usa un token de portador con alcance para agentes headless / CI.

A diferencia de la integración MCP de Notion, Remnus está diseñado para flujos de trabajo headless, CI/CD y agentes de codificación desde el primer día.

Contexto nativo OKF, no un volcado del espacio de trabajo

Remnus usa las ideas del Formato de Conocimiento Abierto (OKF) como un contrato de conocimiento portátil. Las páginas pueden llevar descripciones, tipos, etiquetas, fuentes, estado del ciclo de vida, fechas de frescura y señales de revisión vinculadas a revisiones. La importación/exportación de OKF v0.2 es la capa de intercambio; el espacio de trabajo editable de Remnus sigue siendo canónico.

La herramienta MCP prepare_context convierte una tarea concreta en Context Pack v2: un conjunto de conceptos con presupuesto de tokens clasificados por relevancia BM25, metadatos nativos, enlaces de página, frescura y confianza. El modo Inteligente anuncia automáticamente este flujo centrado en el contexto para trabajo significativo. El modo Estricto además requiere el contextRunId de corta duración del mismo agente antes de las mutaciones MCP de Remnus.

Esto no permite que un servidor MCP controle archivos locales, comandos de shell o Git. La aplicación a nivel de repositorio usa los fragmentos AGENTS.md y CLAUDE.md proporcionados. Lee la guía pública de MCP centrada en contexto y la historia de implementación, Cómo Remnus usa OKF para dar a los agentes de IA mejor contexto.

Características

  • Páginas — Editor de Markdown con comandos de barra, subpáginas anidadas e iconos
  • Bases de datos — Columnas personalizables, vistas de Tabla / Kanban / Calendario, filtros, ordenamientos
  • Paneles — Pantallas de estado en vivo (métricas, gráficos, listas, vistas integradas) que un agente construye desde unos pocos cientos de tokens de JSON y un humano puede editar bloque por bloque
  • Servidor MCP — 27 herramientas + 7 recursos + 7 indicaciones sobre HTTP Streamable sin estado
  • Contexto nativo OKF — Metadatos de conocimiento portátiles, revisiones de revisión exacta, Context Pack v2 y políticas MCP Inteligente/Estricta
  • Autenticación de agentes — OAuth 2.1 + PKCE con un clic (registro dinámico RFC 7591) para editores, o tokens de acceso personal con alcance de lectura/escritura para agentes headless
  • Multi-espacio de trabajo — Invita miembros, acceso basado en roles (propietario / miembro / visor)
  • Aplicación de escritorio — Shell Tauri v2 para Windows, macOS, Linux
  • Móvil — Capacitor v8 para iOS y Android (carga remnus.com)
  • i18n — Inglés, Türkçe, हिन्दी, Español, Francés, Alemán, 中文, Ruso

Inicio rápido — Autoalojado

Desarrollo local

git clone https://github.com/Ranork/remnus-app.git
cd remnus-app
cp .env.example .env          # fill in AUTH_SECRET + OAuth credentials
npm install
npm run db:migrate
npm run dev

Abre http://localhost:3000. El primer usuario que se registre se promueve automáticamente a administrador.

Docker Compose (configuración de 5 minutos)

Si prefieres ejecutar Remnus usando Docker:

  1. Clona el repositorio y navega dentro de él:
    git clone https://github.com/Ranork/remnus-app.git
    cd remnus-app
    
  2. Copia la plantilla de entorno y completa las variables requeridas (especialmente AUTH_SECRET y las credenciales de OAuth):
    cp .env.example .env
    
  3. Inicia la aplicación:
    docker compose up -d
    
  4. Accede a Remnus en http://localhost:3000. La base de datos SQLite se persistirá automáticamente usando un volumen de Docker.

Desplegar

Deploy to Vercel Deploy to Railway

Añadir MCP a tu editor

Después de iniciar sesión, abre el panel Agentes de IA desde la barra lateral y haz clic en Conectar editor. Te guía a través de cada editor compatible (Cursor, VS Code, Claude Code, Codex, Windsurf y más).

Add to Cursor Add to VS Code

Instalar desde un registro

Remnus está publicado en el Registro MCP oficial (io.github.Ranork/remnus) y en Smithery, por lo que los clientes y directorios compatibles con MCP pueden descubrirlo automáticamente. Smithery ofrece instalación con un clic en muchos clientes (Claude, Cursor, VS Code, Codex, Windsurf y más) — abre la página de Smithery y haz clic en Añadir al toolbox, o usa la CLI de Smithery para instalar directamente en la configuración de un cliente:

npx -y smithery@latest mcp add ranorkk/remnus --client claude

Cambia --client por cursor, vscode, codex, windsurf, etc. De cualquier manera, la primera conexión ejecuta el mismo inicio de sesión OAuth 2.1 — sin token que pegar.

Recomendado — OAuth (sin token): apunta tu editor a la URL MCP y aprueba la pantalla de consentimiento en la primera conexión. Tu editor ejecuta el flujo OAuth 2.1 automáticamente — nada que copiar.

{
  "mcpServers": {
    "remnus": {
      "type": "http",
      "url": "https://your-instance.com/api/mcp"
    }
  }
}

Headless / CI — token de acceso personal: crea un token con alcance desde el panel de Agentes de IA y envíalo como encabezado de portador.

{
  "mcpServers": {
    "remnus": {
      "type": "http",
      "url": "https://your-instance.com/api/mcp",
      "headers": {
        "Authorization": "Bearer <your-token>"
      }
    }
  }
}

Herramientas MCP

HerramientaAlcanceDescripción
prepare_contextlecturaConstruye Context Pack v2 (BM25 + metadatos OKF + grafo) y devuelve un contextRunId de corta duración
search_workspacelecturaBúsqueda de texto completo en páginas y bases de datos
list_workspacelecturaLista elementos de la barra lateral con paginación
get_pagelecturaObtiene una página, fila de base de datos o panel (como su especificación de bloques) por ID
get_pageslecturaObtiene múltiples páginas/filas por ID en una sola llamada (get_page por lotes)
get_database_schemalecturaObtiene el esquema de columnas de una base de datos
query_databaselecturaConsulta filas con filtros y paginación
list_memberslecturaLista miembros del espacio de trabajo con roles
query_audit_loglecturaRegistro de actividad de agentes filtrado
get_changes_sincelecturaFeed cronológico compacto de lo que cambió desde una marca de tiempo o cursor
get_related_pageslecturaEl padre de una página, hijos, enlaces salientes, backlinks, hermanos de base de datos y archivos fuente — o, dado una ruta de archivo, las páginas que se basan en él
create_pageescrituraCrea una página independiente o fila de base de datos, con un icono
bulk_create_pagesescrituraCrea hasta 50 páginas o filas en una sola llamada, anidando páginas mediante ref/parentRef
update_pageescrituraActualiza título, contenido o propiedades
bulk_update_pagesescrituraActualiza múltiples filas en una sola llamada
delete_pageescrituraElimina una página, base de datos, panel o fila (requiere confirm: true)
bulk_delete_pagesescrituraElimina hasta 100 páginas/filas/bases de datos en una sola llamada (requiere confirm: true)
move_itemescrituraMueve un elemento a un nuevo padre
bulk_move_itemsescrituraMueve hasta 100 elementos en una sola llamada, reasignando padres o moviendo filas a una base de datos diferente
create_databaseescrituraCrea una base de datos con esquema personalizado, icono y vistas
update_database_schemaescrituraAñade o elimina columnas
create_database_viewescrituraAñade una vista de tabla/kanban/calendario
update_database_viewescrituraRenombra una vista o parchea su configuración
delete_database_viewescrituraElimina una vista guardada (requiere confirm: true)
create_dashboardescrituraCrea un panel en vivo desde bloques JSON; devuelve su URL y advertencias para bloques que se renderizarían vacíos
update_dashboardescrituraParchea un panel por ID de bloque — añade, actualiza, elimina, reordena
add_commentescrituraAñade un comentario a una página o fila (los comentarios de agentes son de solo añadir)

Pila tecnológica

  • Framework: Next.js 16.2.6 (App Router)
  • Base de datos: SQLite mediante Drizzle ORM + @libsql/client (compatible con Turso)
  • Autenticación: Auth.js v5 — OAuth de Google y GitHub
  • Estilos: Tailwind CSS + iconos de Lucide
  • Escritorio: Tauri v2 (Rust)
  • Móvil: Capacitor v8

Contribuciones

Consulta CONTRIBUTING.md. Todas las contribuciones son bienvenidas — correcciones de errores, nuevas herramientas MCP, traducciones y documentación.

Licencia

AGPL-3.0 — libre para autoalojar y modificar. Los forks SaaS deben abrir su código fuente.