Skip to content
Monghoul
Query Editor

Query Editor

A full Monaco editor with schema-aware autocomplete over the MongoDB Node driver.

  • Context-aware completions: field paths, operators, pipeline stages, accumulators, expressions
  • Progressive nested field disclosure. Type "address." to see child fields only
  • Pipeline-accumulated fields. $addFields and $group output feeds later stages
  • $lookup pulls in the foreign collection's schema, nested paths included
  • Enum value suggestions from schema analysis
  • JavaScript sandbox with BSON constructors, fetch, crypto, Faker, Luxon, Day.js, Lodash, and Zod
  • Console and print output lands next to the result
  • Queries and Markdown notes autosave. Format on demand with Ctrl/Cmd+S
Result Viewer

Result Viewer

Six view modes for query results, with inline editing and export.

  • Table: virtualized spreadsheet with column pinning, sorting, resize, auto-fit, reorder, and multi-select
  • Tree: hierarchical document viewer with type badges, resizable columns, and sticky document headers
  • JSON: the whole result as formatted, syntax-highlighted text
  • Result: a write outcome or single value as a card of copyable metrics
  • Explain: performance grade, execution plan tree, and index suggestions
  • Chart (Pro): 8 chart types with dual axis, date aggregation, trend lines, and PNG export
  • Cross-page search with cell-level match highlighting
  • Preview drawer (Ctrl/Cmd+I) follows row focus and shows the document as formatted JSON
  • Export the loaded results or every matching document, as Extended JSON, CSV, or Excel (Pro)
Charts

Pro

Charts

Plot a result set without leaving the tab.

  • Bar, horizontal bar, line, area, pie, and scatter, with stacking for bar and area
  • Eight guided presets, from time series to correlation to top values
  • Advanced config: field mapping, several measures, grouping, sorting, legends, colors, dual axes
  • Aggregate with sum, count, average, minimum, or maximum
  • Group dates by hour, day, week, month, quarter, or year
  • Linear trend line on scatter charts
  • Export as high-resolution PNG with a background that matches the theme
Aggregation Builder

Aggregation Builder

Visual pipeline builder with drag-and-drop, live stage previews, and code sync.

  • The whole stage catalog in a searchable picker, with stages your server version cannot run marked
  • Drag-and-drop reordering, and a "+" between every pair of stages
  • Per-stage enable/disable, collapse, duplicate, clear, and "Run to here"
  • Index-aware autocomplete the main editor does not have: indexed fields rank first in $match and $sort
  • A collapsed stage prints its body on one line, so a folded pipeline still reads
  • Live previews with an optional 20-document safety limit, cancellable from the footer
  • Errors name the root cause instead of the server's wrapper chain
  • $lookup form helper, synced both ways with the stage body
  • $out and $merge are marked destructive and honor write protection
  • Undo/redo up to 50 entries, and code that stays in step with the visual pipeline
Explain View

Explain View

Understand query performance at a glance, for both find and aggregation queries.

  • Performance grade with execution time, docs returned and examined, keys examined, scan type, and index name
  • Per-stage row counts and elapsed time across the whole pipeline, sub-pipelines included
  • Data flow funnel showing document counts shrinking through each stage
  • Index suggestions ordered by the ESR rule, extending your current index instead of replacing it
  • It skips the noise: synthesized fields, identity indexes, and indexes already in place
  • Warnings for collection scans, in-memory sorts, disk spills, and misplaced limits
  • Flags an Atlas $search or $vectorSearch stage that is not first in the pipeline
  • Auto-explain after every read query. On by default, switchable off per connection
Try the Explain Visualizer online, no install needed →
Connection Management

Connection Management

Connect to any MongoDB instance with full protocol support.

  • 8 auth methods: no auth, username/password, SCRAM-SHA-1/256, and X.509, LDAP, Kerberos, AWS IAM on Pro
  • Turn off "save password" and it never touches disk. Monghoul asks once per app session
  • SSH tunneling with password or private key authentication
  • SSL/TLS with a custom CA certificate and an option to allow invalid certificates
  • Write protection over writes, drops, renames, index changes, and $out/$merge, scoped per database or collection
  • Database and collection filters to tidy the tree. They are not a permission boundary
  • Connectivity and credentials are tested before a connection saves
Inline Editing

Inline Editing

Edit document values directly in the table or tree view without opening a separate editor.

  • Double-click any cell to edit: strings, numbers, booleans, dates, ObjectIds, null
  • Type selector dropdown to change the field type where the conversion is valid
  • Date picker with calendar, time spinners, quick presets, and time zones
  • Enum combobox suggests known values from schema analysis while allowing custom input
  • Write protection confirmation on protected connections before saving
  • A value the chosen type cannot hold is refused with the limit named. Nothing is written
  • Optimistic updates. The edited value appears immediately and rolls back on failure
Schema Analysis

Schema Analysis

Sample-based schema analysis with enum detection and editor integration.

  • Configurable sample size with presets. Free analyzes up to 500 documents per run
  • Hierarchical field tree with type badges, array element types, and occurrence bars
  • Automatic enum detection with configurable thresholds, plus field paths you can force
  • Manual enum editing, and enum values feed autocomplete in the query editor
  • Automatic analysis is global, and each connection can override it on or off
  • Collections a query reaches through $lookup or $unionWith get analyzed too
  • Schema banner generates a missing schema in one click, right from the editor
  • Field search, cancellable runs, and results cached across sessions
Cluster Monitoring

Pro

Cluster Monitoring

Live server metrics, trend charts, current operations, and the database profiler.

  • Connections, op and document rates, memory and cache, network, locks, cursors, and scan efficiency
  • Replica-set member health, latency, and lag
  • Health strip rating cache, connections, replica lag, lock queue, and active ops as healthy, warning, or critical
  • Sparkline trend charts with time-aware hover values
  • Live operations with duration and namespace filters, scan warnings, and confirmed kill
  • History keeps 200 operations of one second or longer for the tab session
  • Profiler set to off, slow-only, or all, with collection summaries and JSON/CSV export
  • Refresh every 1, 2, 5, 10, 30, or 60 seconds, with pause and resume

Pro

Users & Roles

Manage MongoDB users and custom roles, on self-hosted deployments and on Atlas.

  • List, filter, create, edit, and delete users. Generate, reveal, and copy a secure password
  • Custom roles with resource-scoped privileges, grouped actions, and inherited roles
  • Role detail pane: flattened privileges marked granted or inherited, and who holds them
  • The create forms show the equivalent mongosh command, with passwordPrompt() in place of the password
  • Atlas connects with a project API key or a service account. The secret is stored encrypted on the device
  • On Atlas the forms adapt: cluster scopes, temporary-user expiry, and only the actions Atlas can grant
  • Deleting the last user administrator warns first. Mutations are logged, passwords never are
MCP Server (AI Tools)

Pro

MCP Server (AI Tools)

70+ Model Context Protocol tools so an AI assistant can drive the app.

  • Ten essential tools are always on, from list_connections and execute_query to create_query_tab
  • The client switches the rest on itself with discover_tools, enable_tools, and disable_tools
  • Capability groups for queries, schema, indexes, import/export, tabs, panels, windows, charts, and logs
  • Configurable port and a regenerable auth token, with snippets for the common AI clients
  • Review mode holds an AI-initiated query until you approve it
  • Access can be limited to chosen connections and databases. Anything else is hidden and refused
  • Access log keeps the 100 most recent calls. Tool parameters are not recorded

Import & Export

Move data in and out of MongoDB in any format.

  • Import JSON, Extended JSON, gzipped JSON, CSV, and TSV. NDJSON and Excel on Pro
  • Picking a file sets the format, suggests the collection name, and fixes the delimiter
  • Write strategies: insert, upsert by identity, or drop then insert
  • Type inference for numbers, booleans, null, and JSON cells. Dates only from a leading YYYY-MM-DD
  • Export Extended JSON (canonical or relaxed, array or NDJSON, gzip), CSV, or Excel (Pro)
  • CSV and Excel columns come from a sample of the export, not just its first document
  • Copy a collection to another database or connection, with optional index replication (Pro)
  • Import or export a whole database, one file per collection (Pro)
  • Progress and cancellation from the footer on every long transfer
Index Management

Index Management

Create, inspect, and manage indexes with usage statistics and index suggestions.

  • Create compound indexes with ordered fields and an ascending/descending toggle
  • Options for name, unique, sparse, and a partial filter expression
  • The exact createIndex() command is previewed before creation
  • Explain recommendations prefill the Create Index form in one click
  • Visual indicators for unique, sparse, partial, and TTL indexes
  • Per-index size and usage count from $indexStats, color-coded by activity
  • Drop or rebuild individual indexes, and refresh statistics from the server
Workspace & Tabs

Workspace & Tabs

Multi-panel layout, detached windows, and a command palette.

  • Query, Markdown, and JSON Viewer tabs, plus Cluster Monitor and User Management on Pro
  • Markdown tabs with a split view, formatting toolbar, GitHub-flavored Markdown, and autosave
  • Drag-and-drop tab reordering within and across panels, with full state carried along
  • Split panels horizontally or vertically with nested splits and named panels
  • The 100 most recently closed tabs can be restored, newest first, with their full state
  • Leaving a tab does not cancel its query. Background work stays cancellable from the footer
  • Detach any tab into its own window and reattach it later (Pro)
  • Command palette (Ctrl/Cmd+K) with fuzzy search across everything
Data Generation

Data Generation

Generate synthetic documents with Faker for testing and development.

  • 100+ Faker providers across 16 categories: names, emails, addresses, commerce, finance, and more
  • Value modes: Faker, literal, list, or numeric range, with per-field null probability
  • Nested objects and configurable arrays
  • Seed the tree from a real collection and it keeps each field's type, Decimal128 included
  • A field under a unique index gets no repeats, and GeoJSON coordinates come out valid
  • Preview a sample document before generating
  • Up to 100,000 documents per run on Pro, 500 on Free
Operation Logs

Operation Logs

Full audit trail of every operation, doubling as a past queries search tool.

  • Search query text, connection, database, collection, and error messages
  • Filters for operation type, status, connection, collection, and time range
  • Compare two query logs side by side, or reopen one as a query tab
  • Retention of 100 to unlimited entries, 250 on Free
  • Response storage of none, stripped (the default), or full, capped between 5 KB and 1 MB
  • Full storage keeps the response unredacted on this device, and says so before you pick it
  • Export the filtered set, or export server logs for a support report
Themes

Themes

11 built-in themes and a theme editor that derives a full palette from three colors.

  • Monghoul Dark (default), Monghoul Light, Midnight Ocean, Rosé Pine, Nord Aurora, Ember Glow
  • Catppuccin Mocha, Sandstone, Arctic Light, Ink, and Paper
  • Every built-in theme meets WCAG AA contrast: 4.5:1 for text, 3:1 for chart series and other indicators
  • Chart series stay distinguishable from each other within a theme
  • Build a custom light or dark theme from three colors, previewed live (Pro)
  • Custom themes reach editor syntax, MongoDB value types, result views, and index badges (Pro)
  • Import and export themes as JSON (Pro)
Document Diff

Pro

Document Diff

Compare any two documents side by side with line-level change highlighting.

  • Pick any two from a selection of two or more documents
  • JSON formatting with syntax highlighting on both sides
  • Swap button to flip left and right
  • Configurable label field for the document dropdowns
Date Helper

Date Helper

Build date expressions visually instead of typing ISODate strings by hand.

  • Single date or range mode, with independently selectable endpoints
  • Presets evaluated in the selected time zone: today, this week, last month, last 7 days, and more
  • Named time zones and UTC offsets
  • Shortcuts for the current moment, midnight, a whole day, and now as a range end
  • Copies the expression to the clipboard as either new Date or ISODate
Validation Rules

Validation Rules

View, create, and edit MongoDB collection validators.

  • Monaco JSON editor for the validator expression
  • $jsonSchema scaffold insertion with one click
  • Validation level (off, moderate, strict) and action (error, warn) controls
  • Clearing the validator and saving removes the rules, with a confirmation
  • Validation node in the sidebar tree with level and action badges

Complete Feature Reference

Every capability in Monghoul, grouped by area. Anything marked Pro needs a Pro license or the 14-day trial.

Connections & Security
  • 8 authentication methods: no auth, username/password, SCRAM-SHA-1, SCRAM-SHA-256, and on Pro X.509, LDAP, Kerberos, and AWS IAM
  • Configurable authentication source for any of them
  • Connect from a URI or from individual fields. Pasting a URI fills in host, port, credentials, auth, TLS, replica set, and read preference
  • Both mongodb:// and mongodb+srv:// are supported
  • Save password can be turned off for username/password and SCRAM. The password is then written nowhere on disk, and Monghoul asks for it once per app session
  • SSL/TLS with a custom CA certificate and an option to allow invalid certificates for self-signed setups
  • SSH tunneling with password or private key file, and a tunnel that closes with its connection
  • Direct or replica-set topology with read preference: primary, primaryPreferred, secondary, secondaryPreferred, nearest
  • Per-connection result cap, default 1,000 documents. An explicit .limit() wins over the cap even when it is larger
  • Auto-explain per connection. Read queries collect plan statistics automatically
  • Automatic query execution the first time a tab is opened in a session, per connection
  • Cancellable queries. Stopping one, by hand or by timeout, also ends the operation on the server
  • Configurable connection timeout, default 30 seconds
  • Database and collection filtering in ignore (hide listed) or allow (show only listed) mode. System databases are filtered by default
  • Those filters are organizational, not a security boundary. They do not change MongoDB permissions or stop raw query code from naming a hidden collection
  • Write protection scoped to a connection, or to selected databases and collections. It covers inserts, updates, deletes, bulk writes, drops, renames, index changes, and aggregation output stages
  • Protected operations require explicit confirmation, at every entry point including the keyboard
  • Protected connections, databases, and collections are marked in navigation and previews
  • Connectivity and credentials are tested before a new connection saves, and any connection can be re-tested on demand
  • Unique connection names, generated from host, port, and database when you do not supply one
  • Connection color coding with 12 presets and a custom picker. The color propagates to tabs and sidebar entries
  • Deleting a connection closes its tabs and removes its pins and favorites. Its log history is kept
Sidebar & Navigation
  • Hierarchical tree: Connections > Databases > Collections > Indexes, Schema, Validation, with lazy-loading expansion
  • Collections sorted alphabetically within each database
  • Instant search over the whole hierarchy. Matches auto-expand, the field reports how many matched, and clearing it restores the previous expansion state
  • One click focuses a collection, a double-click opens it in a query tab
  • Refresh pulls a collection with its statistics and indexes. With nothing focused, the active query tab is the target
  • Hover preview cards on connections: host with credentials masked, database and collection counts, data size, topology, auth method, transport security, and write-protection scope
  • Hover preview cards on collections: document count, data size with average per doc, schema status, index count and size, and validator info
  • Hover preview cards on databases, indexes, and schema nodes with their own relevant detail
  • Previews follow the keyboard cursor as well as the pointer
  • Right-click context menus at every level, from create database and refresh down to rename, clear, and drop
  • Pro context actions: Cluster Monitor, user management, database import, and database export
  • Customizable snippets submenu. Add, remove, drag-to-reorder, and edit query templates, then star one as the default double-click query
  • Pinned collections in a dedicated section, keeping the same context menu and hover preview as regular collections
  • Favorite queries saved with Ctrl+Shift+S / Cmd+Shift+S. Preserves code, view type, chart config, table state, page size, and read preference
  • Markdown notes can be saved as favorites too, and reopen as markdown tabs
  • Folders for all three sections, nested to any depth, with rename in place and item count badges
  • Deleting a folder returns its contents to the section root rather than deleting them
  • Drag-to-reorder connections, favorites, and folders with three-zone drop detection
  • Drag a collection or database onto another destination to open a copy modal with it preselected (Pro)
  • Sticky headers keep connection and database rows visible while scrolling their descendants
  • The active tab's collection is marked in the tree, and a disconnected connection is dimmed
  • Pin and favorite changes appear in every open Monghoul window
  • Resizable sidebar (5-80%) with width, order, and expansion state persisted. Toggle with Ctrl+B / Cmd+B
  • Reaching a Free capacity limit explains the Pro upgrade instead of failing quietly
Command Palette
  • Open with Ctrl+K / Cmd+K from anywhere in the app
  • Fuzzy search over open tabs, recently closed tabs, connections, databases, collections, and favorites
  • Pinned collections rank above unpinned ones
  • Tab and favorite search covers query code as well as titles, and shows the matching excerpt
  • Filter results by category, with a live count per category
  • With no search term it shows recent and relevant items
  • Choosing an item switches to it, opens it, restores it, or reveals it in the sidebar
  • Full keyboard navigation, with the selected action named before it runs
Query Editor & Environment
  • Full Monaco (VS Code) editor with JavaScript syntax highlighting, configurable font size, and theme-aware styling
  • Inline syntax and type errors, checked against the query environment's own declarations
  • The environment is the MongoDB Node driver, not the mongo shell. A projection passed as find's second argument is refused rather than quietly ignored
  • db.orders is shorthand for db.collection('orders'), and it yields to real driver methods, so stats, admin, and command need the explicit form
  • A single expression returns its value automatically. A multi-statement script runs in order and returns an explicit result
  • A query is not reported finished until the database operations it started have finished
  • Sandbox globals: db, ObjectId, the id() shorthand, ISODate, NumberLong/Int/Decimal, Extended JSON helpers, print, sleep, URL, encoding, crypto, and fetch
  • Bundled libraries: Faker, Luxon, Day.js, Lodash, Lodash FP, and Zod
  • BSON numeric constructors keep their type and precision. A value the type cannot hold is rejected, not truncated
  • Console and print output appears with the result, warnings emphasized, capped at 500 entries per run
  • Code formatting with Prettier via Ctrl/Cmd+S, a floating button, or Shift+Alt+F inside the editor
  • Method chains break onto separate lines without changing behavior, and generated code is formatted on tab creation
  • Run with Ctrl+Enter / Cmd+Enter / Cmd+R, plus Explain and Stop buttons and an elapsed timer
  • Cancellation stays available while the connection is still being established
  • Result timing separates query, connection, server, and total duration
  • Changing a tab's connection keeps the selected database only when the new connection has one by that name
  • Save to, sync with, or remove from favorites straight from the toolbar. Queries and notes autosave
Schema-Aware Autocomplete
  • Field path suggestions with type annotations (String, Number, ObjectId, Date) derived from schema analysis
  • Progressive nested field disclosure shows only the current nesting level
  • Pipeline-accumulated fields. $addFields, $group, $project, and $lookup output feeds autocomplete in later stages
  • Reshaping stages replace the field list, removal stages filter out dropped fields, and disabled stages are skipped
  • $lookup resolves the foreign collection's schema for nested paths like customer.address.city
  • All MongoDB query operators, update operators, and 40+ collection and cursor methods with inline documentation
  • All aggregation stages, accumulators, and 50+ expression operators
  • Stage-aware string completions. $lookup.from suggests collections, $unwind suggests array fields, $group._id suggests field references
  • $facet branches expose sub-pipeline output, and $unionWith merges the other collection's schema
  • Enum value suggestions inside $in, $nin, $eq, $ne, and direct field comparisons
  • Type-aware operators: $regex for strings, $gt/$lt for numbers and dates, $size/$elemMatch for arrays
  • $expr context switching. Inside $expr in $match, autocomplete moves to aggregation expressions
  • System variables ($$ROOT, $$NOW, $$REMOVE) and variables from $let, $map, $filter, and $reduce, in scope only
  • BSON constructors with snippet placeholders: ObjectId(), NumberLong(), NumberDecimal(), UUID(), BinData(), Timestamp()
  • $jsonSchema keyword suggestions inside validator expressions
  • Suggestions are advisory. They never block execution, and stale schema data degrades them without breaking MongoDB language completions
  • Index-aware ranking is an aggregation builder feature. The main editor does not have it
Aggregation Builder
  • Visual builder with the whole stage catalog ($match, $group, $lookup, $facet, $graphLookup, $setWindowFields, $densify, $search, $vectorSearch, and more) in a searchable, categorized picker
  • Server version gating. Stages your server cannot run are marked and unavailable; the raw editor stays ungated
  • Color-coded stage badges by category: Filter & Sort, Transform, Group & Aggregate, Join & Combine, Output, Other
  • New stages start with useful templates, updated when you change the operator
  • Quick-start templates for empty pipelines: Filter & Sort, Group & Count, Join Collections, Reshape Fields
  • Insert a stage anywhere from the "+" on the connector between every pair
  • Reorder by drag-and-drop or with Move Up / Move Down
  • Per-stage enable/disable, collapse, duplicate, clear, delete, and Run To Here
  • Expand, collapse, enable, disable, or clear every stage in the pipeline in one action
  • A collapsed stage prints its own body on one line, so a folded pipeline can be read without expanding it
  • Syntax errors are caught before execution and shown on the stage itself, expanded or collapsed
  • Schema-, type-, index-, variable-, and pipeline-aware autocomplete per stage editor
  • Index awareness the main query editor does not have: indexed fields and valid compound-index continuations rank first in $match and $sort
  • $lookup form helper with From, Local/Foreign field, and As dropdowns, synced both ways with the stage body
  • Explain plan button that runs on the current pipeline without modifying the code
  • Stage previews inline, on collapsed cards as well as expanded ones, with an optional 20-document safety limit
  • Auto-preview mode re-runs after each edit, and previews are cancellable from the current-operations panel
  • An edit discards previews from that stage downward, so a card never shows an older pipeline's result as current
  • A failed preview names its root cause rather than the server's wrapper chain, with the original message copyable
  • $out and $merge are visibly marked destructive and honor connection write protection
  • Stage search appears once a pipeline has four or more stages. Filter by operator name, description, or body
  • Undo/redo over structural changes, up to 50 history entries
  • Visual and code modes round-trip. The generated code sits in a togglable side panel and is copyable in place
  • Pipeline structure, enabled and collapsed state, collection, and editor mode persist with the tab
Result Views
  • Six view modes: Tree, Table, JSON (the result as formatted text), Result (a write outcome or single value as a card of copyable metrics), Explain, and Chart (Pro)
  • Active mode persists per tab. Set Tree or Table as the default for new queries, or restore automatic selection
  • Fullscreen: Tab (results fill the tab) or Window (results fill the app), exit with Escape
  • Collapsible result panel and a resizable editor/result split, both persisted per tab
  • Preview drawer (Ctrl/Cmd+I) follows row focus in Tree and Table, showing the document as formatted JSON
  • Tree view: keyboard expand and collapse, MongoDB-aware type badges, resizable columns, and sticky document headers you can switch off per tab
  • Table view: column sorting, resize, auto-fit, pinning, and reorder, persisted per tab and in favorites
  • Headers identify the predominant column type
  • Ctrl/Cmd+F searches the loaded result set, highlighting individual matches in keys, cells, and nested values
  • Crossing a page boundary moves to the next loaded match. It does not issue a server-side search or fetch past the result cap
  • Hover preview for Object and Array values, with formatted JSON after 400ms
  • Expand complex values inline with a nested tree, breadcrumb path, editable leaves, and a resizable panel
  • Result cap with cursor pagination. Load 5K / 10K / All when capped, offering only the choices above the current cap
  • Loading everything warns first that a large collection may be slow
  • Auto-explain badge on every result: green IXSCAN with index name, or red COLLSCAN, with the full plan on hover
  • Empty result sets still show timing and explain information
  • Pagination with previous, next, and direct page entry. Page sizes 10 to 1,000, or any value from 1 to 10,000
Document Actions & Result Export
  • Edit Document hotkey (Ctrl/Cmd+E) on the focused Tree or Table row. No right-click required
  • Inline editing for strings, numbers, booleans, dates, ObjectIds, and null, with a type selector and enum combobox
  • Write protection confirmation before an inline change, and optimistic updates that roll back on failure
  • A value the chosen type cannot hold is refused with the limit named, and nothing is written
  • Right-click menu: Edit Value, Filter by Value, Unset Field, Clone, Copy Value/Key/Path/Column/Document, Edit, Delete, Insert
  • Tabs generated from a result open next to their source tab
  • Multi-select by item, range, or whole page, with a floating bar for Copy, Delete, Show Diff, and Cancel
  • Bulk delete with a confirmation listing the identifiers it will remove, or open it as an editable query instead
  • Deleted rows leave the result immediately and come back if the server rejects the delete
  • Document diff on any two of a 2+ row selection, with a swap button and configurable label field (Pro)
  • Export in two steps, scope then format: the loaded results or every matching document, then Extended JSON, CSV, or Excel (Pro)
  • The all-matching scope re-runs the query with .limit(), .skip(), and the result cap dropped, keeping limits inside nested pipelines
  • It warns that the read is unbounded and asks for confirmation, and asks again when the query could mutate data
  • All-matching Extended JSON writes one document per line; a loaded-results export writes one indented array
  • A result that cannot be re-read as documents says why the all-matching scope is unavailable
Charts & Visualization (Pro)
  • 8 chart types: Bar, Horizontal Bar, Line, Area, Pie, Scatter, Stacked Bar, and Stacked Area
  • Eight guided presets: Time Series, Category Breakdown, Distribution, Multi-Series, Trend Analysis, Correlation, Stacked, and Top Values
  • Advanced mode with manual X/Y fields, several Y-axis series, grouping, and the full option set
  • Aggregation methods: sum, count, average, minimum, maximum
  • Date aggregation grouping by hour, day, week, month, quarter, or year
  • Dual Y-axis for comparing values at different scales
  • Customizable title, legend, labels, sort order, data limit, series colors, stacking, and filters
  • Chart theming follows the active app theme, with series guaranteed distinguishable within it
  • Fullscreen (Tab and Window) consistent with every other view type
  • Export as high-resolution PNG (4x pixel ratio) with a theme-appropriate background
  • Chart configurations saved per tab and persisted with favorites
Tabs & Workspace
  • Tab types: Query, Markdown, and JSON Viewer (read-only tree), plus Cluster Monitor and User Management on Pro
  • Markdown tabs with editing, a side-by-side split, or preview, a formatting toolbar, GitHub-flavored Markdown, task lists, and sanitized embedded HTML
  • Markdown tabs autosave, and save to favorites the way query tabs do
  • An empty markdown tab opens in the editor; one with content opens in preview
  • Drag-and-drop tab reordering within a panel and across panels
  • Tab context menu: Execute/Stop Query, Clone, Reveal in Sidebar, Rename, Split Right/Down, Move to Panel, Open in New Window, Close, Close Others
  • Inline rename by double-clicking the title, a connection color indicator per tab, and middle-click to close
  • Restore up to the 100 most recently closed tabs, newest first, with complete state
  • Moving a tab between panels preserves its editor, result, pagination, preview, and toolbar state
  • Leaving a tab does not cancel a running query or a background operation
  • Background work stays cancellable from the footer, and inactive tabs pause their own polling and timers
  • Multi-panel layout: horizontal, vertical, and nested splits, resizable dividers, and custom panel names
  • Detach any tab into a floating window and reattach it later, with size and position persisted (Pro)
  • Main window bounds saved and restored on launch
Import & Export
  • Import JSON (array, Extended JSON, gzip) and CSV/TSV with configurable delimiter, header handling, and per-column type mapping
  • NDJSON and Excel (.xlsx/.xls) import on Pro. An Excel import reads the first sheet and takes row one as the column names
  • Choosing a file sets the format from its extension, suggests the collection name, and picks the tab delimiter for a .tsv
  • Write strategies: Insert, Upsert by identity, or Drop & Insert
  • Drop & Insert into a write-protected target requires confirmation before the drop
  • Stop on the first error or skip invalid records and continue
  • Type inference for numbers, booleans, null, and cells holding a JSON object or array. An empty cell imports as null
  • Dates only from an ISO-style leading YYYY-MM-DD, so order-1, sku-2, and Q1-2024 stay text
  • Import an entire database from a directory, one collection per file, with the file count reported up front (Pro)
  • Export Extended JSON (canonical or relaxed, array or NDJSON, optional formatting and gzip) or CSV (custom delimiter, array flattening, gzip)
  • Excel export on Pro, with Extended JSON aware serialization
  • CSV and Excel columns are the union of fields in a sample of the export, so a field only some documents carry still gets one
  • A field that first appears after that sample gets no column, and the export reports which fields those were
  • Export scope narrowed by a document limit and a MongoDB filter
  • Copy a collection to another database or connection, with Insert, Upsert, or Insert Only (Pro)
  • Collection copy can carry non-identity indexes and preserve their supported options (Pro)
  • Export or duplicate a whole database with indexes, over every collection or ones picked from a searchable list (Pro)
  • A database export writes one Extended JSON or CSV file per collection into a directory you choose (Pro)
  • Long transfers report progress and cancel from the footer. A cancelled export removes its file; a cancelled import or copy keeps what it wrote
Schema Analysis
  • Sample a configurable number of documents, with presets for the common sizes. Free analyzes up to 500 per run
  • Real-time progress with cancellation, listed in the footer under its collection name
  • Hierarchical field tree covering nested objects and arrays
  • Color-coded type badges for every detected BSON type, with arrays showing element types like array<number|string>
  • Per-field occurrence bar. Fields present in 100% of the sample are marked required
  • Stats summary: total fields, required, optional, enum count, sample size, and analysis time
  • Automatic enum detection with configurable thresholds: max distinct values (default 20) and max ratio (default 0.2)
  • Optional numeric enum support, and named field paths you can force to count as enums regardless
  • Manual enum editing. Add values, hover a chip to remove it, and edits persist immediately
  • Enum values drive autocomplete inside $in, $nin, $eq, $ne, and direct comparisons
  • Field search filters the tree by name and auto-expands the parents it needs
  • Automatic analysis and sample size are global settings, and each connection can inherit or override them
  • Per-connection overrides force automatic analysis on or off and set the sample to 50, 100, or 500 documents
  • Collections reached through $lookup.from, $graphLookup.from, $unionWith, $merge.into, or $out are analyzed automatically
  • Schema banner at the bottom of the editor generates a missing schema in one click
  • A collection with no documents says it has nothing to analyze, rather than reporting a missing schema
  • Copy the full schema as JSON, and results cache across sessions with a relative last-analyzed timestamp
Data Generation
  • Visual schema builder for the generated document structure
  • Supported types: String, Number, Boolean, Date, ObjectId, Object (nested), Array (configurable length and element type)
  • 100+ Faker providers across 16 categories: names, emails, addresses, phone numbers, companies, commerce, finance, lorem, dates, images, vehicles, and more
  • Four value modes per field: Faker, Literal, List (random from a set), and Range (numeric min/max with decimal places)
  • Per-field null probability from 0 to 100% for realistic sparse data
  • Seed the tree from a sampled collection and it keeps each field's type: array element types, Long, Int32, Double, Decimal128, and fields only sometimes null
  • A field a unique index covers is generated so no two documents in a run repeat a value
  • A GeoJSON coordinates field is generated as valid pairs, so a 2dsphere index accepts it
  • Preview and copy a sample document before generating
  • Up to 100,000 documents per run on Pro, 500 on Free, with background progress
Index Management
  • Create multi-field compound indexes with reorder buttons and an ascending/descending toggle
  • Index options: custom name, unique, sparse, and partial filter expression (JSON)
  • The exact createIndex() command is previewed before creation
  • Explain suggestions open the Create Index form with fields already ordered by the ESR rule
  • Per-index size and usage statistics from $indexStats, color-coded green (active) or muted (unused)
  • Usage tracking start time alongside the operation count
  • Visual indicators for unique, sparse, partial filter, and TTL indexes, with hover tooltips
  • Index details: key fields with direction, flags, options, and size
  • Drop or rebuild individual indexes, and refresh definitions and statistics from the server
  • Indexes folder hover preview with total size, total access operations, and unique/sparse counts
Validation Rules
  • Full Monaco JSON editor for the validator expression with syntax highlighting
  • One-click $jsonSchema scaffold insertion
  • Validation level: Off, Moderate (existing documents exempt), or Strict (all documents validated)
  • Validation action: Error (reject invalid documents) or Warn (allow with a warning)
  • Clearing the validator and saving removes the rules, with the same confirmation Remove asks for
  • Sidebar tree node for collections with validators, showing level and action in a badge
  • Refresh validator metadata from the server to pick up changes made outside the app
Cluster Monitoring (Pro)
  • Live Cluster Monitor tab per connection, with host, MongoDB version, storage engine, uptime, and replica-set identity
  • Metrics for connections and capacity, operation and document rates, memory and cache, network traffic, locks and queued work, cursors, and scan efficiency
  • Replica-set member health, latency, and lag
  • Health strip rating cache use, connection use, replica lag, lock queue, and active operations as healthy, warning, or critical
  • Short trend charts with time-aware hover values on metrics that have history
  • Operations view with Live, History, and Profiler modes
  • Live mode: duration and namespace filters, sortable data, scan and lock warnings, command details, and confirmed termination
  • History retains up to 200 operations of one second or longer for the tab session
  • Profiler sets a database to off, slow-only, or all, and reports the threshold in effect
  • Profiler mode shows the 200 most recent profiled operations, with collection summaries and JSON/CSV export
  • Refresh interval of 1, 2, 5, 10, 30, or 60 seconds, with pause and resume
  • Permission errors explain the MongoDB privileges the metric requires
  • Monitoring stops after an error and resumes only when you retry
Users & Roles (Pro)
  • Connection-scoped workspace for users and roles, using the connected account's effective permissions
  • Users: list, filter, create, edit roles, change password, and delete
  • Password users can generate, reveal, and copy a secure password
  • Identities from normal authentication databases and from external authentication
  • Role assignment distinguishes built-in from custom roles and shows cross-database scope
  • Built-in roles are read-only. Custom roles can be created, edited, and deleted
  • Custom roles support resource-scoped privileges, grouped action selection, and inherited roles
  • An invalid cross-database or cluster privilege scope is refused, with the offending scope named
  • Role detail pane: flattened effective privileges marked granted or inherited, the roles it inherits, and which users and roles hold it
  • Create User and Create Role show the equivalent mongosh command, collapsed and copyable, with passwordPrompt() instead of the typed password
  • Atlas connects with a project API key or a service account authenticated by OAuth2
  • The secret half is stored encrypted on this device and can be disconnected at any time
  • A service account secret shows its expiry date and warns within 30 days of it
  • On Atlas the user form adds a description, temporary-user expiry, and scopes for the clusters the user may reach
  • On Atlas the role form offers only the actions Atlas can grant, and not anyResource
  • The workspace adapts to available access: full administration, view-only, Atlas read-only until credentials are connected, or Atlas managed
  • A deployment with no access control works too, with a warning
  • Deleting the last user administrator warns that it appears to be the last one
  • Every user and role mutation is recorded in operation logs. Passwords never are
Operation Logs
  • Audit trail and query history over queries, imports, exports, copies, renames, creates, deletes, and other mutations
  • Each record holds the operation, its connection, database and collection context, the query, duration, status, error, and result metadata
  • Search across query text, connection, database, collection, and errors, matching any part of a value
  • Filters for operation type, status, connection, collection, and time range
  • The collection filter is picked from a list of names and matches exactly
  • Keyboard navigation, single and multi-select, bulk delete, and export of the filtered set
  • Compare two query logs side by side in a Monaco DiffEditor with line-level highlighting
  • Reopen a log as a query tab when its connection still exists
  • Query, response, error, and metadata sections copy and collapse independently, with full responses fetched on demand
  • Response storage: none, stripped with representative content (the default), or full by explicit choice
  • Any stored response is truncated above a size cap you set between 5 KB and 1 MB
  • Full storage keeps sensitive data on this device, so choosing it carries a warning
  • Passwords entered in Monghoul's own forms are never logged, but query text and response fields are not classified or redacted
  • Retention of 100, 250, 500, 1,000, 2,000, 5,000, or unlimited entries, 250 on Free, applied immediately
  • Approximate log storage shown, with a warning above 50 MB. The list paginates at 50 per page
  • Export server logs, or attach app version, license tier, platform, and recent logs to an issue report
Current Operations
  • One panel lists every operation the app runs against a server, from imports and exports to previews, connection tests, and inline edits
  • Imports, exports, copies, generation, and requested schema analysis keep running whether their modal is open or not
  • Each row names the operation and its connection, with a progress percentage where the work can be measured
  • Operations started in another window, or by the AI assistant, appear here too
  • Cancellation stops the work, not just its progress bar
  • A cancelled export removes its incomplete file. A cancelled import, copy, or generation keeps what it wrote
  • Only running operations can be cancelled. A finished one stays listed briefly with its outcome
  • The footer shows how many operations are listed and aggregate progress while any are running
MCP Server (AI Integration, Pro)
  • 70+ Model Context Protocol tools. Works with Claude, Cursor, Windsurf, and any MCP-compatible client
  • Enable or disable the server, choose its port, and generate or replace its authentication token
  • Ready-to-copy connection snippets for the common AI clients
  • Ten essential tools always available: list_connections, sync_databases, sync_collections, execute_query, get_tab_result, create_query_tab, get_workspace, update_tab_code, activate_tab, show_toast
  • The discover_tools, enable_tools, and disable_tools meta-tools are always available too
  • The client discovers and toggles the optional capability groups itself. Essential and meta-tools cannot be switched off
  • Capability groups for connections, queries, schema, statistics, import/export/copy, indexes, tabs, panels, windows, sidebar organization, favorites, pins, themes, charts, notifications, logs, background tasks, and replica-set status
  • Review mode queues AI-initiated queries for manual approval before they run
  • Access can be unrestricted or limited to selected connections and databases
  • Under restriction, inaccessible items are hidden from discovery and any action targeting one is refused
  • Connection-wide access includes databases discovered later. Database-specific access does not
  • MCP access limits organize what the assistant reaches. They do not replace MongoDB permissions
  • AI-initiated query and chart changes appear in the open app without a manual refresh
  • Access log keeps the 100 most recent entries with tool name, outcome, duration, and timestamp
  • Tool parameters are not recorded, and the log can be viewed or cleared
  • Expired Pro access disables the server
Themes & Appearance
  • 11 built-in themes: Monghoul Dark (default), Monghoul Light, Midnight Ocean, Rosé Pine, Nord Aurora, Ember Glow, Catppuccin Mocha, Sandstone, Arctic Light, Ink, and Paper
  • Every built-in theme meets WCAG AA contrast on every surface it paints: 4.5:1 for text, 3:1 for non-text indicators such as chart series
  • Chart series are guaranteed distinguishable from one another within a theme
  • A brand accent for tier badges and highlights, kept distinct from the primary action and status colors
  • Theme changes apply instantly across the app, with no restart
  • Theme editor with 3-color generation. Pick Brand, Background, and Foreground to derive 40+ semantic tokens, previewed live (Pro)
  • Custom themes cover app colors, semantic and interaction states, MongoDB value types, typography, editor syntax, result views, and index badges (Pro)
  • 22 MongoDB type-specific colors for data type badges, customizable per theme (Pro)
  • Monaco editor theming with custom token rules (Pro)
  • Import and export themes as JSON files to share (Pro)
Interface & Display
  • Hide the footer items, sidebar sections, result views, result-header actions, query-toolbar actions, and secondary context-menu actions you do not use
  • The result header can go whole or item by item
  • The connection tree and app-menu entry always stay available
  • At least one non-chart result view must stay enabled, and hiding the active one selects another
  • Hiding an action never removes an equivalent keyboard or command-palette path
  • UI zoom from 50% to 200%, with reset and Ctrl/Cmd+scroll
  • The status bar shows the current zoom and opens a control with step buttons, presets, and a reset that names its shortcut
  • Result dates display as ISO, local, relative, or Unix
  • Contextual tips can be turned on or off
  • Automatic updates, telemetry, automatic schema analysis, and schema sample size are configurable
  • Visibility and zoom settings persist per installation
Keyboard Shortcuts
  • Ctrl+Enter / Cmd+Enter: run query (or Cmd+R)
  • Ctrl+K / Cmd+K: open command palette
  • Ctrl+N / Cmd+N: open the add-connection dialog
  • Ctrl+S / Cmd+S: format the active query editor. Shift+Alt+F also formats, from inside the editor
  • Ctrl+Shift+S / Cmd+Shift+S: save or update a favorite
  • Ctrl+B / Cmd+B: toggle sidebar visibility
  • Ctrl+W / Cmd+W: close active tab
  • Ctrl+Shift+T / Cmd+Shift+T: restore last closed tab
  • Ctrl+D / Cmd+D: clone active tab
  • Ctrl+1-9 / Cmd+1-9: switch to tab by position
  • Ctrl+Tab / Ctrl+Shift+Tab: next/previous tab
  • Ctrl+Alt+Arrow / Cmd+Option+Arrow: next/previous panel
  • Ctrl+Plus / Ctrl+Minus / Ctrl+0, numeric keypad included: zoom in, out, reset
  • Ctrl+F / Cmd+F: search the focused sidebar or result view
  • Ctrl+E / Cmd+E: edit the focused document. In a markdown tab, Ctrl/Cmd+E and Ctrl/Cmd+P switch editor and preview
  • Ctrl+C / Cmd+C: copy the focused cell or selected rows
  • Ctrl+A / Cmd+A: select every row in the focused result view
  • Ctrl+I / Cmd+I: toggle the preview drawer
  • Ctrl+Shift+R / Cmd+Shift+R: refresh the focused or active collection
  • Escape: cancel or close the active transient UI
  • Most global shortcuts can be searched and rebound, with conflicts confirmed before reassignment
  • Rebinding replaces all of a command's defaults with the single new combination
  • Reset one binding or all of them. Changes take effect immediately and persist per installation
  • Escape, tab-index switching, the zoom scroll gesture, Shift+Alt+F, and in-view navigation keys are fixed
  • Shortcut labels adapt to the operating system, and the active UI context decides which command receives a shared binding
  • Result-view shortcuts work in both Table and Tree, and are rebindable in either
Extended JSON & BSON
  • ObjectId, Date, Binary, Timestamp, UUID, MinKey, MaxKey, RegExp, Code, DBRef, and the numeric BSON types all get type-aware presentation
  • Color-coded type badges stay consistent across Tree View, Table View, inline editors, and export output
  • Shell-compatible constructors in the editor: ObjectId(), ISODate(), NumberLong(), NumberDecimal(), UUID(), BinData(), Timestamp()
  • Copy, edit, insert, clone, and filter actions generate runnable constructor syntax when the decoded result kept its type and exact value
  • Results display as relaxed Extended JSON, which is not a lossless round trip for every numeric subtype
  • Int32 and Double arrive as JSON numbers, so values past JavaScript's safe integer range may be rounded. 64-bit integers keep their exact value
  • Once relaxed decoding has dropped a subtype or precision it cannot be reconstructed, and generated actions use the decoded value
  • Canonical Extended JSON import and export are the supported paths when subtype and precision have to round-trip losslessly
Database & Collection Operations
  • Create databases and collections from the sidebar. Creating a database also creates its first collection, named _init by default
  • Database names accept letters, numbers, underscores, and hyphens. Collection names also accept dots
  • Rename, clear (remove all documents), and drop collections. Rename and drop databases
  • A database rename preserves each collection's documents, indexes, validator, and creation options, and recreates views as views
  • Copy or duplicate a database or collection, carrying documents and indexes (Pro)
  • Per-database statistics: collection count, data size, storage size, index size
  • Per-collection statistics: document count, average document size, data size, storage size, index count and size
  • Destructive actions require explicit confirmation and honor connection write protection
Licensing & Trial
  • 14-day Pro trial on eligible devices, once, with no payment and no signup
  • Free capacity: 8 saved connections, 5 favorite queries, 5 pinned collections, and no tab limit
  • Free authentication: no auth, username/password, SCRAM-SHA-1, and SCRAM-SHA-256
  • Free soft limits: 500 sampled documents per schema analysis, 500 generated documents, and 250 operation-log entries
  • Pro removes those limits and adds charts, Cluster Monitor, user and role management, and the MCP server
  • Pro also adds detached windows, document comparison, custom themes, Excel import/export, NDJSON import, collection copy, and database-level import/export
  • Pro auth methods: X.509, LDAP, Kerberos, and AWS IAM
  • Sold monthly, annually, or as a lifetime license, active on up to 3 devices
  • Devices inactive for 30 days can be removed automatically, and you can deactivate the current one without cancelling
  • Subscriptions validate at startup, and a network failure does not remove access you already have
  • An inactive subscription gets a three-day grace period before reverting to Free. A revoked license reverts at once
  • Lifetime licenses include every future update, with no time limit, and activate on any version
  • Gated menu items, view buttons, formats, auth choices, and settings identify their Pro requirement
  • Soft-limited inputs show the Free maximum rather than accepting a value they will reject
Updates, Privacy & Support
  • Automatic update check on launch with an in-app banner, one-click install and restart, and release notes afterwards
  • A warning when the current build is no longer eligible for updates
  • Footer access to settings, updates, the repository, current operations, shortcuts, themes, zoom, logs, MCP, and licensing
  • Status and settings changes made in one window propagate to the others
  • Non-blocking notifications for successful, failed, informational, and warning outcomes
  • A failed optimistic change rolls back to the last confirmed state
  • Component failures give a recoverable fallback with diagnostic export and a support contact
  • Anonymous telemetry is opt-out on first launch and from settings, and excludes personally identifiable information
  • Privacy Policy, Terms of Service, and EULA ship with the product
  • Three landmark regions for assistive technology: the connection tree, the workspace, and the status bar

Missing something you need? Tell us on GitHub.