# Zendesk MCP Server Configuration # Copy this file to .env and fill in your actual values # Required: Zendesk Configuration # Your Zendesk subdomain (e.g., "mycompany" for mycompany.zendesk.com) ZENDESK_SUBDOMAIN=your-subdomain-here # ────────────────────────────────────────────────────────────────── # Authentication — choose ONE of the two modes below. # The server auto-detects which mode to use based on which vars are set. # ────────────────────────────────────────────────────────────────── # Option A: API Token + Stdio (for MCP clients like Claude Code / Cursor) # Get your API token from: Zendesk Admin Center → Apps and integrations → APIs → Zendesk API # ZENDESK_EMAIL=your-email@example.com # ZENDESK_API_TOKEN=your-api-token # Option B: OAuth 2.1 + HTTP (for web-based MCP clients) # Get these from: Zendesk Admin Center → Apps and integrations → APIs → OAuth clients ZENDESK_OAUTH_CLIENT_ID=your_oauth_client_id ZENDESK_OAUTH_CLIENT_SECRET=your_oauth_client_secret ZENDESK_OAUTH_REDIRECT_URI=http://localhost:3030/zendesk/oauth/callback # Optional: Server Configuration # PORT=3030 # SERVER_BASE_URL=http://localhost:3030 # Use https:// in production # Optional: Tool Mode # Controls which tools are exposed to reduce context usage # - "full" (default): All 55 tools available # - "lite": Only 10 essential tools (search, tickets, comments, attachments, AI analysis) # MODE=lite # Optional: Read-Only Mode # Blocks every write to Zendesk. Truthy values: "true" or "1" # - Unregisters all create_*/update_*/delete_* tools # - Keeps add_ticket_comment for internal (agent-only) notes; public replies are refused # - Also enforced in the HTTP client, so no write can reach the API by another route # READ_ONLY=true # Optional: Strict Read-Only Mode # Adds to READ_ONLY by also removing the internal-note write path: # - Unregisters add_ticket_comment (27 tools in full mode, 9 in lite) # - request() then permits GET and nothing else # Separate from READ_ONLY because one READ_ONLY=true is often shared across # several MCP servers, some of which treat an unrecognised value as false # READ_ONLY_STRICT=true # Optional: Anthropic API Key # Required only for the analyze_ticket_documents feature # Get from: https://console.anthropic.com/settings/keys ANTHROPIC_API_KEY=sk-ant-api03-your-key-here # Optional: Document Converter API Configuration # External API for converting Office documents to PDF # Default URL: https://converter.sshadows.dk/forms/libreoffice/convert # CONVERTER_API_URL=https://converter.sshadows.dk/forms/libreoffice/convert # API key for the converter service (default provided) # CONVERTER_API_KEY=80871ed2aec470637b7fc0b44d03946b36512268905ce460a7dc35d17b416168 # Note: Never commit your actual .env file to version control! # The .env file is already in .gitignore for your protection.