Repository navigation
Releases: srthkdev/omnisql-mcp
Release list
3.0.0 — Direct setup, private metadata and safe defaults
OmniSQL now sets up direct database instances in one MCP server. DBeaver is an optional connection importer. This release also ships the database, metadata, result-handling and performance fixes merged since 2.2.0.
What changed
| Area | Behavior |
|---|---|
| Setup | Guided direct instances, existing config or selected saved workspace connections; native Claude Code/Codex/OpenCode registration |
| Access | Read-only and strict SSH verification by default; per-instance policies and explicit operator write grants |
| Privacy | Logical connection metadata and resource IDs; sanitized native/IAM/startup/cleanup errors and debug logs |
| Correctness | Quoted table names (#79), qualified DROP targets, PostgreSQL array guards, exact JSON/numeric handling and explicit timestamp-precision limitations |
| Database paths | PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, DuckDB and ClickHouse, with documented capability differences |
| Large results | Private scoped handles, row/column/cell pages, compressed exports and bounded catalog comparisons |
Upgrade notes
- Requires Bun 1.4.3+, Node 22.15+ within 22.x, or Node 24+.
- Writes require
OMNISQL_READ_ONLY=false; direct JSON instances also needreadOnly: false. Database grants and operator policies still apply. - Verify and record SSH host keys in
known_hosts. The explicit legacy opt-out isOMNISQL_SSH_STRICT_HOST_KEY=false. - An explicit config file excludes unrelated saved workspace connections. Set
OMNISQL_DISCOVER_WORKSPACE=trueonly when you intentionally need both sources. - Use connection IDs returned by
list_connections; unsafe discovered IDs are represented by opaque aliases. - Oracle/SQL Server timestamp precision above milliseconds may require selecting exact text; see the database guide.
Verification and measurements
381 unit tests passed locally; the Windows-only shim test passed in CI. All 25 PR checks passed, including real engine/runtime/TLS, Rust/WASM, package, privacy and site checks. Actual isolated Claude/Codex/OpenCode registration/readback was verified. Oracle rejected an untrusted certificate in a TLS fixture; a live Oracle TCPS database login is not claimed.
| Local Node 24.7 / macOS ARM64, 12 samples | 2.2.0 | 3.0.0 candidate |
|---|---|---|
| CLI startup p50 | 161.54 ms | 22.89 ms |
| MCP initialize + tools p50 | 167.47 ms | 112.51 ms |
Tarball: 743,919 bytes; unpacked app: 2,858,449 bytes. Drivers/runtime/optional database CLIs are additional. Nine direct production dependencies; none added by the release hardening work. Source changes replace 341 lines and add 1,289 lines (net +948); this is not a full Rust-server migration.
Full changes, tests, raw measurements and actual screenshot · Remaining roadmap · Documentation
Published and verified on npm: latest resolves to 3.0.0. Fresh registry installation, npx @latest, two-database MCP read-only smoke checks and the update notice in published 2.2.0 passed. The standalone installer also passed with a manifest-cache refresh; #81 merged the permanent upgrade fix after all 25 checks passed. GitHub and npm archives contain byte-identical files/tar streams; their outer gzip sizes differ.
Documentation redirects in #82 are merged and live, including links embedded in the already-published npm README. Final main aeb2d5a passed all 25 checks.
v2.2.0 — guided setup and database selection
Set up OmniSQL directly in Claude Code, Codex, or OpenCode:
npx -y omnisql-mcp@latest install- Guided client registration with workspace, read-only, and connection allowlist settings.
- Native Oracle support (#32) and DBeaver MySQL SSL handler support (#31).
- Optional database selection and
list_databasesfor PostgreSQL, MySQL/MariaDB, and SQL Server (#33). - Ships custom workspace project support, SSH tunnels, URL-mode connections, and IAM authentication that were missing from npm 2.0.1 (#30).
- SQLite result and schema fixes, stronger read-only checks, and CLI safe mode.
- Daily update notices on stderr, with an opt-out.
- New logo, setup GIF, database demo GIF, and an FFmpeg walkthrough in the README.
- Manual npm publishing; CI validates builds and the packed server.
Validation: 223 tests, lint, typecheck, formatting, package smoke checks, documentation build, and zero npm audit findings in the server package. CI passed on Node 22/24 with packaged runtime checks on Node 18/20. Live MCP tests used isolated SQLite databases and a temporary PostgreSQL cluster; Oracle was covered by unit and execution-path tests.
Published to npm as omnisql-mcp@2.2.0 under the latest tag. Existing npx setups update when the MCP client restarts. Global installs can update with npm install -g omnisql-mcp@latest. Full changes: CHANGELOG.md.
What's Changed
- fix(postgres): read SSL config from nested DBeaver JSON properties by @hongweihao in #21
- fix: add error handler for sqlite3 spawn to prevent process crash by @aneeskodappana in #25
- feat: add OMNISQL_PROJECT env var to support custom DB client project names by @zerafachris in #27
- add compatibility with aws iam auth custom jdbc driver by @mononen in #29
- feat(connections): allow database override via "/" syntax by @rrsela in #24
- fix(mysql): read TLS settings from DBeaver SSL handler by @leenawat in #31
- feat: native Oracle driver (node-oracledb Thin mode) by @kaizencode-art in #32
- Release 2.2.0: guided setup, database selection, demos, and manual publishing by @srthkdev in #34
New Contributors
- @hongweihao made their first contribution in #21
- @aneeskodappana made their first contribution in #25
- @zerafachris made their first contribution in #27
- @mononen made their first contribution in #29
- @rrsela made their first contribution in #24
- @leenawat made their first contribution in #31
- @kaizencode-art made their first contribution in #32
Full Changelog: v1.3.0...v2.2.0
What's Changed
- fix(postgres): read SSL config from nested DBeaver JSON properties by @hongweihao in #21
- fix: add error handler for sqlite3 spawn to prevent process crash by @aneeskodappana in #25
- feat: add OMNISQL_PROJECT env var to support custom DB client project names by @zerafachris in #27
- add compatibility with aws iam auth custom jdbc driver by @mononen in #29
- feat(connections): allow database override via "/" syntax by @rrsela in #24
- fix(mysql): read TLS settings from DBeaver SSL handler by @leenawat in #31
- feat: native Oracle driver (node-oracledb Thin mode) by @kaizencode-art in #32
- Release 2.2.0: guided setup, database selection, demos, and manual publishing by @srthkdev in #34
New Contributors
- @hongweihao made their first contribution in #21
- @aneeskodappana made their first contribution in #25
- @zerafachris made their first contribution in #27
- @mononen made their first contribution in #29
- @rrsela made their first contribution in #24
- @leenawat made their first contribution in #31
- @kaizencode-art made their first contribution in #32
Full Changelog: v1.3.0...v2.2.0