MongoDB
Tools to query and explore a MongoDB database
1.1.2MongoDB Toolkit
The Arcade MongoDB toolkit connects agents to a MongoDB instance, enabling schema discovery, document querying, and aggregation across databases and collections.
Capabilities
- Database & collection discovery — enumerate all databases in a MongoDB instance and all collections within a database before executing any queries.
- Schema inference — sample documents from a collection to infer field names and data types, which is required before running any query or aggregation.
- Document retrieval & filtering — find documents with projection, sorting, and MongoDB query operators (
$gte,$lte,$in,$regex, etc.) to limit and shape results. - Aggregation pipelines — execute multi-stage pipelines (
$match,$group,$project,$sort,$limit,$lookup, and more) for complex data processing and cross-collection joins. - Document counting — count documents matching an arbitrary filter without fetching full documents.
Secrets
MONGODB_CONNECTION_STRING — The full MongoDB connection URI used to authenticate and connect to the database instance. This string encodes the protocol, credentials, host(s), port, and any connection options (e.g., mongodb+srv://user:password). Obtain it from your MongoDB deployment:
- MongoDB Atlas: Navigate to your cluster in the Atlas dashboard, click Connect, choose Drivers, select your driver version, and copy the connection string. Replace
<password>with your database user's password and<dbname>with the target database. - Self-hosted / MongoDB Community/Enterprise: Construct the URI from your host and credentials, e.g.,
mongodb://username:password@host:27017/dbname.
Ensure the database user referenced in the connection string has at least read access to the databases and collections the toolkit needs to query.
For guidance on storing secrets in Arcade, see the Arcade secrets docs. You can manage your secrets at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(6)
| Tool name | Description | Secrets | |
|---|---|---|---|
Execute a MongoDB aggregation pipeline on a collection.
ONLY use this tool if you have already loaded the schema of the collection you need to query.
Load the collection's schema first if it is not already known.
Returns a list of JSON strings, where each string represents a
result document from the aggregation
(tools cannot return complex types).
Aggregation pipelines allow for complex data processing including:
* $match - filter documents
* $group - group documents and perform calculations
* $project - reshape documents
* $sort - sort documents
* $limit - limit results
* $lookup - join with other collections
* And many more stages | 1 | ||
Count documents in a MongoDB collection matching the given filter. | 1 | ||
Discover all the collections in the MongoDB database.
Use when the list of collections is not known.
ALWAYS use this tool before any other tool that requires a collection name. | 1 | ||
Discover all the databases in the MongoDB instance. | 1 | ||
Find documents in a MongoDB collection.
ONLY use this tool if you have already loaded the schema of the collection you need to query.
Load the collection's schema first if it is not already known.
Returns a list of JSON strings, where each string represents a
document from the collection (tools cannot return complex types).
When running queries, follow these rules which will help avoid errors:
* Always specify projection to limit fields returned if you don't need all data.
* Always sort your results by the most relevant fields first. Use '_id' if you're unsure.
* Use appropriate MongoDB query operators for complex filtering ($gte, $lte, $in, $regex, etc.).
* Be mindful of case sensitivity when querying string fields.
* Use indexes when possible (typically on _id and commonly queried fields). | 1 | ||
Get the schema/structure of a MongoDB collection by sampling documents.
Since MongoDB is schema-less, this tool samples a configurable number of documents
to infer the schema structure and data types.
This tool should ALWAYS be used before executing any query.
All collections in the query must be discovered first by listing the database's collections. | 1 |