Skip to main content
Glama

Readwise MCP Server

by IAmAlexander
server-utils.sh2.53 kB
#!/bin/bash # Server utilities for test scripts # Start server in stdio mode start_server_stdio() { local port=$1 local log_file="mcp-stdio-server-$port.log" echo "Starting MCP server on port $port (stdio transport)..." echo "Logging to $log_file" cd "$ROOT_DIR" node dist/mcp-cli.js --port $port > "$log_file" 2>&1 & echo $! > "server-$port.pid" return $! } # Start server in SSE mode start_server_sse() { local port=$1 local log_file="mcp-sse-server-$port.log" echo "Starting MCP server on port $port (SSE transport)..." echo "Logging to $log_file" cd "$ROOT_DIR" node dist/mcp-cli.js --port $port --transport sse > "$log_file" 2>&1 & echo $! > "server-$port.pid" return $! } # Wait for server to be ready wait_for_server_ready() { local port=$1 local timeout=${2:-30} local start_time=$(date +%s) local current_time local elapsed_time echo "Waiting for server on port $port to be ready (timeout: ${timeout}s)..." while true; do current_time=$(date +%s) elapsed_time=$((current_time - start_time)) if [ $elapsed_time -ge $timeout ]; then echo "Timed out waiting for server to be ready" return 1 fi if curl -s "http://localhost:$port/health" | grep -q '"status":"ok"'; then echo "Server is ready (after ${elapsed_time}s)" return 0 fi sleep 1 done } # Check server health check_server_health() { local port=$1 echo "Checking server health on port $port..." local response=$(curl -s "http://localhost:$port/health") echo "Health check response:" format_json "$response" if echo "$response" | grep -q '"status":"ok"'; then echo -e "${GREEN}✅ Server health check passed${NC}" return 0 else echo -e "${RED}❌ Server health check failed${NC}" return 1 fi } # Execute tool and check response execute_tool() { local port=$1 local tool_name=$2 local params=${3:-"{}"} echo "Executing tool: $tool_name" local response=$(curl -s -X POST "http://localhost:$port/tool/$tool_name" \ -H "Content-Type: application/json" \ -d "{\"params\": $params}") echo "Response from $tool_name tool:" format_json "$response" # Check if the response doesn't contain an error if ! echo "$response" | grep -q '"error"' || echo "$response" | grep -q '"result"'; then echo -e "${GREEN}✅ $tool_name tool executed successfully${NC}" return 0 else echo -e "${RED}❌ $tool_name tool execution failed${NC}" return 1 fi }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IAmAlexander/readwise-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server