Slowtime
FreeNot checkedA Model Context Protocol server for secure time-based operations with timing attack protection and timelock encryption
About
A Model Context Protocol server for secure time-based operations with timing attack protection and timelock encryption
README
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
Installing Slowtime
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/bmorphism/slowtime-mcp-serverFAQ
Is Slowtime MCP free?
Yes, Slowtime MCP is free — one-click install via Unyly at no cost.
Does Slowtime need an API key?
No, Slowtime runs without API keys or environment variables.
Is Slowtime hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Slowtime in Claude Desktop, Claude Code or Cursor?
Open Slowtime on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Slowtime with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
