Files
Shane 045ddabac7 feat: web access via MCP (Firecrawl search/scrape) + mcp server attach support
- agent/web_mcp.py: stdio MCP server exposing web_search and web_scrape,
  backed by the self-hosted Firecrawl stack on xNAS (no API key needed)
- agent.py: Agent now attaches mcp_servers built from config; EXTRA_MCP_SERVERS
  env var allows adding arbitrary HTTP/SSE MCP servers as JSON
- Dockerfile: installs livekit-agents[mcp], copies web_mcp.py
- .env.example: WEB_MCP_ENABLED, FIRECRAWL_BASE, EXTRA_MCP_SERVERS documented
2026-08-22 12:29:04 -04:00

31 lines
1.0 KiB
Bash

# Azure Speech (required)
AZURE_SPEECH_KEY=your-azure-speech-key
AZURE_SPEECH_REGION=eastus
# Default TTS voice (any Azure Neural voice)
AZURE_TTS_VOICE=en-US-AvaNeural
# LLM (Gemma on xNAS via llama.cpp, OpenAI-compatible)
GEMMA_BASE_URL=http://192.168.86.2:8023/v1
GEMMA_MODEL=gemma-4-e4b
GEMMA_API_KEY=not-needed
# LiveKit (generated in livekit.yaml, referenced here for the agent)
LIVEKIT_URL=http://localhost:7880
LIVEKIT_API_KEY=devkey
LIVEKIT_API_SECRET=devsecret
# Web UI port
WEB_PORT=8090
# ── Web access (MCP tools: web_search + web_scrape) ────────────────────────
# Backed by the self-hosted Firecrawl stack on xNAS.
WEB_MCP_ENABLED=true
FIRECRAWL_BASE=http://192.168.86.2:3002
# Only needed if your Firecrawl instance requires an API key
# FIRECRAWL_API_KEY=
# Extra MCP servers (optional). JSON list of {url, transport} objects.
# transport: "sse" | "streamable_http" | omit for auto-detect
# EXTRA_MCP_SERVERS=[{"url":"http://192.168.86.2:3001/mcp","transport":"streamable_http"}]