Slowtime MCP Server
Un servidor para operaciones seguras basadas en el tiempo, con protección contra ataques de temporización y cifrado de bloqueo temporal.
Documentación
Servidor MCP Slowtime
Un servidor de Protocolo de Contexto de Modelo para operaciones seguras basadas en tiempo con protección contra ataques de sincronización y cifrado de bloqueo temporal.
┌──────────────┐
│ Claude │
│ Desktop │
└──────┬───────┘
│
▼
┌──────────────┐ ┌──────────────┐
│ Timelock │◄──────────────────►│ Slowtime │
│ Encryption │ │ MCP │
└──────────────┘ │ Server │
└──────┬───────┘
│
▼
┌──────────────┐ ┌──────────────┐
│ Timing │◄─────────────────►│ Interval │
│ Protection │ │ Manager │
└──────────────┘ └──────────────┘
Características
Difuminado de Tiempo y Seguridad
Input Time ──┐
┌▼─────────────┐
│ Random Fuzz │ ┌─────────────┐
│ (100-5000ms) ├────►│ Jittered │
└─────────────┘ │ Timestamp │
└─────────────┘
Flujo de Cifrado de Bloqueo Temporal
Data ───────┐
┌▼────────────┐ ┌────────────┐ ┌────────────┐
│ Encrypt │ │ Interval │ │ League of │
│ with ├───►│ Duration ├───►│ Entropy │
│ Timelock │ │ Remaining │ │ Network │
└────────────┘ └────────────┘ └────────────┘
Gestión de Intervalos
[Start]──►[Active]──┐
▲ │
│ ▼
[Resume] [Pause]
│ ▲
▼ │
[Paused]
Instalación
Agrega a la configuración de tu Claude Desktop en ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"slowtime": {
"command": "node",
"args": ["/path/to/slowtime-mcp-server/build/index.js"]
}
}
}
Uso
Comandos Básicos de Intervalo
start_interval "Focus Time" 25 ───► [25min Interval Created]
│
check_interval <id> ◄───────────────────┘
│
pause_interval <id> ◄───────────────────┘
│
resume_interval <id> ◄───────────────────┘
Cifrado de Bloqueo Temporal
1. Start Interval:
"Focus Time" (25min) ──► [Interval ID: abc123]
2. Encrypt Data:
"secret" + abc123 ──► [Timelock ID: xyz789]
3. Attempt Decrypt:
- Before interval ends: "Not yet decryptable"
- After interval ends: "secret"
Características de Seguridad
Prevención de Ataques de Sincronización
Operation ──┬──► Random Delay (100-5000ms)
│
├──► Jittered Timestamps
│
└──► Constant-time Comparisons
Seguridad y Almacenamiento de Bloqueo Temporal
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Encrypt │ │ Distributed │ │ Timelock │ │ DuckDB │
│ Data ├───►│ Randomness ├───►│ Protected ├───►│ TimeVault │
│ │ │ Network │ │ Data │ │ Storage │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ ▲
│ ┌──────────────┘
▼ │
┌─────────────┴─┐
│ Analytics │
│ & Statistics │
└───────────────┘
Analíticas de TimeVault
Query History ──┐
├──► ┌─────────────┐
Filter Options ┘ │ DuckDB │ ┌─────────────┐
│ WASM ├───►│ Analytics │
Vault Stats ───────►│ Engine │ │ Results │
└─────────────┘ └─────────────┘
Arquitectura
El servidor consta de cuatro componentes principales:
-
TimeFuzz: Proporciona protección contra ataques de sincronización mediante:
- Difuminado de duración aleatoria
- Comparaciones de tiempo constante
- Marcas de tiempo con fluctuación
- Retrasos de operación aleatorios
-
TimeKeeper: Gestiona intervalos con:
- Operaciones de creación/pausa/reanudación
- Seguimiento de progreso
- Limpieza automática
- Integración de difuminado
-
TimeLock: Maneja el cifrado con:
- Integración de red drand
- Descifrado basado en intervalos
- Limpieza automática
- Generación segura de números aleatorios
-
TimeVault: Proporciona almacenamiento persistente y analíticas:
- Almacenamiento basado en DuckDB WASM
- Seguimiento histórico de datos cifrados
- Analíticas y estadísticas
- Capacidades de consulta con filtrado
Comandos de TimeVault
Consulta datos históricos y estadísticas sobre timevaults cifrados:
# List vault history with filtering
list_vault_history --interval_id=abc123 --decrypted_only=true --limit=10
# Get vault statistics
get_vault_stats
Example output:
Total vaults: 150
Decrypted vaults: 75
Average decryption time: 45 seconds
Esquema de Almacenamiento
El TimeVault utiliza DuckDB WASM para almacenamiento persistente con el siguiente esquema:
CREATE TABLE timevaults (
id VARCHAR PRIMARY KEY,
encrypted_data TEXT NOT NULL,
round_number BIGINT NOT NULL,
created_at TIMESTAMP NOT NULL,
decrypted_at TIMESTAMP,
interval_id VARCHAR NOT NULL,
metadata JSON
);
-- Indexes for efficient querying
CREATE INDEX idx_interval_id ON timevaults(interval_id);
CREATE INDEX idx_created_at ON timevaults(created_at);
Contribuciones
- Haz un fork del repositorio
- Crea tu rama de características
- Realiza tus cambios
- Haz push a la rama
- Crea una Solicitud de Extracción
Licencia
Licencia MIT: consulta el archivo LICENSE para más detalles