Model Bridge MCP has 13 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names follow verb_noun convention (ask_*, get_*, resolve_*, select_*, compute_, collect_). However, descriptions are often vague or task-focused rather than LLM-optimized. Example: 'ask_chatgpt_cli' describes 'Coding Task: Codex -> Gemini -> Ollama', this is implementation detail, not user intent. Parameters are well-typed (string, boolean, integer) with descriptions, but lack constraints (enums, ranges, patterns). No output schemas documented. Error handling is minimal, no recovery guidance or categorization. Security: tool parameters include 'save_path' (file I/O) and model selection, but no evidence of input sanitization or permission gates in visible code. Composition: 5 similar 'ask_*' tools (ask_chatgpt_cli, ask_gemini_cli, ask_ollama, ask_claude_code, ask_agy_cli) with nearly identical parameters, LLMs will struggle to disambiguate. 8 utility tools (get_*, resolve_*, select_*, compute_, collect_) are well-scoped but lack context on when to call them.
AGY CLI Task with failover support
Coding Task: Codex -> Gemini -> Ollama
Claude Code Task with reasoning support
Analysis Task: Gemini -> Codex -> Ollama
Local/Offline Task. IF Ollama is offline/unreachable, it will AUTOMATICALLY Failover to Codex -> Gemini.
Collect system resource information (RAM, VRAM, CPU)
Compute recommended batch concurrency for Ollama based on system resources
Five 'ask_*' tools (ask_chatgpt_cli, ask_gemini_cli, ask_ollama, ask_claude_code, ask_agy_cli) have nearly identical parameter sets and vague descriptions. LLMs cannot reliably distinguish when to use each. Descriptions like 'Coding Task: Codex -> Gemini -> Ollama' expose implementation detail rather than user intent.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Example: does get_runtime_health return {status, providers[], errors[]}? Unknown.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
List all installed Ollama models on the local system
Retrieve the last error messages from the failover buffer
Get health status of all configured providers and runtime
Resolve the fallback chain for a given Ollama model
Resolve an Ollama model name or alias to its canonical model identifier
Select an appropriate Ollama model alias based on system resources
Parameters lack constraints. 'reasoning_effort' accepts string but no enum values documented (low|medium|high?). 'response_format' accepts string but valid options unknown. 'verbosity' described as 'brief, normal, or detailed' in text but not enforced as enum.
No error handling guidance. If a model fails or is unreachable, what does the LLM see? No recovery hints, categorization (retryable vs fatal), or actionable error messages visible in code.
File I/O via 'save_path' parameter exposes path traversal risk. No evidence of input sanitization or permission checks. SecuritySanitizer exists but unclear if applied to save_path.