v2.1.4 - NL2KQL Accuracy, Schema Type Normalization & Log Redaction
MCP KQL Server v2.1.4
Sharpens NL2KQL generation accuracy and hardens logging. No changes to the public tool contract - drop-in upgrade from v2.1.3.
Highlights
Canonical schema type normalization (NL2KQL accuracy)
Schema discovery now collapses every column type to a single canonical KQL vocabulary (datetime, string, bool, int, long, real, decimal, guid, timespan, dynamic) via a new normalize_kql_type() helper, applied across all ingestion paths. Previously, different paths stored inconsistent spellings (e.g. Int64, DateTime, System.String), so data-type-aware generation (time filters, aggregations, grouping) silently missed columns. CSL ColumnType/CslType is now preferred over the .NET DataType.
Credential redaction in logs
New redact_secrets() helper masks user:pass@host, password=/token: pairs, and Bearer <jwt> tokens before any raw query or connection string is logged.
Leaner dependencies & single-source version
- Removed unused
scikit-learnandauthlib; pinnedpandas>=1.3.0,<3.0.0. - Package version now has a single literal source (
constants.py), re-exported by__init__.pyand enforced for parity withpyproject.tomlandserver.jsonin CI.
Tooling
- Hardened the CI version-consistency check to read the literal source and cross-check
server.json. - Standardized author/email headers across modules.
Install / Upgrade
pip install --upgrade mcp-kql-server==2.1.4Authentication unchanged: both query execution and schema discovery use your az login token via Azure CLI authentication.