Skip to content

v2.0.0 — Unified TypeScript Node

Choose a tag to compare

@TickTockBent TickTockBent released this 25 Feb 16:38
· 139 commits to main since this release

REPRAM v2.0.0 adds a complete TypeScript implementation of the REPRAM node, merged into the repram-mcp package. A single npx repram-mcp now provides both a full REPRAM node and MCP agent tools — no separate server needed.

What's New

Unified TypeScript Node

The MCP server is now a full REPRAM node. Three modes:

  • npx repram-mcp — embedded node + MCP stdio transport (default)
  • npx repram-mcp --standalone — HTTP server only, replaces the Go binary
  • REPRAM_URL=... npx repram-mcp — connects to an existing node

Wire Compatible

Go and TypeScript nodes use identical JSON wire format and HMAC-SHA256 signing. They coexist in the same cluster — verified by 32 live integration tests running 2 Go nodes + 1 TS node with cross-implementation gossip, replication, and authentication.

Full Feature Parity

The TypeScript node implements the complete REPRAM protocol:

  • Storage with TTL expiration and capacity limits
  • Gossip protocol with √N probabilistic fanout, dedup cache, topology sync
  • Quorum writes with ACK routing and dynamic quorum
  • DNS-based and manual peer bootstrap
  • Rate limiting, scanner detection, security headers, CORS
  • All /v1/ HTTP routes (data, keys with pagination, health, status, topology, gossip, bootstrap)

Tests

  • 250 TypeScript unit tests across 13 test files
  • 32 live wire compatibility tests (Go ↔ TS cluster)
  • 83 Go tests (unchanged)

Install

# MCP server with embedded node (agents)
npx repram-mcp

# Standalone HTTP server
npx repram-mcp --standalone

# Go node via Docker
docker run -p 8080:8080 -p 9090:9090 ticktockbent/repram-node:2.0.0

MCP Config (Claude Code, Cursor, etc.)

{
  "mcpServers": {
    "repram": {
      "command": "npx",
      "args": ["repram-mcp"]
    }
  }
}

Links