Write SELECT … FROM index or a Kibana-style GET /index/_search in the same editor, browse indices down to their mapping fields, edit documents in the grid, and see what the cluster is doing in a performance pane. It's a native Elasticsearch GUI for Mac and Windows that works with self-managed clusters, Elastic Cloud and AWS OpenSearch Service, with no account and no telemetry.
brew install --cask shubhesh07/db-connect/db-connect
curl -fsSL https://github.com/shubhesh07/db-connect/releases/latest/download/install.sh | bash
SQL goes to Elastic _sql, OpenSearch _plugins/_sql, or the Open Distro endpoint on AWS Elasticsearch domains, chosen automatically:
SELECT status, COUNT(*) AS orders
FROM orders
WHERE created_at >= '2026-10-01'
GROUP BY status
ORDER BY orders DESC
Or write console requests the way you would in Kibana Dev Tools, several per run. Console text gets its own syntax colouring, endpoint and query-DSL autocomplete with your mapped field names, and Format:
GET /orders/_search
{
"query": { "match": { "status": "paid" } },
"aggs": { "by_country": { "terms": { "field": "country" } } },
"size": 20
}
GET /_cat/indices?v
Self-managed Elasticsearch or OpenSearch, Elastic Cloud, AWS OpenSearch Service and AWS Elasticsearch domains. Username and password or an API key, TLS with a custom CA file, and an SSH tunnel through a bastion. The distribution and version are detected on connect.
AWS-managed domains listen on HTTPS port 443, not 9200. If a connection to an AWS domain has the wrong port or TLS off, DB Connect shows a port and TLS hint. Domains inside a VPC can be reached through the SSH tunnel.
Indices with their aliases, doc counts and health, expanding to mapping fields, including nested objects and multi-fields. Right-click an index for Query (SQL), Search (console), Mapping, Settings, Stats, Count, Refresh, Reindex, Add alias, New document, Bulk insert or Delete index. Cluster-level Health, Nodes, Shards and Aliases sit at the top.
Hits become rows with _index, _id, _score and the source fields. Aggregations arrive as a second result set and _cat output becomes a table. Edit cells, delete rows and insert documents from the grid (one _update per document), or open the full document editor.
Load more pages through the SQL cursor or from/size, with a clean fallback on clusters that refuse paging. Export streams through the cursor or the scroll API, so large result sets don't have to fit in one response.
Two buttons on any search: Profile shows per-shard query, collector and aggregation timings as a tree; Explain shows why each hit got its score.
Cluster health, search and indexing rates and latencies per node and per index, heap, CPU and rejections. Tabs for Tasks (with cancel), Shards (with allocation explain), Hot threads, Pending tasks and circuit breakers.
Read-only connections refuse writes. Production-tagged connections ask before every write: DELETE, PUT, _update_by_query, _delete_by_query, task cancel and document edits. Credentials are encrypted, with the key in your OS keychain.
list_tables, describe_table, run_query (SQL or console), explain_query, active_sessions and cluster_health work on Elasticsearch connections. Reads are allowed; writes need a time-bounded grant from the desktop app.
Ready-made requests for the questions you ask a cluster under pressure, such as health and unassigned shards. Snippets are filtered by engine and insert at the cursor instead of replacing your tab.
MySQL, PostgreSQL, Amazon Redshift, DynamoDB, Redis and MongoDB live in the same app, with one credential store and a history you can search across every connection.
Kibana's Dev Tools console and OpenSearch Dashboards come with the stack, are free, and are the reference tools for their clusters; they also give you Discover, visualizations and dashboards, which DB Connect does not try to replace. They run in the browser, one deployment at a time. Elasticvue is a free, open-source Elasticsearch GUI that runs as a browser extension, desktop app or web app, and is a good fit if you want a focused cluster browser. DB Connect is for engineers who query the search cluster alongside the databases behind it: one desktop app with every connection, SQL and console in the same editor, grid edits behind production confirmation, a performance pane, and a local MCP server for AI tools. Pick by workflow, not by feature count, and check each tool's current docs, since all of them change often.
Corrections are welcome: open an issue.
Yes, since v3.7.0. It connects to self-managed Elasticsearch and OpenSearch, Elastic Cloud, AWS OpenSearch Service and AWS Elasticsearch domains. The distribution and version are detected when you connect, and the same app also covers MySQL, PostgreSQL, Redshift, DynamoDB, Redis and MongoDB.
Yes. DB Connect is free for personal and commercial use, runs natively on macOS (Intel and Apple Silicon) and Windows x64, and needs no account. Install it with brew install --cask shubhesh07/db-connect/db-connect or download the DMG.
Yes. Write SELECT … FROM index and DB Connect sends it to Elastic _sql, OpenSearch _plugins/_sql, or the Open Distro endpoint on AWS Elasticsearch domains, whichever the cluster has. Kibana-style requests such as GET /index/_search with a JSON body work in the same editor.
Yes, for both AWS OpenSearch Service and older AWS Elasticsearch domains. Use the domain endpoint over HTTPS on port 443 rather than 9200; if the port or TLS setting is wrong, DB Connect shows a hint. Authentication is username and password or an API key, and an SSH tunnel through a bastion reaches domains inside a VPC.
For querying and inspecting a cluster, yes: it has a console with endpoint and query-DSL autocomplete, SQL, document editing and a performance pane. It has no dashboards, visualizations or Discover, so if you live in those, keep Kibana or OpenSearch Dashboards for them.
Read-only connections refuse writes, and production-tagged connections ask before every write, including DELETE, PUT, _update_by_query, _delete_by_query, task cancel and document edits. Credentials are encrypted, with the key in your OS keychain.
Yes, through DB Connect's local MCP server. It's off by default, listens on 127.0.0.1, needs a bearer token, and only reaches connections you allow-list. list_tables, describe_table, run_query (SQL or console), explain_query, active_sessions and cluster_health work on Elasticsearch connections; writes need a time-bounded grant you give from the desktop app.
macOS (Intel + Apple Silicon) and Windows x64, about 35 MB. Also available via brew install --cask shubhesh07/db-connect/db-connect.