v0.3.0
Pre-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-onlyRead-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_settingstool 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@latestRun directly
npx -y @ibm/ibmi-mcp-server@latest --helpConfiguration
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 modeMigration Notes:
- β Fully backward compatible with v0.2.0
- β No breaking changes or manual migration required
π Resources
- Documentation: Repo
- npm: @ibm/ibmi-mcp-server
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