Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

sempods-kotlin

Implementación de referencia JVM del protocolo Sempods para espacios de datos descentralizados con control de acceso OAuth 2.1, sandboxing SPARQL y almacenamiento MongoDB/MinIO.

Ficha actualizada 22 sept 2026, 16:05 · upstream 22 sept 2026, 13:56 · release v0.1.0

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es sempods-kotlin

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

El repositorio sempods-kotlin es una implementación de referencia para la JVM del protocolo Sempods, diseñado como un espacio de datos donde los usuarios son propietarios de sus datos estructurados en RDF/JSON-LD. El sistema invierte el modelo tradicional: las aplicaciones y agentes acceden a los datos del usuario sin copias centralizadas, mediante HTTP y OAuth 2.1 con resolución de concesiones lado servidor.

La arquitectura se basa en tres servicios independientes que comparten bibliotecas comunes (sempods-auth-core, sempods-mcp-core) pero escalan por separado: un servidor de pods, un servicio de identidad y un endpoint MCP alojado. Utiliza MongoDB para persistencia y S3/MinIO para almacenamiento de medios, con una superficie HTTP descrita mediante OpenAPI manuales.

El proyecto separa claramente la especificación del contrato (en sempods-spec) de la implementación, permitiendo que otros desarrolladores construyan sobre el mismo protocolo sin depender de este código específico. Las bibliotecas están publicadas en Maven Central desde la versión 0.1.0.

CASOS DE USO
  • Gestión federada de datos personales (fotos, notas, conversaciones AI) donde el usuario controla permisos granulares por contexto
  • Publicación de eventos como Linked Open Data consultables públicamente sin autenticación
  • Integración con agentes MCP que acceden a múltiples pods sin duplicación de datos ni tokens centralizados
  • Desarrollo de aplicaciones cliente usando las bibliotecas sempods-client y sempods-model en proyectos Kotlin/Java
PUNTOS DESTACADOS
  • OAuth 2.1 con PKCE y resolución de concesiones lado servidor (grants duraderos que no viajan en tokens)
  • Sandboxing estricto de SPARQL que limita consultas a contextos autorizados por el usuario
  • Separación clara entre especificación y código con gobernanza independiente en sempods-spec
  • Soporte para múltiples servicios independientes (pod server, hosted MCP) que comparten tokens y scopes
PRECAUCIONES
  • Ausencia de suite de conformance para verificar cumplimiento del contrato por terceros
  • Falta de sistema de migración de esquema automático (requiere backup manual antes de actualizaciones)
  • Dependencia de Java 25 para módulos RDF4J mientras otros funcionan en Java 21
  • Naturaleza experimental de la versión 0.x que permite cambios en la API sin aviso
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA8 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

Usar Docker Compose v2 con Java 25. Configurar SEMPODS_PUBLIC_BASE_URL antes de iniciar para minting correcto de IRIs. Tomar backup de MongoDB antes de cualquier actualización debido a la falta de migración automática. Evitar snapshots en producción usando versiones fijas de Maven Central.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
No detectados
SERVICIOS
MongoDBS3/MinIO
BASES DE DATOS
MongoDB
PUERTOS
8090
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.