DB_PATH="${1:-../db/skraak.duckdb}"
if [ ! -f "$DB_PATH" ]; then
echo "Error: Database not found at $DB_PATH" >&2
exit 1
fi
echo "=== Testing All MCP Prompts ===" >&2
echo "Database: $DB_PATH" >&2
echo "" >&2
{
echo "=== 1. Initialize ===" >&2
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}'
sleep 0.2
echo "" >&2
echo "=== 2. List Prompts ===" >&2
echo '{"jsonrpc":"2.0","id":2,"method":"prompts/list","params":{}}'
sleep 0.2
echo "" >&2
echo "=== 3. Get query_active_datasets ===" >&2
echo '{"jsonrpc":"2.0","id":3,"method":"prompts/get","params":{"name":"query_active_datasets","arguments":{}}}'
sleep 0.2
echo "" >&2
echo "=== 4. Get explore_database_schema (overview) ===" >&2
echo '{"jsonrpc":"2.0","id":4,"method":"prompts/get","params":{"name":"explore_database_schema","arguments":{"focus_area":"overview"}}}'
sleep 0.2
echo "" >&2
echo "=== 5. Get explore_location_hierarchy (no args) ===" >&2
echo '{"jsonrpc":"2.0","id":5,"method":"prompts/get","params":{"name":"explore_location_hierarchy","arguments":{}}}'
sleep 0.2
echo "" >&2
echo "=== 6. Get explore_location_hierarchy (with dataset_id) ===" >&2
echo '{"jsonrpc":"2.0","id":6,"method":"prompts/get","params":{"name":"explore_location_hierarchy","arguments":{"dataset_id":"vgIr9JSH_lFj"}}}'
sleep 0.2
echo "" >&2
echo "=== 7. Get query_location_data ===" >&2
echo '{"jsonrpc":"2.0","id":7,"method":"prompts/get","params":{"name":"query_location_data","arguments":{}}}'
sleep 0.2
echo "" >&2
echo "=== 8. Get analyze_cluster_files (with cluster_id) ===" >&2
echo '{"jsonrpc":"2.0","id":8,"method":"prompts/get","params":{"name":"analyze_cluster_files","arguments":{"cluster_id":"oNI9jqszP4Bk"}}}'
sleep 0.2
echo "" >&2
echo "=== 9. Get system_status_check ===" >&2
echo '{"jsonrpc":"2.0","id":9,"method":"prompts/get","params":{"name":"system_status_check","arguments":{}}}'
sleep 0.2
echo "" >&2
echo "=== 10. Test Error Handling (analyze_cluster_files without cluster_id) ===" >&2
echo '{"jsonrpc":"2.0","id":10,"method":"prompts/get","params":{"name":"analyze_cluster_files","arguments":{}}}'
sleep 0.2
} | ../skraak_mcp "$DB_PATH" 2>/dev/null