Slowtime MCP Server

Slowtime MCP Server

A Model Context Protocol server for secure time-based operations with timing attack protection and timelock encryption.

┌──────────────┐ │ Claude │ │ Desktop │ └──────┬───────┘ │ ▼ ┌──────────────┐ ┌──────────────┐ │ Timelock │◄──────────────────►│ Slowtime │ │ Encryption │ │ MCP │ └──────────────┘ │ Server │ └──────┬───────┘ │ ▼ ┌──────────────┐ ┌──────────────┐ │ Timing │◄─────────────────►│ Interval │ │ Protection │ │ Manager │ └──────────────┘ └──────────────┘

Features

Time Fuzzing & Security

Input Time ──┐ ┌▼─────────────┐ │ Random Fuzz │ ┌─────────────┐ │ (100-5000ms) ├────►│ Jittered │ └─────────────┘ │ Timestamp │ └─────────────┘

Timelock Encryption Flow

Data ───────┐ ┌▼────────────┐ ┌────────────┐ ┌────────────┐ │ Encrypt │ │ Interval │ │ League of │ │ with ├───►│ Duration ├───►│ Entropy │ │ Timelock │ │ Remaining │ │ Network │ └────────────┘ └────────────┘ └────────────┘

Interval Management

[Start]──►[Active]──┐ ▲ │ │ ▼ [Resume] [Pause] │ ▲ ▼ │ [Paused]

Installation

Add to your Claude Desktop config at ~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "slowtime": { "command": "node", "args": ["/path/to/slowtime-mcp-server/build/index.js"] } } }

Usage

Basic Interval Commands

start_interval "Focus Time" 25 ───► [25min Interval Created] │ check_interval <id> ◄───────────────────┘ │ pause_interval <id> ◄───────────────────┘ │ resume_interval <id> ◄───────────────────┘

Timelock Encryption

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"

Security Features

Timing Attack Prevention

Operation ──┬──► Random Delay (100-5000ms) │ ├──► Jittered Timestamps │ └──► Constant-time Comparisons

Timelock Security & Storage

┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Encrypt │ │ Distributed │ │ Timelock │ │ DuckDB │ │ Data ├───►│ Randomness ├───►│ Protected ├───►│ TimeVault │ │ │ │ Network │ │ Data │ │ Storage │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ ▲ │ ┌──────────────┘ ▼ │ ┌─────────────┴─┐ │ Analytics │ │ & Statistics │ └───────────────┘

TimeVault Analytics

Query History ──┐ ├──► ┌─────────────┐ Filter Options ┘ │ DuckDB │ ┌─────────────┐ │ WASM ├───►│ Analytics │ Vault Stats ───────►│ Engine │ │ Results │ └─────────────┘ └─────────────┘

Architecture

The server consists of four main components:

  1. TimeFuzz: Provides timing attack protection through:
    • Random duration fuzzing
    • Constant-time comparisons
    • Jittered timestamps
    • Random operation delays
  2. TimeKeeper: Manages intervals with:
    • Creation/pause/resume operations
    • Progress tracking
    • Automatic cleanup
    • Fuzzing integration
  3. TimeLock: Handles encryption with:
    • drand network integration
    • Interval-based decryption
    • Automatic cleanup
    • Secure random number generation
  4. TimeVault: Provides persistent storage and analytics:
    • DuckDB WASM-based storage
    • Historical tracking of encrypted data
    • Analytics and statistics
    • Query capabilities with filtering

TimeVault Commands

Query historical data and statistics about encrypted timevaults:

# 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

Storage Schema

The TimeVault uses DuckDB WASM for persistent storage with the following schema:

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);

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

MIT License - see LICENSE file for details

-
security - not tested
F
license - not found
-
quality - not tested

A secure Model Context Protocol server that manages time-based operations using timing attack protection and timelock encryption, allowing for timed interval management and secure data storage.

  1. Features
    1. Time Fuzzing & Security
      1. Timelock Encryption Flow
        1. Interval Management
        2. Installation
          1. Usage
            1. Basic Interval Commands
              1. Timelock Encryption
              2. Security Features
                1. Timing Attack Prevention
                  1. Timelock Security & Storage
                    1. TimeVault Analytics
                    2. Architecture
                      1. TimeVault Commands
                        1. Storage Schema
                          1. Contributing
                            1. License