OpenCROW I/O - Netcat Async
Prefer the opencrow-netcat-mcp server for session lifecycle, reads, and writes. Fall back to scripts/ncx only when you need to inspect or debug the backend directly.
MCP First
- Use
toolbox_info,toolbox_verify, andtoolbox_capabilitiesfirst. - Use the generic session tools:
session_startsession_sendsession_readsession_statussession_stop
- Keep one named session per target flow so the MCP server can report stable artifacts under
/tmp/codex-nc-async/<name>/.
Use scripts/ncx to manage long-lived TCP sessions instead of one-shot nc invocations when you are operating outside MCP.
Workflow
- Start a named session.
- Send one or more payloads while the daemon keeps receiving output asynchronously.
- Read logs (
tailfor recent data,followfor streaming). - Stop the session when done.
Commands
# Start session
scripts/ncx start --name demo --host 127.0.0.1 --port 9001
# Send text (append newline for line-oriented protocols)
scripts/ncx send --name demo --data 'ping' --newline
# Read latest output
scripts/ncx read --name demo --tail 40
# Follow output live
scripts/ncx read --name demo --follow
# Check metadata and process state
scripts/ncx status --name demo
# Stop session
scripts/ncx stop --name demo
Operational Rules
- Use one session per target/service flow (
--namescoped per host+port interaction). - Prefer
--newlinefor interactive text protocols. - Read with
--tailbefore--followto avoid missing context. - Stop sessions explicitly to avoid stale daemons.
- If
statusreportsrunning: false, inspectdaemon.logand restart.
Files and State
Session state lives at /tmp/codex-nc-async/<name>/:
io.log: timestamped TX/RX eventsrx.raw: raw received bytesdaemon.log: daemon stdout/stderrmeta.json: session metadatapid: daemon PID
References
- For usage patterns and recovery steps, read
references/patterns.md.