MongoDB
Connect to a cloud-hosted MongoDB database and run queries, inserts, updates, deletes, aggregations, index management, Atlas Search, and Vector Search. Export results as CSV or JSON files. Supports MongoDB Atlas and any publicly accessible MongoDB instance.
Permissions
Access is controlled by a permissions array injected by the platform:
read(default if omitted): find, count, list, aggregate, distinctwrite: insert, update, replace, find_one_and_update, bulk_writedelete: delete documents, find_one_and_deleteadmin: indexes, search indexes, create/drop collection, run_command
Output Modes
find_documents and aggregate support an output array:
["inline"](default): return documents in the response["export"]: save results as a file (CSV or JSON)["inline", "export"]: both
Use export_format to choose csv or json (default: json).
Read Actions
find_documents
Required: database, collection
Optional: filter, projection, sort ([[field, 1/-1]]), limit (1-1000, default 20), skip, output, export_format
Example: {"action":"find_documents","database":"mydb","collection":"users","filter":{"status":"active"},"limit":10}
count_documents
Required: database, collection
Optional: filter
estimated_count
Required: database, collection
Fast approximate count using collection metadata (no filter support).
list_databases
No required params.
list_collections
Required: database
aggregate
Required: database, collection, pipeline
Optional: output, export_format
Supports all pipeline stages including $search, $vectorSearch, $geoNear, $lookup, $graphLookup, $sample.
Example: {"action":"aggregate","database":"mydb","collection":"orders","pipeline":[{"$group":{"_id":"$status","count":{"$sum":1}}}]}
Vector search example: {"action":"aggregate","database":"mydb","collection":"docs","pipeline":[{"$vectorSearch":{"index":"vector_idx","path":"embedding","queryVector":[0.1,0.2,...],"numCandidates":100,"limit":10}}]}
distinct
Required: database, collection, field_name
Optional: filter
list_indexes
Required: database, collection
Returns all indexes on a collection with key specs, options, and names.
list_search_indexes
Required: database, collection
Returns Atlas Search and Vector Search indexes.
Write Actions
insert_documents
Required: database, collection, document (single) or documents (array)
update_documents
Required: database, collection, update
Optional: filter, upsert, many (default false)
replace_document
Required: database, collection, document
Optional: filter, upsert
find_one_and_update
Atomically find and update a document, returning it.
Required: database, collection, update
Optional: filter, projection, sort, upsert, return_document ("before" or "after", default "before")
find_one_and_delete
Atomically find and delete a document, returning it.
Required: database, collection
Optional: filter, projection, sort
bulk_write
Execute mixed batch operations in a single round trip.
Required: database, collection, operations
Each operation: {"operation": "insert_one|update_one|update_many|replace_one|delete_one|delete_many", ...params}
Example: {"action":"bulk_write","database":"mydb","collection":"users","operations":[{"operation":"insert_one","document":{"name":"Alice"}},{"operation":"update_one","filter":{"name":"Bob"},"update":{"$set":{"active":true}}}]}
Delete Actions
delete_documents
Required: database, collection
Optional: filter, many (default false)
Admin Actions
create_index
Required: database, collection, index_keys
Optional: index_name, index_options
Supports all index types: single field, compound, text ([["field","text"]]), geospatial ([["location","2dsphere"]]), hashed, wildcard.
drop_index
Required: database, collection, index_name
create_search_index
Create an Atlas Search or Vector Search index.
Required: database, collection, search_index_definition
Optional: index_name, search_index_type ("search" or "vectorSearch")
Vector index example: {"action":"create_search_index","database":"mydb","collection":"docs","search_index_type":"vectorSearch","index_name":"vec_idx","search_index_definition":{"fields":[{"type":"vector","path":"embedding","numDimensions":1536,"similarity":"cosine"}]}}
update_search_index
Required: database, collection, index_name, search_index_definition
drop_search_index
Required: database, collection, index_name
create_collection
Required: database, collection
Optional: collection_options (validator, capped, timeseries, clusteredIndex, collation, expireAfterSeconds)
drop_collection
Required: database, collection
run_command
Run any MongoDB database command.
Required: database, command
Example: {"action":"run_command","database":"mydb","command":{"dbStats":1}}
Example: {"action":"run_command","database":"mydb","command":{"collStats":"users"}}
Notes
- Filters use standard MongoDB query syntax: $eq, $gt, $lt, $in, $regex, $near, $geoWithin, etc.
- Updates use $set, $unset, $inc, $push, $pull, etc.
- Sort uses 1 for ascending, -1 for descending
- Aggregation pipelines with $out or $merge require write permission
- Max 1000 documents returned per find or aggregate call
- Atlas Search and Vector Search require search indexes (use create_search_index)
- Geospatial queries require 2dsphere or 2d indexes (use create_index)








