MongoDB
Tools to query and explore a MongoDB database
0.4.1The MongoDB toolkit connects Arcade to a MongoDB instance, enabling agents and tools to explore, query, and aggregate data across databases and collections.
Capabilities
- Discovery: Enumerate all databases in a MongoDB instance and all collections within a database, establishing the context needed before any query runs.
- Schema inference: Sample documents from a collection to infer field names and data types — essential since MongoDB is schema-less and must be introspected at runtime before querying.
- Document retrieval & counting: Find documents with filtering, projection, sorting, and MongoDB query operators (
$gte,$lte,$in,$regex, etc.); count matching documents without fetching them. - Aggregation pipelines: Execute multi-stage pipelines (
$match,$group,$project,$sort,$limit,$lookup, and more) for complex data processing and cross-collection joins.
Secrets
MONGODB_CONNECTION_STRING — The full connection URI used to authenticate and connect to your MongoDB instance (e.g., mongodb+srv://user:password@cluster.mongodb.net/dbname). It encodes the username, password, host(s), and any connection options. Obtain it from your MongoDB provider:
- MongoDB Atlas: Navigate to your cluster → Connect → Drivers → copy the connection string, substituting your database user credentials. See the Atlas connection string docs.
- Self-hosted / MongoDB Community: Construct the URI from your host, port, and credentials (e.g.,
mongodb://username:password@host:27017/dbname). See the connection string URI format docs.
Store this value as an Arcade secret. See Arcade secret configuration and manage 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.
Use the <get_collection_schema> tool to load the schema if 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.
Use the <get_collection_schema> tool to load the schema if 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 using the <discover_collections> tool. | 1 |
Selected tools
No tools selected.
Click "Show all tools" to add tools.
Requirements
Select tools to see requirements
Mongodb.AggregateDocuments
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
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. Use the <get_collection_schema> tool to load the schema if 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
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
database_name | string | Required | The database name to query |
collection_name | string | Required | The collection name to query |
pipeline | array<string> | Required | MongoDB aggregation pipeline as a list of JSON strings, each representing a stage. Example: ['{"$match": {"status": "active"}}', '{"$group": {"_id": "$category", "count": {"$sum": 1}}}'] |
limit | integer | Optional | The maximum number of results to return from the aggregation. Default: 1000. |
Requirements
Output
array— No description provided.Mongodb.CountDocuments
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Count documents in a MongoDB collection matching the given filter.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
database_name | string | Required | The database name to query |
collection_name | string | Required | The collection name to query |
filter_dict | string | Optional | MongoDB filter/query as JSON string. Leave None for no filter (count all documents). Example: '{"status": "active"}' |
Requirements
Output
integer— No description provided.Mongodb.DiscoverCollections
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
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.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
database_name | string | Required | The database name to discover collections in |
Requirements
Output
array— No description provided.Mongodb.DiscoverDatabases
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Discover all the databases in the MongoDB instance.
Parameters
No parameters required.
Requirements
Output
array— No description provided.Mongodb.FindDocuments
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Find documents in a MongoDB collection. ONLY use this tool if you have already loaded the schema of the collection you need to query. Use the <get_collection_schema> tool to load the schema if 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).
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
database_name | string | Required | The database name to query |
collection_name | string | Required | The collection name to query |
filter_dict | string | Optional | MongoDB filter/query as JSON string. Leave None for no filter (find all documents). Example: '{"status": "active", "age": {"$gte": 18}}' |
projection | string | Optional | Fields to include/exclude as JSON string. Use 1 to include, 0 to exclude. Example: '{"name": 1, "email": 1, "_id": 0}'. Leave None to include all fields. |
sort | array<string> | Optional | Sort criteria as list of JSON strings, each containing 'field' and 'direction' keys. Use 1 for ascending, -1 for descending. Example: ['{"field": "name", "direction": 1}', '{"field": "created_at", "direction": -1}'] |
limit | integer | Optional | The maximum number of documents to return. Default: 1000. |
skip | integer | Optional | The number of documents to skip. Default: 0. |
Requirements
Output
array— No description provided.Mongodb.GetCollectionSchema
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
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 using the <discover_collections> tool.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
database_name | string | Required | The database name to get the collection schema of |
collection_name | string | Required | The collection to get the schema of |
sample_size | integer | Optional | The number of documents to sample for schema discovery (default: 1000) |
Requirements
Output
json— No description provided.