スロータイムMCPサーバー
タイミング攻撃保護とタイムロック暗号化を備えた安全な時間ベースの操作を実現するモデル コンテキスト プロトコル サーバー。
┌──────────────┐
│ Claude │
│ Desktop │
└──────┬───────┘
│
▼
┌──────────────┐ ┌──────────────┐
│ Timelock │◄──────────────────►│ Slowtime │
│ Encryption │ │ MCP │
└──────────────┘ │ Server │
└──────┬───────┘
│
▼
┌──────────────┐ ┌──────────────┐
│ Timing │◄─────────────────►│ Interval │
│ Protection │ │ Manager │
└──────────────┘ └──────────────┘
特徴
タイムファジングとセキュリティ
Input Time ──┐
┌▼─────────────┐
│ Random Fuzz │ ┌─────────────┐
│ (100-5000ms) ├────►│ Jittered │
└─────────────┘ │ Timestamp │
└─────────────┘
タイムロック暗号化フロー
Data ───────┐
┌▼────────────┐ ┌────────────┐ ┌────────────┐
│ Encrypt │ │ Interval │ │ League of │
│ with ├───►│ Duration ├───►│ Entropy │
│ Timelock │ │ Remaining │ │ Network │
└────────────┘ └────────────┘ └────────────┘
インターバルマネジメント
[Start]──►[Active]──┐
▲ │
│ ▼
[Resume] [Pause]
│ ▲
▼ │
[Paused]
インストール
~/Library/Application Support/Claude/claude_desktop_config.json
の Claude Desktop 構成に以下を追加します:
{
"mcpServers": {
"slowtime": {
"command": "node",
"args": ["/path/to/slowtime-mcp-server/build/index.js"]
}
}
}
使用法
基本的な間隔コマンド
start_interval "Focus Time" 25 ───► [25min Interval Created]
│
check_interval <id> ◄───────────────────┘
│
pause_interval <id> ◄───────────────────┘
│
resume_interval <id> ◄───────────────────┘
タイムロック暗号化
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"
セキュリティ機能
タイミング攻撃防止
Operation ──┬──► Random Delay (100-5000ms)
│
├──► Jittered Timestamps
│
└──► Constant-time Comparisons
タイムロック セキュリティ&ストレージ
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Encrypt │ │ Distributed │ │ Timelock │ │ DuckDB │
│ Data ├───►│ Randomness ├───►│ Protected ├───►│ TimeVault │
│ │ │ Network │ │ Data │ │ Storage │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ ▲
│ ┌──────────────┘
▼ │
┌─────────────┴─┐
│ Analytics │
│ & Statistics │
└───────────────┘
TimeVaultアナリティクス
Query History ──┐
├──► ┌─────────────┐
Filter Options ┘ │ DuckDB │ ┌─────────────┐
│ WASM ├───►│ Analytics │
Vault Stats ───────►│ Engine │ │ Results │
└─────────────┘ └─────────────┘
建築
サーバーは 4 つの主要コンポーネントで構成されています。
- TimeFuzz : 次の方法でタイミング攻撃からの保護を提供します:
- ランダム期間ファジング
- 定数時間の比較
- ジッタのあるタイムスタンプ
- ランダムな操作遅延
- TimeKeeper : 次の間隔を管理します:
- 作成/一時停止/再開操作
- 進捗状況の追跡
- 自動クリーンアップ
- ファジング統合
- TimeLock : 次の方法で暗号化を処理します:
- ドランドネットワーク統合
- 間隔ベースの復号
- 自動クリーンアップ
- 安全な乱数生成
- TimeVault : 永続的なストレージと分析を提供します。
- DuckDB WASMベースのストレージ
- 暗号化されたデータの履歴追跡
- 分析と統計
- フィルタリング機能を備えたクエリ機能
TimeVault コマンド
暗号化されたタイムボールトに関する履歴データと統計を照会します。
# 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
ストレージスキーマ
TimeVault は、次のスキーマを使用して永続ストレージに DuckDB WASM を使用します。
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);
貢献
- リポジトリをフォークする
- 機能ブランチを作成する
- 変更をコミットする
- ブランチにプッシュする
- プルリクエストを作成する
ライセンス
MITライセンス - 詳細はLICENSEファイルを参照