mcpField
S
Slowtime MCP Server

Slowtime MCP Server

Local
github.com/bmorphismSecurity3Updated 95w ago

About Slowtime MCP Server

Slowtime MCP Server provides time interval management and timelock encryption, with mechanisms intended to reduce timing-attack exposure. It is for MCP clients that need timed operations, encrypted data release, or vault history and statistics.

Key features

  1. 01Create, pause, and resume intervals
  2. 02Track interval progress
  3. 03Encrypt data for interval-based release
  4. 04Add random timing fuzz and delays
  5. 05Store and query vault history and statistics

Use cases

  1. 01Manage timed focus intervals
  2. 02Keep encrypted data unavailable until an interval ends
  3. 03Review encrypted vault history and statistics

MCP support

Exposes interval management, timelock encryption, and TimeVault query capabilities to MCP clients. The README documents commands such as `start_interval`, `pause_interval`, `resume_interval`, `list_vault_history`, and `get_vault_stats`.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.