This commit addresses two critical issues in the MCP server: 1. CORS Middleware Fix: - Move CORS middleware outside the auth check so it's always enabled - CORS is required for browser-based MCP clients, regardless of auth - Fixes "OPTIONS /mcp HTTP/1.1 405 Method Not Allowed" error 2. Schema Cache Improvements: - Add specific handling for corrupted JSON cache files - Automatically remove corrupted cache files and log the action - Prevents startup failures due to malformed JSON - Better error messages to help diagnose cache issues 3. Configuration Updates: - Change default SCHEMA_CACHE_DIR from /app/data/schemas to ./data/schemas - Better default for local development (Docker still uses /app/data/schemas) - Update .env.example with clearer documentation These fixes improve robustness and make local development easier.
73 lines
2.8 KiB
Text
73 lines
2.8 KiB
Text
# GeoGuessr MCP Server Configuration
|
|
# Copy this file to .env and fill in your values
|
|
|
|
# =============================================================================
|
|
# OPTIONAL: GeoGuessr Authentication
|
|
# =============================================================================
|
|
# Your GeoGuessr _ncfa cookie for API authentication
|
|
# If not set, users must authenticate using the login tool
|
|
#
|
|
# How to get your _ncfa cookie:
|
|
# 1. Log in to GeoGuessr in your browser
|
|
# 2. Open Developer Tools (F12 or Ctrl+Shift+I)
|
|
# 3. Go to the "Application" or "Storage" tab
|
|
# 4. Under "Cookies", find www.geoguessr.com
|
|
# 5. Look for the cookie named "_ncfa"
|
|
# 6. Copy its value and paste it below
|
|
#
|
|
# IMPORTANT: Keep this secret! Anyone with this cookie can access your account.
|
|
|
|
GEOGUESSR_NCFA_COOKIE=
|
|
|
|
# =============================================================================
|
|
# MCP Server Configuration
|
|
# =============================================================================
|
|
# Transport protocol: "streamable-http" (recommended) or "sse" (legacy)
|
|
MCP_TRANSPORT=streamable-http
|
|
|
|
# Host to bind to (0.0.0.0 for all interfaces)
|
|
MCP_HOST=0.0.0.0
|
|
|
|
# Port to expose the server on
|
|
MCP_PORT=8000
|
|
|
|
# =============================================================================
|
|
# MCP Server Authentication
|
|
# =============================================================================
|
|
# Enable authentication for MCP server access (true/false)
|
|
# When enabled, clients must provide a valid API key in the Authorization header
|
|
MCP_AUTH_ENABLED=false
|
|
|
|
# Comma-separated list of valid API keys for MCP server access
|
|
# Example: MCP_API_KEYS=key1,key2,key3
|
|
# Clients connect using: Authorization: Bearer YOUR_API_KEY
|
|
# Generate secure keys with: openssl rand -hex 32
|
|
MCP_API_KEYS=
|
|
|
|
# =============================================================================
|
|
# API Monitoring Configuration
|
|
# =============================================================================
|
|
# Enable automatic API endpoint monitoring
|
|
MONITORING_ENABLED=true
|
|
|
|
# How often to check API endpoints (in hours)
|
|
MONITORING_INTERVAL_HOURS=24
|
|
|
|
# Directory to store schema cache (persisted between restarts)
|
|
# Default: ./data/schemas (local dev) or /app/data/schemas (Docker)
|
|
SCHEMA_CACHE_DIR=./data/schemas
|
|
|
|
# =============================================================================
|
|
# Logging Configuration
|
|
# =============================================================================
|
|
# Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL
|
|
LOG_LEVEL=INFO
|
|
|
|
# =============================================================================
|
|
# Request Configuration
|
|
# =============================================================================
|
|
# Request timeout in seconds
|
|
REQUEST_TIMEOUT=30.0
|
|
|
|
# Maximum retry attempts for failed requests
|
|
MAX_RETRIES=3
|