Skip to content

Releases: srthkdev/omnisql-mcp

3.0.0 — Direct setup, private metadata and safe defaults

Choose a tag to compare

@github-actions github-actions released this 21 Oct 21:57
e7e66f8

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 need readOnly: false. Database grants and operator policies still apply.
  • Verify and record SSH host keys in known_hosts. The explicit legacy opt-out is OMNISQL_SSH_STRICT_HOST_KEY=false.
  • An explicit config file excludes unrelated saved workspace connections. Set OMNISQL_DISCOVER_WORKSPACE=true only 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

Choose a tag to compare

@srthkdev srthkdev released this 18 Oct 08:50
b650180

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_databases for 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

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

Full Changelog: v1.3.0...v2.2.0