---
title: TOOL-ROUTING — Task-Typ → Werkzeug → Fallback
type: system
tags: [root, tools, routing]
date: 2026-07-08
status: aktiv
related: [[TOOLS]], [[01-Projekte/aria-brain-os-audit/drafts/AUTONOMY-BOUNDARIES]]
---


# TOOL-ROUTING — Decision Matrix

> Owner-Frage: „Welches Werkzeug für Task X, und was, wenn es ausfällt?" · Wartungs-Trigger: Stack-Änderung, neuer MCP, neuer Ausfall-Lernfall.
> Stufe = Autonomie-Stufe aus AUTONOMY-BOUNDARIES.

| Task-Typ | Primär | Fallback | Stufe | Daten-Grenze |
|---|---|---|---|---|
| GitHub (PR/Merge/Checks) | `gh`-CLI (Account KADiCon) | keiner — bei gh-Ausfall stoppen | 1–3 | nur KADiCon-Repos pushen |
| Linear/KAR | Linear-MCP (wenn auth'd) | GraphQL mit LINEAR_API_KEY (aria/.env) | 1 | keine Secrets/privaten Inhalte in Tickets |
| Telegram-Reply | `mcp__plugin_telegram_telegram__reply`, markdownv2 | **Bot-API-curl** (Token: channels/telegram/.env) — MCP trennt sich erfahrungsgemäß mid-session | 1 | keine Secret-Werte (jsonl-Leak) |
| Aria-DB (Chat-Log etc.) | Supabase REST (ARIA_SUPABASE_*) | lokale SQLite ~/.aria-chat.db | 1 | privat |
| Kadi-v2-DB | PostgREST + Service-Key, NUR DML | DDL unmöglich — operator-applied via Kais (SQL+Rollback als TG-Datei) | 4 (DDL) | BMW-intern; nie in externe Tools |
| Web-Recherche | WebSearch/WebFetch; tief: deep-research-Skill | — | 1 | keine privaten/BMW-Daten in Queries |
| Bild-Generierung | nano-banana (Gemini, gemini.env) | keiner (429 limit:0 = Billing, Kais-Thema) | 1 | keine BMW-Assets hochladen |
| Browser-Automation | gstack (Kadi-v2-Gate) / agent-browser | — | 1–2 | Login-Seiten: keine Credential-Eingabe ohne Stufe 4 |
| Video-Analyse | claude-watch | Drive-Videos: Download → claude-watch | 1 | — |
| Datei an Kais | TG reply files:[…] | Bot-API sendDocument (curl) | 1 | Migration-SQL IMMER als Datei |
| Vercel/Deploy | VERCEL_TOKEN-API; Verify /v6/deployments | Webhook-Drop: manuell POST /v13/deployments | 3–4 | — |
| Google Drive | claude.ai-Connector read_file_content (OCRt) | deaktiviert wenn ANTHROPIC_API_KEY gesetzt — dann Kais bitten | 1 | read-only allowlisted |
| Design | Canva-MCP (editing-transaction, nie nur generate-design) / Figma-MCP | — | 1–2 | BMW-Fonts nur Kais-Hosting |
| Riskante Shell (curl\|bash, fremde Pakete) | aria-sandbox-run.sh ZUERST | — | 2 | — |

## MCP-Runbook (Stand 08.07.2026)

- **Re-Auth nötig (linear/supabase/vercel):** `/mcp` in der Session → OAuth-Link an Kais; bis dahin Fallback-Spalte nutzen.
- **github-MCP:** entfernen — gh-CLI ist kanonisch, der Dauer-failed-Eintrag ist Rauschen. (`claude mcp remove github`)
- **google-workspace-Eintrag in settings.json:** löschen — Startskript existiert nicht (Geister-Config).
- **Telegram-MCP-Trennung mid-session:** bekanntes Muster (Memory feedback_mcp_add_drops_telegram_tools) → sofort Bot-API-curl, nicht warten.
