BLOCKSCOUT_BS_API_KEY=""
BLOCKSCOUT_BENS_URL="https://bens.services.blockscout.com"
BLOCKSCOUT_CHAINSCOUT_URL="http://chains.blockscout.com"
BLOCKSCOUT_BS_TIMEOUT=120.0
BLOCKSCOUT_BENS_TIMEOUT=30.0
BLOCKSCOUT_CHAINSCOUT_TIMEOUT=15.0
BLOCKSCOUT_CHAIN_CACHE_TTL_SECONDS=1800
BLOCKSCOUT_CHAINS_LIST_TTL_SECONDS=300
BLOCKSCOUT_PROGRESS_INTERVAL_SECONDS="15.0"
# Server Configuration
# Maximum allowed size (in characters) for raw JSON responses from direct_api_call
# Defaults to 100000.
BLOCKSCOUT_DIRECT_API_RESPONSE_SIZE_LIMIT=100000
# Contracts Cache
BLOCKSCOUT_CONTRACTS_CACHE_MAX_NUMBER=10
BLOCKSCOUT_CONTRACTS_CACHE_TTL_SECONDS=3600
BLOCKSCOUT_BS_REQUEST_MAX_RETRIES="3"
# The number of items to return per page for the nft_tokens_by_address tool.
BLOCKSCOUT_NFT_PAGE_SIZE=10
# The number of log items to return per page for get_address_logs and get_transaction_logs.
BLOCKSCOUT_LOGS_PAGE_SIZE=10
# The number of items to return per page for tools using the advanced filters endpoint.
BLOCKSCOUT_ADVANCED_FILTERS_PAGE_SIZE=10
BLOCKSCOUT_METADATA_URL="https://metadata.services.blockscout.com"
BLOCKSCOUT_METADATA_TIMEOUT="30.0"
# RPC connection pool configuration
# Increase the connection limit for high-throughput workloads or reduce it on
# resource-constrained environments. Extend the timeout if the Blockscout RPC
# endpoint responds slowly.
BLOCKSCOUT_RPC_REQUEST_TIMEOUT=60.0
BLOCKSCOUT_RPC_POOL_PER_HOST=50
# Customizes the leading part of the User-Agent header sent to Blockscout RPC.
# The server version is appended automatically.
BLOCKSCOUT_MCP_USER_AGENT="Blockscout MCP"
# Optional Mixpanel analytics (HTTP mode only). Set token to enable; leave empty to disable.
# Use API host for regional endpoints (e.g., EU). No tracking occurs in stdio mode.
BLOCKSCOUT_MIXPANEL_TOKEN=""
BLOCKSCOUT_MIXPANEL_API_HOST=""
# Disable community telemetry reporting.
BLOCKSCOUT_DISABLE_COMMUNITY_TELEMETRY=false
# Annotate MCP client name with an allowlisted intermediary when running in HTTP mode.
BLOCKSCOUT_INTERMEDIARY_HEADER="Blockscout-MCP-Intermediary"
BLOCKSCOUT_INTERMEDIARY_ALLOWLIST="ClaudeDesktop,HigressPlugin,EvaluationSuite"
# The transport mode for the server.
# Options: "stdio" (default), "http".
# This allows running the server in HTTP mode without CLI flags, which is useful for container environments.
# The --http CLI flag will always take precedence if provided.
# BLOCKSCOUT_MCP_TRANSPORT="stdio"
# Development/Testing: Enable plain JSON responses in HTTP mode (disables SSE and progress notifications).
# Default: false (production-ready with SSE support).
# Set to true for easier testing with curl, Insomnia, or similar HTTP clients.
BLOCKSCOUT_DEV_JSON_RESPONSE=false
# DNS Rebinding Protection (for tunneling via ngrok, etc.)
# The Python MCP SDK enforces DNS rebinding protection to prevent security vulnerabilities.
# When tunneling the server through ngrok for development/testing, configure these variables
# with comma-separated lists of allowed hosts and origins.
# When empty, protection is auto-detected based on the bind host (enabled for localhost, disabled otherwise).
# Supports :* suffix for port wildcards (e.g., "example.com:*" matches any port).
# Example: BLOCKSCOUT_MCP_ALLOWED_HOSTS="abc123.ngrok-free.app"
# Example: BLOCKSCOUT_MCP_ALLOWED_ORIGINS="https://abc123.ngrok-free.app"
# More details: https://github.com/openai/openai-apps-sdk-examples/blob/main/README.md#testing-in-chatgpt
BLOCKSCOUT_MCP_ALLOWED_HOSTS=""
BLOCKSCOUT_MCP_ALLOWED_ORIGINS=""