MCP server to bridge LLM calls via Model Context Protocol
Server has 4 tools with basic schemas and descriptions, but significant gaps limit production readiness. Tool names lack clear action verbs (llms_bridge_call_* is verbose; call_chatgpt, call_gemini, call_perplexity would be clearer). Descriptions are present but generic (194-char baseline; these average ~120 chars, borderline). Parameter descriptions exist but lack constraints, temperature accepts 0-2 but no enum/validation guidance; model defaults are vague ('gpt-5.1' does not exist in OpenAI's current API). No output schema documented. Error handling returns generic LLMBridgeResult with success flag but no recovery guidance. Tool llms_bridge_server_misconfiguration has empty input schema and vague description. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Composition is reasonable, each tool calls one LLM, but parameter naming inconsistency (web_search_context_size as string enum vs temperature as number) and missing chaining IDs (no model/usage info in structured response) reduce usability.
Call OpenAI ChatGPT API with a prompt and optional conversation history
Call Google Gemini API with a prompt and optional conversation history
Call Perplexity Sonar API with a prompt for web-search enhanced responses
Information about server configuration status
Tool llms_bridge_server_misconfiguration has empty input schema (no parameters defined) and vague description ('Information about server configuration status'). Violates pattern:tool requirement for complete schemas and actionable descriptions.
Parameter descriptions lack constraints and validation guidance. 'temperature' accepts 0-2 but no enum or range validation shown; 'model' defaults to non-existent 'gpt-5.1'; 'web_search_context_size' is string enum but not declared as such in schema. Violates pattern:constrained-input.
No output schema documented. LLMBridgeResult structure (data, success, message) is defined in code but not exposed to LLM context. Agents cannot plan downstream calls or extract usage metrics reliably. Violates pattern:tool requirement for documented return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Error handling returns generic LLMBridgeResult with success=false and error string, but no recovery guidance. 'Failed to call LLM: <error>' tells agent nothing about whether to retry, ask user, or abort. Violates pattern:recovery-guide.
Tool names use verbose prefix 'llms_bridge_' and generic verb 'call'. Names like 'call_chatgpt' lack clarity on what distinguishes them from 'call_gemini'. Baseline: 90% of A+ tools start with specific action verbs (get_, create_, search_). These are borderline.