An MCP server that bridges the gap between your applications and various LLM providers
MindBridge MCP has 3 tools with clear naming following verb_noun conventions (getSecondOpinion, listProviders, listReasoningModels). Tool descriptions are present and adequate (52-78 chars), though some lack depth about dependencies and prerequisites. The primary weakness is incomplete parameter descriptions and missing output schema documentation. The getSecondOpinion tool has a well-defined input schema with 12 parameters, all typed and constrained (enums for provider, optional flags), but lacks explicit output schema documentation. Error handling is present in code with try-catch blocks returning structured error responses, but descriptions do not guide recovery. No security concerns detected (no API keys exposed as parameters; config-based injection via ProviderFactory pattern). Tool composition is reasonable but could be tighter, listProviders and listReasoningModels duplicate some functionality and should consolidate output structure.
Get responses from various LLM providers
List all configured LLM providers and their available models
List all available models that support reasoning capabilities
Output schemas not documented for any tool. LLMs cannot plan downstream tool calls or extract fields without knowing response structure.
Parameter descriptions for getSecondOpinion lack format guidance and range constraints. E.g., temperature is '0-1' but description does not state this; top_p and top_k lack ranges; maxTokens defaults to 1024 but no upper bound documented.
listProviders and listReasoningModels have minimal descriptions (50 and 45 chars respectively, below the 72-char baseline for param descriptions). They do not explain WHEN to call each vs. the other, or what the response structure is.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
No recovery guidance in error messages. Errors in src/server.ts return descriptive text (e.g., 'Provider not configured. Available providers: X, Y, Z'), but tool descriptions do not hint at recovery steps like 'Call listProviders() first to see available options.'
Functional overlap between listProviders (returns all providers and models) and listReasoningModels (returns only reasoning-capable models). Tool descriptions do not clarify when to use each; agents may call both redundantly.