Skip to content

v0.3.0

Pre-release
Pre-release

Choose a tag to compare

@ajshedivy ajshedivy released this 26 Jan 22:15
· 67 commits to main since this release

🎯 Overview

Version 0.3.0 introduces the new execute_sql built-in tool, enabling AI agents to interact directly with your IBM i database through dynamic SQL queries. This release also includes enhanced SQL parsing, security validation, and architectural improvements.

Key Highlights

  • NEW: execute_sql Tool: Dynamic SQL execution with built-in security controls
  • Enhanced SQL Parser: Improved Db2 for i syntax understanding
  • Modern Transport Layer: Upgraded to Web Standards API

πŸš€ What's New

1. New execute_sql Tool

The headline feature of v0.3.0 is the built-in execute_sql tool, which allows AI agents to execute arbitrary SQL queries against your IBM i database.

Key Capabilities:

  • Dynamic Query Execution: Run any SELECT query to retrieve IBM i data
  • Configurable Security: Enable read-only mode to prevent modifications
  • Smart Validation: Built-in checks using IBM i's native validation and SQL parsing
  • Easy Configuration: Simple environment variable setup

Quick Start: Enable the tool and configure security

IBMI_EXECUTE_SQL_ENABLED=true  # disabled by default
IBMI_EXECUTE_SQL_READONLY=true  # Optional: enforce read-only

Read-Only Mode:
When enabled, the tool blocks write operations while allowing queries:

  • βœ… Allows: SELECT, WITH (CTEs), FETCH
  • ❌ Blocks: INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, GRANT, REVOKE

Use Cases:

  • AI assistants analyzing system performance
  • Automated reporting and data exploration
  • Database monitoring and troubleshooting

πŸ“š Reference: #92 - SQL security validation for readonly operations


2. Enhanced SQL Parser

Integrated the SQL parser from the VS Code Db2i extension to improve syntax understanding and validation.

Improvements:

  • Better handling of complex Db2 for i syntax (CTEs, subqueries, joins)
  • Enhanced security validation accuracy
  • Improved error detection before query execution
  • Fallback validation for edge cases

This parser powers the security validation in the new execute_sql tool, ensuring accurate detection of write operations in read-only mode.

πŸ“š Reference: #97 - Add vscode db2i sql parser


πŸ”§ Additional Improvements

Bug Fixes

  • SQL Template Syntax: Updated check_command_audit_settings tool to use modern named parameter syntax (:command_names) instead of deprecated template syntax (#95)

Architecture & Performance

  • Tool Consolidation: Streamlined tool architecture with factory pattern, removed obsolete code (~3,600 lines removed) (#91)
  • Transport Layer: Upgraded to MCP SDK v1.25.2 with Web Standards API and OpenTelemetry support for better observability (#93)

πŸ“¦ Installation & Upgrade

Installation

npm install -g @ibm/ibmi-mcp-server@latest

Run directly

npx -y @ibm/ibmi-mcp-server@latest --help

Configuration

Enable the new execute_sql tool in your .env or MCP client config:

IBMI_EXECUTE_SQL_ENABLED=true
IBMI_EXECUTE_SQL_READONLY=true  # Optional: enforce read-only mode

Migration Notes:

  • βœ… Fully backward compatible with v0.2.0
  • βœ… No breaking changes or manual migration required

πŸ“š Resources


What's Changed

  • Chore: consolidate default tools by @ajshedivy in #91
  • fix: replace deprecated template syntax with named parameters by @itsdevansh in #95
  • Feat: sql security validation for readonly operations by @ajshedivy in #92
  • chore: update dependencies and refactor transport managers by @ajshedivy in #93
  • Feat: Add vscode db2i sql parser by @ajshedivy in #97
  • Update object-statistics-dev.yaml by @forstie in #88
  • Update performance.yaml by @forstie in #87

New Contributors

Full Changelog: v0.2.0...v0.3.0