MCP server that provides MongoDB tools for searching similar projects, saving proposals, finding documents, inserting documents, aggregating statistics, and listing recent proposals from a MongoDB database.
Server has 6 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-200 chars, within baseline range) and input schemas with type definitions. However, parameter descriptions are sparse or missing context. Output schemas are undocumented, LLMs cannot predict return structure. Error handling returns generic messages without recovery guidance. No tool annotations (readOnlyHint, destructiveHint). Naming is verb-forward but some tools overlap in responsibility (search_similar_projects vs find_documents). No pagination support despite MongoDB queries that could return large result sets. Average tool score: 48/100.
Get project statistics and industry match counts from MongoDB.
Find documents in a MongoDB collection. Used by Agent Builder to search similar past projects by industry filter.
Insert a generated proposal document into MongoDB.
Retrieve the most recently saved proposals.
Save a generated proposal to the 'proposals' collection.
Search the 'projects' collection in 'proposaldb' for similar past projects matching an industry. Returns up to 3 most relevant matches.
Output schemas undocumented. LLMs cannot predict return structure (e.g., list_recent_proposals returns dict with 'id', 'requirements', 'created_at', 'proposal_snippet' but this is not declared). Agents must guess field names, risking extraction errors.
Overlapping tool responsibilities. search_similar_projects and find_documents both query MongoDB collections; naming does not disambiguate when to use each. LLMs will waste reasoning cycles deciding between them.
No pagination support. find_documents and list_recent_proposals accept limit but no offset/cursor. Large result sets will blow context window. MongoDB queries can return hundreds of documents; capping at 3-5 is insufficient without pagination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Error handling lacks recovery guidance. PyMongoError exceptions return generic messages ('Database query failed', 'find_documents failed') without actionable next steps. LLMs cannot self-correct or retry intelligently.
No tool annotations. WRITE tools (save_proposal, insert_document) lack destructiveHint. READ tools lack readOnlyHint. Agents cannot determine which tools are safe to retry or have side effects.