legacy-mongodb-mcp (Webxspark/legacy-mongodb-mcp) is an MCP server listed on the M8ven Trust Index. It scores 69 out of 100, grade C. It declares 13 tools. No publisher has claimed this listing.

C
Caution
69/100

legacy-mongodb-mcp

Provides read-only access to legacy MongoDB instances (<4.0) via the Model Context Protocol, enabling AI models to query databases, collections, and run aggregations safely.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

Webxspark

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Tool descriptions don’t match what handlers do
1 tool describes read intent but its handler mutates — export_data (line 1046: with open(filepath, 'w', encoding='utf-8') as f:)
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
// tools this server exposes13 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

list_databases

List all databases for a MongoDB connection. Returns: JSON object with array of database names, sizes, and total size

list_collections

List all collections for a given database. Args: database: Database name Returns: JSON object with array of collection names

find

Run a find query against a MongoDB collection. Args: database: Database name collection: Collection name filter: The query filter, matching the syntax of db.collection.find() projection: The projection, matching the syntax of db.collection.find() limit: The maximum number of documents to return (def

count

Gets the number of documents in a MongoDB collection. Uses db.collection.count() with query as an optional filter parameter. Args: database: Database name collection: Collection name query: Optional filter to count matching documents Returns: JSON object with document count

aggregate

Run an aggregation against a MongoDB collection. Note: $vectorSearch is NOT supported in legacy MongoDB (<4.0). Args: database: Database name collection: Collection name pipeline: An array of aggregation stages to execute responseBytesLimit: Maximum bytes to return in response Returns: JSON object w

collection_indexes

Describe the indexes for a collection. Args: database: Database name collection: Collection name Returns: JSON object with array of index definitions

collection_schema

Describe the schema for a collection by sampling documents. Args: database: Database name collection: Collection name sampleSize: Number of documents to sample for schema inference (default: 50) responseBytesLimit: Maximum bytes to return in response Returns: Inferred schema with field types and sta

collection_storage_size

Gets the size of the collection. Args: database: Database name collection: Collection name Returns: Collection storage statistics

db_stats

Returns statistics that reflect the use state of a single database. Args: database: Database name Returns: Database statistics

explain

Returns statistics describing the execution of the winning plan chosen by the query optimizer. Args: database: Database name collection: Collection name method: The method and its arguments to run as a 2-element array: [method_name, args_dict] where method_name is "find", "aggregate", or "count" Exa

export_data

Export a query or aggregation results in the specified EJSON format. Args: database: Database name collection: Collection name exportTitle: A short description to uniquely identify the export exportTarget: The export target as a 2-element array: [target_name, args_dict] where target_name is "find" o

mongodb_logs

Returns the most recent logged mongod events. Args: type: The type of logs to return (global or startupWarnings) limit: The maximum number of log entries to return (default: 50, max: 1024) Returns: Array of log entries

get_server_config

Get the current server configuration (with sensitive data redacted). Returns: Server configuration and connection status

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configMDB_MCP_READ_ONLYNo true Enable read-only mode (always true for this server)
configMDB_MCP_INDEX_CHECKNo false Reject queries that don't use an index
configMDB_MCP_MAX_DOCUMENTS_PER_QUERYNo 100 Maximum documents per query
configMDB_MCP_MAX_BYTES_PER_QUERYNo 16777216 Maximum response bytes (16MB)
configMDB_MCP_LOG_LEVELNo INFO Logging level (DEBUG, INFO, WARNING, ERROR)
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployMDB_MCP_CONNECTION_STRING
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

13/13 tools missing one or more hints — list_databases (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_collections (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); find (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +10 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Descriptions match behaviour

1 tool describes read intent but its handler mutates — export_data (line 1046: with open(filepath, 'w', encoding='utf-8') as f:)

Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.

Tool inputs are validated

11/13 tool handlers declare input schemas (85%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool handlers catch errors

12/13 tool handlers wrap calls in try/catch (92%)

Wrap each tool handler body in try/catch and return a structured error response.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Tests exist

No test files found

Add tests that exercise each declared tool.

Tool description accuracy

export_data: description implies read-only but handler writes/deletes/executes

Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 8 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/webxspark/legacy-mongodb-mcp?variant=verified)](https://m8ven.ai/mcp/webxspark/legacy-mongodb-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 70248c1aff986fc3231e6e815fe3ebc283c27ee7
code hash: 57a776c7ca5cf979fd7b7eb3a42b9538c9bc44646b54f972746006debabe810f
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client