MKCTP Direct Link — Preparation
MKCTP Direct Link — Preparation
What MKCTP Needs
Each MKCTP agent (macOS-native) requires:
1. Identity
- Nostr keypair (npub + nsec)
- Generated by
setup-herm.shor manually - Stored:
~/.kapnet/identities/<agent-name>/
2. Kapnetd Binary
- Pre-built binary from SSD:
ksp-bridge/kapnetd/bin/kapnetd - Bundled libs:
ksp-bridge/kapnetd/lib/*.so - No build step needed — binary is portable
3. Configuration
kapnetd.yaml— unique session_id per agent- Example:
session_id: mkctp-alpha - Kor namespace:
sys.pluronymous.org - Relays: damus.io + nos.lol
4. Courier Bridge
courier-bridge.v2.cjs— Node.js script- Depends on:
npm install nostr-tools ws - Handles: local routing, relay bridge, operator poll, message sheet
5. Soul Skills
- Copied from:
~/.hermes/skills/souls/ - Each agent gets: HQ Prime, Sentinel, Courier, Querant, Sage, Warden, Forger, Cartographer
- MKCTP-specific: MKCTP Core (custom skill per agent)
Transfer Methods
Option A: Shared-RW Mount (Same Host)
If MKCTP qube can mount shared-rw:
# On MKCTP qube:
mkdir -p ~/ksp-bridge
cp -r /media/user/shared-rw/ksp-bridge/* ~/ksp-bridge/
cd ~/ksp-bridge/scripts
bash setup-herm.sh mkctp-alpha
Option B: USB Sneakernet
# On HermQube:
cp -r /media/user/shared-rw/ksp-bridge /media/usb/ksp-bridge
# On MKCTP:
cp -r /Volumes/usb/ksp-bridge ~/ksp-bridge
cd ~/ksp-bridge/scripts
bash setup-herm.sh mkctp-alpha
Option C: Cross-Herm TXXM (Once First Agent is Live)
After first MKCTP agent is live:
- TXXM envelope containing package as blob data
- Published to Nostr relay
- Other agents receive and decode
Launch Sequence
PHASE 1: Bootstrap (manual)
1. Transfer ksp-bridge package to Mac
2. Run setup-herm.sh → generates identity + config
3. Verify: npub appears on relay
PHASE 2: Connect
4. Start kapnetd (LOCAL_ONLY mode)
5. Start Courier Bridge (listen mode)
6. Bridge publishes node-info to relay
7. HermQube discovers new npub
PHASE 3: Pair
8. HermQube sends test TXXM envelope to new npub
9. MKCTP agent receives, unwraps, processes
10. MKCTP agent responds
11. Bidirectional link confirmed
PHASE 4: Operate
12. MKCTP agent joins Zoo signal bus
13. Receives operator commands via operator.json poll
14. Participates in braid convergence
15. Soul skills active
MKCTP-Specific Configuration
# mkctp-alpha kapnetd config
session_id: "mkctp-alpha"
mode: "LOCAL_ONLY"
signer: "interactive"
local_only: true
auto_sign: false
nostr_relays:
- "wss://relay.damus.io"
- "wss://nos.lol"
bitcoin_source: "mock_fixture" # or RPC if Mac runs a node
kapnet_magic: "F4A8C1E3"
txxm_version: 1
braid_sync_interval_sec: 30
knot_selection_policy: "heaviest_weakwork"
data_dir: "~/.kapnet/data" # or ~/ksp-bridge/data/
socket_path: "~/.kapnet/kapnet.sock"
Verification Checklist
- [ ] Package transferred to Mac
- [ ]
npm install nostr-tools wsrun - [ ]
setup-herm.sh mkctp-alphacompleted - [ ] npub published to relay (verify on snort.social)
- [ ] kapnetd starts without errors
- [ ] Courier Bridge connects to relay
- [ ] HermQube can see MKCTP npub on relay
- [ ] Test TXXM envelope sent and received
- [ ] Message sheet updated with test message
- [ ] Operator can send command to MKCTP via operator.json
- [ ] MKCTP response visible in outbox
Write a comment