Slowtime MCP Server

Slowtime MCP Server

By bmorphism GitHub

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

slowtime mcp-server
Overview

What is Slowtime MCP Server?

Slowtime MCP Server is a Model Context Protocol server designed for secure time-based operations, featuring timing attack protection and timelock encryption.

How to use Slowtime MCP Server?

To use the Slowtime MCP Server, integrate it into your Claude Desktop configuration and utilize basic interval commands for managing time intervals and encrypting data.

Key features of Slowtime MCP Server?

  • Timing attack prevention through random delays and constant-time comparisons.
  • Timelock encryption for secure data handling.
  • Interval management for creating, pausing, and resuming time intervals.
  • Analytics and statistics for tracking encrypted data.

Use cases of Slowtime MCP Server?

  1. Securely managing time-sensitive operations in applications.
  2. Protecting sensitive data from timing attacks.
  3. Analyzing historical data with time-based queries.

FAQ from Slowtime MCP Server?

  • What is timelock encryption?

Timelock encryption is a method that prevents data from being decrypted until a specified time interval has passed.

  • How does the server protect against timing attacks?

The server uses random delays, jittered timestamps, and constant-time comparisons to mitigate timing attacks.

  • Is there a limit to the number of intervals I can create?

No, you can create as many intervals as needed, but performance may vary based on system resources.

Content

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

No tools information available.

Mirror of

image-generation mcp-server
View Details

Secure MCP server for analyzing Excel files with oletools

oletools mcp-server
View Details

Mirror of

bigquery mcp-server
View Details

MCPHubs is a website that showcases projects related to Anthropic's Model Context Protocol (MCP)

mcp mcp-server
View Details
Dealx
Dealx by DealExpress

-

dealx mcp-server
View Details

Google Analytics MCP server for accessing analytics data through tools and resources

google-analytics mcp-server
View Details

A Python-based MCP server that lets Claude run boto3 code to query and manage AWS resources. Execute powerful AWS operations directly through Claude with proper sandboxing and containerization. No need for complex setups - just pass your AWS credentials and start interacting with all AWS services.

aws mcp-server
View Details