Skip to main content
Glama
ohankay

mongo-mcp-simple

by ohankay

find

Read-onlyIdempotent

Query MongoDB documents with JSON filters, projections, sorting, pagination, collation, and time limits across connection profiles.

Instructions

Query documents. filter / projection / sort are JSON (Extended JSON for ObjectId, dates...). sort: {"createdAt": -1} or [["a", 1], ["b", -1]]. limit defaults to the profile's max_docs (100). collation: {"locale": "tr", "strength": 2} for Turkish case-insensitive matching: "istanbul" finds "İstanbul" (İ=i, I=ı; regex $options "i" does not fold İ/ı).

Input Schema

NameRequiredDescriptionDefault
skipNo
sortNo
limitNo
filterNo
databaseNo
collationNo
collectionYes
connectionNo
projectionNo
max_time_msNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds real value beyond that by disclosing the limit default ('profile's max_docs (100)') — a behavioral default invisible in the schema — plus the collation semantics. It still says nothing about error handling, max_time_ms behavior, or how database/connection defaults resolve.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded purpose sentence, then dense examples with no filler. The Turkish-collation digression is long but earns its space by documenting a genuinely non-obvious matching behavior; no sentence is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool with no output schema and zero schema descriptions, the definition covers the query-shaping parameters well but omits four parameters (skip, database, connection, max_time_ms) and says nothing about what a result set looks like or how pagination interacts with skip/limit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across 10 parameters, so the description must carry the load. It gives useful concrete forms for sort (both object and array-of-pairs syntax) and collation (workable locale/strength example), but leaves skip, database, connection, and max_time_ms entirely undocumented — about half the surface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb + resource ('Query documents') and immediately clarifies that filter/projection/sort are Extended JSON. It does not differentiate itself from close siblings like aggregate, count_documents, or distinct, so an agent must infer that this is the plain-find path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains syntax but never states when to choose find over aggregate, count_documents, or distinct, nor any prerequisites. With 27 sibling tools in a MongoDB server, some routing guidance would materially help selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.