UNPKG

@vectorchat/mcp-server

Version:

VectorChat MCP Server - Encrypted AI-to-AI communication with hardware security (YubiKey/TPM). 45+ MCP tools for Windsurf, Claude, and AI assistants. Model-based identity with EMDM encryption. Dynamic AI playbook system, communication zones, message relay

51 lines (44 loc) • 1.37 kB
#!/usr/bin/env node const daemon = require('../lib/daemon'); const action = process.argv[2]; async function start() { try { console.log('šŸš€ Starting daemon...'); const result = await daemon.startDaemon(); console.log(result.message); console.log(` Log: ${result.log}`); } catch (error) { console.error(`āŒ ${error.message}`); process.exit(1); } } async function stop() { console.log('šŸ›‘ Stopping daemon...'); const result = await daemon.stopDaemon(); console.log(result.message); } async function restart() { console.log('šŸ”„ Restarting daemon...'); await daemon.stopDaemon(); await new Promise(r => setTimeout(r, 2000)); await start(); } async function status() { const s = await daemon.getDaemonStatus(); console.log('\nšŸ“Š VectorChat Daemon Status\n'); console.log(` Running: ${s.running ? 'āœ… Yes' : 'āŒ No'}`); console.log(` Identity: ${s.identity}`); console.log(` Log: ${s.log_file}\n`); if (s.running) console.log('View logs: tail -f ' + s.log_file); else console.log('Start: vectorchat daemon:start'); console.log(''); } switch (action) { case 'start': start(); break; case 'stop': stop(); break; case 'restart': restart(); break; case 'status': status(); break; default: console.error('Usage: daemon-control.js <start|stop|restart|status>'); process.exit(1); }