Server has 5 tools with basic schemas and descriptions, but significant gaps prevent production use. Tool names are clear (getCollections, getCollection, insertOne, deleteOne, aggregate), but descriptions lack depth on WHEN to use each tool and what distinguishes them. Parameter descriptions exist but are minimal (10-30 chars). Critical issue: no output schemas documented, LLMs cannot plan downstream calls. Error handling returns raw error strings with no recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Schemas use Zod but lack proper JSON Schema export with constraints. The aggregate tool's pipeline schema is overly permissive (z.any() for most fields) and does not enforce MongoDB operator semantics.
Executes a MongoDB aggregation pipeline on a specified collection
Deletes a single document from a specified MongoDB collection matching the provided query
Retrieves documents from a specified MongoDB collection with optional filtering, projection, and limit
Retrieves a list of all collections in the connected MongoDB database
Inserts a single document into a specified MongoDB collection
No output schemas documented. LLMs cannot infer what fields are returned or plan downstream tool calls. E.g., getCollection returns raw JSON strings; aggregate returns success text only.
Error handling returns raw error strings ('Error: ' + error) with no recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE). Agents cannot distinguish safe from dangerous operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Parameter descriptions are minimal (10-30 chars). 'MongoDB query filter (optional)' lacks format guidance. LLMs cannot infer valid MongoDB query syntax or constraints.
aggregate tool's pipeline schema uses z.any() for most operators, permitting invalid MongoDB syntax. No validation that each stage contains exactly one operator (refine check exists but is not enforced at runtime).