#!/usr/bin/env bash # Talks to the fat jar the way Claude Desktop does: newline-delimited JSON-RPC on stdin, responses on stdout. # Usage: scripts/raw-stdio.sh (run `mvn -pl mcp-sdk-plain package` first) set -eu cd "$(dirname "$0")/.." OUT=output/05-fat-jar-raw-stdio.txt { echo '$ printf <3 JSON-RPC lines> | java -jar target/mcp-sdk-plain.jar stdio' ( printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"raw","version":"0"}}}' printf '%s\n' '{"jsonrpc":"2.0","method":"notifications/initialized"}' printf '%s\n' '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"word_stats","arguments":{"text":"one two three"}}}' sleep 3 ) | java -jar target/mcp-sdk-plain.jar stdio 2>/dev/null } > "$OUT" cat "$OUT"