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

C
Caution
64/100

mongodb-mcp

MCP server for comprehensive MongoDB integration, enabling database operations, document management, schema analysis, and query tools.

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

VitalyOstanin

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 annotations don’t match behaviour
3 read-only tools perform write/delete/exec — collection-schema (line 211: writeFile(filePath, JSON.stringify(response, null, 2), { encoding: 'utf8', flag: 'wx' })); explain (line 113: writeFile(filePath, JSON.stringify(explainResult, null, 2), { encoding: 'utf8', flag: 'wx' })); mongodb-logs (line 59: writeFile(filePath, JSON.stringify(resultData, null, 2), { encoding: 'utf8', flag: 'wx' }))
⚠️
Tool descriptions don’t match what handlers do
2 tools describe read intent but their handlers mutate — collection-schema (line 211: writeFile(filePath, JSON.stringify(response, null, 2), { encoding: 'utf8', flag: 'wx' })); explain (line 113: writeFile(filePath, JSON.stringify(explainResult, null, 2), { encoding: 'utf8', flag: 'wx' }))
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
// tools this server exposes21 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.

aggregate

Run an aggregation against a MongoDB collection

collection-indexes

Describe the indexes for a collection

collection-schema

Describe the schema for a collection by sampling documents

collection-storage-size

Get storage size of a specific collection

connect

Establish connection to MongoDB using connection string from environment variable MONGODB_MCP_CONNECTION_STRING. Call service-info first to check current connection status.

count

Gets the number of documents in a MongoDB collection using db.collection.count() and query as an optional filter parameter

create-collection

Create a new collection in a MongoDB database. Use for: Creating new collections with optional configuration.

create-index

Create an index on a MongoDB collection. Use for: Improving query performance by creating indexes on collection fields.

db-stats

Get statistics for a specific database

delete

Delete one or multiple documents from a MongoDB collection. Use for: Removing records from MongoDB collections. Bulk deletes (multi=true) require an explicit confirmation literal.

disconnect

Disconnect from MongoDB and clear the connection. Use service-info to check connection status after disconnecting.

drop-collection

Drop a collection from a MongoDB database. Use for: Removing collections that are no longer needed. Requires the confirmation literal to be passed explicitly to prevent accidental data loss.

drop-index

Drop an index from a MongoDB collection. Use for: Removing indexes that are no longer needed or causing performance issues. Requires the confirmation literal to be passed explicitly.

explain

Returns statistics describing the execution of the winning plan chosen by the query optimizer for the evaluated method

find

Run a find query against a MongoDB collection. IMPORTANT: Before using this tool, consider running the collection-schema tool to determine the correct field names in the collection. When using date ranges, account for the server timezone. For example, when querying records for a specific date, set t

insert

Insert one or multiple documents into a MongoDB collection. Use for: Adding new records to MongoDB collections.

list-collections

List all collections in a specific database

list-databases

List all databases in the MongoDB instance

mongodb-logs

Returns the most recent logged mongod events

service-info

Get MongoDB service information and current connection status

update

Update one or multiple documents in a MongoDB collection. Use for: Modifying existing records in MongoDB collections.

// 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.
configMONGODB_MCP_EXPORT_DIR
configMONGODB_MCP_TIMEZONEoptional timezone for date operations (default: Europe/Moscow), must be a valid IANA timezone identifier (e.g., Europe/London, America/New_York, Asia/Tokyo)
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployMONGODB_MCP_CONNECTION_STRING
// quality suggestions

Tool annotations

18/21 tools have annotations

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

All four hints declared on every tool

14/21 tools missing one or more hints — aggregate (missing: destructiveHint, openWorldHint); collection-indexes (missing: destructiveHint, idempotentHint, openWorldHint); collection-schema (missing: destructiveHint, idempotentHint, openWorldHint), +11 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.

Tool annotations match behaviour

3 read-only tools perform write/delete/exec — collection-schema (line 211: writeFile(filePath, JSON.stringify(response, null, 2), { encoding: 'utf8', flag: 'wx' })); explain (line 113: writeFile(filePath, JSON.stringify(explainResult, null, 2), { encoding: 'utf8', flag: 'wx' })); mongodb-logs (line 59: writeFile(filePath, JSON.stringify(resultData, null, 2), { encoding: 'utf8', flag: 'wx' }))

Either remove the readOnlyHint:true annotation, or remove the write/delete call from the tool handler.

Descriptions match behaviour

2 tools describe read intent but their handlers mutate — collection-schema (line 211: writeFile(filePath, JSON.stringify(response, null, 2), { encoding: 'utf8', flag: 'wx' })); explain (line 113: writeFile(filePath, JSON.stringify(explainResult, null, 2), { encoding: 'utf8', flag: 'wx' }))

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

Tool inputs are validated

Only 0/21 tool handlers declare input schemas (0%)

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

Tool handlers catch errors

20/21 tool handlers wrap calls in try/catch (95%)

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

Tool description accuracy

explain: 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 7 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/vitalyostanin/mongodb-mcp?variant=verified)](https://m8ven.ai/mcp/vitalyostanin/mongodb-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: f335842dad1873ad49e65a26ad0fda9a5afed8f9
code hash: ea29e1025314dd3d4984d1a5bf8a1286d9342411d3bab9aa4092c02019924e33
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