FastMCP 3.2 unified gateway for Google AI cloud services + local LeWorldModel (LeWM) bridge. Chat, images, video, music, speech, embeddings — plus world model planning via local lewm-mcp proxy.
# Install deps
uv sync --extra test --extra dev
npm --prefix webapp ci
# Start backend + frontend
.\start.ps1
# E2E audit (headless, zero clicks)
just e2e- Frontend: http://127.0.0.1:11015
- Backend API: http://127.0.0.1:11014
- API Docs: http://127.0.0.1:11014/api/docs
- MCP HTTP: http://127.0.0.1:11014/mcp
| Service | Model | Requires |
|---|---|---|
| Chat | Gemini 3.1 Pro, Gemma 4 | GOOGLE_API_KEY |
| Image | Nano Banana 2 / Pro | GOOGLE_API_KEY |
| Video | Veo 3.1 Preview | GOOGLE_CLOUD_PROJECT |
| Music | Lyria 3 Pro / Clip | GOOGLE_CLOUD_PROJECT |
| Speech | Gemini TTS (one-shot) | GOOGLE_API_KEY |
| Embeddings | gemini-embedding-001 | GOOGLE_API_KEY |
| World Model (LeWM bridge) | LeWorldModel JEPA | lewm-mcp on port 10927 |
All Google services fall back to mock mode when credentials are missing. LeWM proxied via httpx to lewm-mcp.
| Capability | google-ai-mcp | speech-mcp |
|---|---|---|
| One-shot Gemini TTS | Yes (google_ai_speech, /speech UI) |
Yes |
| Gemini Live (WebSocket) | No — link only | Yes |
| Streaming STT / Chirp / FunASR | No | Yes |
| ElevenLabs / fleet voice tools | No | Yes |
Use google-ai-mcp for multimodal Google AI (chat, image, video, music, Omni, embeddings). Run speech-mcp when you need real-time voice agents — do not duplicate that stack here.
| Tool | Operations |
|---|---|
google_ai_chat |
chat, list_models |
google_ai_image |
generate, list_models |
google_ai_video |
generate, list_models |
google_ai_omni |
generate, list_models |
google_ai_music |
generate, list_models |
google_ai_speech |
tts, list_voices, list_models |
google_ai_embeddings |
embed, list_models |
google_ai_world |
health, train_prepare, infer_prepare, surprise_stub |
google_ai_status |
Health check all services |
show_google_ai_status_card |
Prefab UI card |
$env:GOOGLE_API_KEY = "your-api-key"
$env:GOOGLE_CLOUD_PROJECT = "your-project-id"
$env:LEWM_API_URL = "http://127.0.0.1:10927" # defaults to thisjust e2e
# Runs: clear zombies → start servers → 9 E2E tests → console probe → API health
# Fleet auditor at mcp-central-docs/scripts/playwright-audit.ps1docker compose up -duv run pytest tests/ -q # 17 backend tests
npx playwright test # 9 E2E tests (via just e2e)just mcpb-pack
# Output: dist/google-ai-mcp.mcpbDrag dist/google-ai-mcp.mcpb onto Claude Desktop, or:
npx @anthropic-ai/mcpb install https://github.com/sandraschi/google-ai-mcpRequires Python 3.12+ with dependencies (or uv sync in the repo). Set GOOGLE_API_KEY when prompted.
just build-native
# Installer: native/target/release/bundle/nsis/Google AI MCP_0.1.0_x64-setup.exeBundles React dist/ + PyInstaller backend sidecar. First run generates Tauri icons from assets/icon.png if needed.