home / mcp / slowtime mcp server

Slowtime MCP Server

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

Installation
Add the following to your MCP client configuration file.

Configuration

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

Slowtime MCP Server enables secure time-based operations with timing attack protection and timelock encryption. It coordinates time fuzzing, interval management, encryption, and analytics to protect sensitive timing-dependent data while enabling controlled access and auditing.

How to use

You interact with Slowtime MCP Server through an MCP client to create and manage time-bound intervals, apply timelock encryption to data, and retrieve analytics. Use the client to start, pause, resume, and check intervals, then encrypt data tied to a specific interval and decrypt it only when the interval conditions are met. All actions are designed to mitigate timing attacks while providing auditable, interval-bound access to encrypted information.

Typical usage patterns you can perform include creating a new time interval, checking its status, pausing and resuming it, and encrypting data so that it remains decryptable only after the interval completes. You can also query vault histories and statistics to understand encryption activity and decryption timelines across your intervals.

How to install

Prerequisites you need before installing: a running Node.js environment on your host and appropriate permissions to run local processes.

Install steps are focused on configuring Slowtime as a local MCP server that your MCP client can reach through your Claude Desktop setup.

Step 1: Prepare your config by adding Slowtime to your Claude Desktop MCP configuration.

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

Additional content

Security and architecture are designed to protect timing-sensitive data. The server implements time fuzzing, constant-time operations, and jittered timestamps to reduce the risk of timing-based leakage. Encryption flows rely on timelock concepts and distributed randomness to secure data until an interval completes.

The server is composed of four main components: TimeFuzz for timing attack protection, TimeKeeper for interval management, TimeLock for encryption, and TimeVault for persistent storage and analytics. This structure supports secure, auditable time-based access to encrypted data.

Operational notes include how to query vault history, filter by interval, and obtain vault statistics. TimeVault uses DuckDB WASM for storage and provides analytics results such as total vaults, decrypted vaults, and average decryption time.

Tools and capabilities

TimeFuzz: provides timing attack protection through random duration fuzzing, constant-time comparisons, jittered timestamps, and random operation delays.

TimeKeeper: manages intervals with creation, pause, resume, progress tracking, automatic cleanup, and fuzzing integration.

TimeLock: handles encryption with timelock concepts, interval-based decryption, automatic cleanup, and secure random number generation.

TimeVault: provides persistent storage and analytics using DuckDB WASM, with historical tracking of encrypted data and query capabilities.

Example functional endpoints include creating intervals, checking status, pausing/resuming, encrypting data with an interval reference, and decrypting only after the interval completes. Vault analytics support filtering and statistics retrieval.

Available tools

TimeFuzz

Protection against timing attacks through random delays, jittered timestamps, and constant-time operations.

TimeKeeper

Manages intervals: create, pause, resume, track progress, and automatic cleanup.

TimeLock

Encrypts data with timelock concepts and supports interval-based decryption and secure RNG.

TimeVault

Persistent storage and analytics using DuckDB WASM, with historical tracking and query capabilities.

start_interval

Create a new interval with a given name and duration, returning an interval identifier.

check_interval

Query the status and progress of a specific interval by its ID.

pause_interval

Pause an active interval so it stops progressing until resumed.

resume_interval

Resume a paused interval to continue from where it left off.

encrypt_data

Encrypt data tied to a specific interval and obtain a Timelock ID.

decrypt_data

Attempt decryption of timelocked data; success is contingent on interval completion.

list_vault_history

Query vault history with filters such as interval_id and decrypted_only.

get_vault_stats

Retrieve statistics about vaults, including counts and average decryption time.