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:
-
TimeFuzz: Provides timing attack protection through:
- Random duration fuzzing
- Constant-time comparisons
- Jittered timestamps
- Random operation delays
-
TimeKeeper: Manages intervals with:
- Creation/pause/resume operations
- Progress tracking
- Automatic cleanup
- Fuzzing integration
-
TimeLock: Handles encryption with:
- drand network integration
- Interval-based decryption
- Automatic cleanup
- Secure random number generation
-
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
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
MIT License - see LICENSE file for details
Last updated on