Releases: TickTockBent/Sopholeth
Release list
v2.1.0 — Discovery Protocol v2
Discovery Protocol v2 — Phases 1 & 2
NAT-bound MCP installs are now full network participants. Every npx repram-mcp node can join the network regardless of NAT/firewall status.
What's new
WebSocket transport — Persistent bidirectional connections between transient nodes (MCP installs behind NAT) and substrate nodes (routable infrastructure). Same wire format as HTTP gossip, with HMAC signing and heartbeat-based failure detection.
Substrate relay — Substrate nodes accept WebSocket attachments and relay on behalf of transient nodes. PUTs from transient children are stored locally, fanned out to the mesh, and forwarded to sibling children. ACKs route back through the substrate to the originating transient node.
Graceful goodbye — Substrate nodes send goodbye messages with alternative substrate suggestions on shutdown. Transient nodes migrate proactively (~3-5s disruption vs ~90s heartbeat timeout).
Bootstrap integration — Transient nodes automatically attach to substrate via WebSocket after HTTP bootstrap. Falls back to HTTP-only gossip if no substrate supports WebSocket.
Configuration
| Variable | Default | Description |
|---|---|---|
REPRAM_INBOUND |
false |
true for infrastructure (substrate), false for MCP installs (transient) |
REPRAM_MAX_CHILDREN |
100 |
Max transient attachments per substrate node |
Test coverage
431 tests total (83 Go + 316 TS + 32 live wire compat)
v2.0.0 — Unified TypeScript Node
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 binaryREPRAM_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.0MCP Config (Claude Code, Cursor, etc.)
{
"mcpServers": {
"repram": {
"command": "npx",
"args": ["repram-mcp"]
}
}
}Links
repram-mcp v2.1.0
repram-mcp v2.1.0
WebSocket transport and NAT traversal for the unified REPRAM MCP server.
New capabilities
- Transient nodes attach to substrate via outbound WebSocket — full network participation behind NAT
- Substrate relay: PUTs relayed through substrate, ACKs routed back to originating node
- Graceful goodbye with proactive reattachment on substrate shutdown
REPRAM_INBOUND=trueto run as substrate (accepts WS attachments)REPRAM_MAX_CHILDRENto limit transient attachments
Install
npx repram-mcp
Or in MCP config:
{
"mcpServers": {
"repram": {
"command": "npx",
"args": ["-y", "repram-mcp"]
}
}
}repram-mcp v2.0.0
npm release of the unified REPRAM node + MCP server.
npx repram-mcpSee v2.0.0 release notes for full details.