http-entrypoint.sh•1.39 kB
#!/bin/sh
set -e
echo "Starting FastMail MCP Server (HTTP Mode)..."
# Set default values if not provided
export FASTMAIL_API_TOKEN=${FASTMAIL_API_TOKEN:-""}
export FASTMAIL_EMAIL=${FASTMAIL_EMAIL:-""}
export FASTMAIL_SEND_AS=${FASTMAIL_SEND_AS:-"${FASTMAIL_EMAIL}"}
export FASTMAIL_ALIAS_DOMAIN=${FASTMAIL_ALIAS_DOMAIN:-"fastmail.com"}
export FASTMAIL_JMAP_URL=${FASTMAIL_JMAP_URL:-"https://jmap.fastmail.com/jmap/session"}
export PORT=${PORT:-3000}
# Validate required environment variables
if [ -z "$FASTMAIL_API_TOKEN" ]; then
echo "ERROR: FASTMAIL_API_TOKEN environment variable is required"
exit 1
fi
if [ -z "$FASTMAIL_EMAIL" ]; then
echo "ERROR: FASTMAIL_EMAIL environment variable is required"
exit 1
fi
# Log configuration (without sensitive data)
echo "Configuration:"
echo " FASTMAIL_EMAIL: $FASTMAIL_EMAIL"
echo " FASTMAIL_SEND_AS: $FASTMAIL_SEND_AS"
echo " FASTMAIL_ALIAS_DOMAIN: $FASTMAIL_ALIAS_DOMAIN"
echo " FASTMAIL_JMAP_URL: $FASTMAIL_JMAP_URL"
echo " NODE_ENV: $NODE_ENV"
echo " MCP_TRANSPORT: $MCP_TRANSPORT"
echo " PORT: $PORT"
# Handle shutdown signals gracefully
cleanup() {
echo "Received shutdown signal, cleaning up..."
kill -TERM 0
wait
echo "Shutdown complete"
}
trap cleanup TERM INT
# Start the MCP server in HTTP mode
echo "Launching MCP server on HTTP transport (port $PORT)..."
exec node src/http-server.js