- 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
31 lines
1.0 KiB
Bash
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"}]
|