tdsql-mcp 1.3.8__tar.gz → 1.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/PKG-INFO +1 -1
  2. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/pyproject.toml +1 -1
  3. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/catalog-views.md +67 -0
  4. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/guidelines.md +21 -0
  5. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/index.md +9 -0
  6. tdsql_mcp-1.4.0/skills/teradata-sql-analytics/syntax/object-store.md +743 -0
  7. tdsql_mcp-1.4.0/skills/teradata-sql-analytics/syntax/open-table-format.md +788 -0
  8. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/query-tuning.md +38 -0
  9. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/sql-basics.md +62 -0
  10. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/src/tdsql_mcp/server.py +13 -12
  11. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/.env.example +0 -0
  12. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/.gitignore +0 -0
  13. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/CLAUDE.md +0 -0
  14. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/README.md +0 -0
  15. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/docs/architecture.md +0 -0
  16. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/requirements.txt +0 -0
  17. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/README.md +0 -0
  18. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/SKILL.md +0 -0
  19. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/aggregate-functions.md +0 -0
  20. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/ai-text-analytics.md +0 -0
  21. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/association-analysis.md +0 -0
  22. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/authorization-objects.md +0 -0
  23. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/bit-byte-functions.md +0 -0
  24. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/byom-model-loading.md +0 -0
  25. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/byom-scoring.md +0 -0
  26. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/conditional.md +0 -0
  27. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/data-cleaning.md +0 -0
  28. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/data-exploration.md +0 -0
  29. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/data-prep.md +0 -0
  30. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/data-types-casting.md +0 -0
  31. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/date-time.md +0 -0
  32. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/embeddings.md +0 -0
  33. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/fit-transform-pattern.md +0 -0
  34. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/geospatial.md +0 -0
  35. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/hypothesis-testing.md +0 -0
  36. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/json-functions.md +0 -0
  37. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/llm-providers.md +0 -0
  38. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/ml-functions.md +0 -0
  39. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/ml-patterns.md +0 -0
  40. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/model-evaluation.md +0 -0
  41. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/numeric-functions.md +0 -0
  42. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/path-analysis.md +0 -0
  43. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/string-functions.md +0 -0
  44. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/text-analytics.md +0 -0
  45. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-concepts.md +0 -0
  46. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-data-prep.md +0 -0
  47. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-diagnostics.md +0 -0
  48. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-dsp.md +0 -0
  49. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-estimation.md +0 -0
  50. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-forecasting.md +0 -0
  51. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-formula-rules.md +0 -0
  52. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-utility.md +0 -0
  53. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/utility-functions.md +0 -0
  54. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/vector-search.md +0 -0
  55. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/window-functions.md +0 -0
  56. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/src/tdsql_mcp/__init__.py +0 -0
  57. {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tdsql-mcp
3
- Version: 1.3.8
3
+ Version: 1.4.0
4
4
  Summary: MCP server for Teradata Vantage — SQL execution and native analytics function reference for AI agents
5
5
  Project-URL: Homepage, https://github.com/ksturgeon-td/tdsql-mcp
6
6
  Project-URL: Repository, https://github.com/ksturgeon-td/tdsql-mcp
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "tdsql-mcp"
7
- version = "1.3.8"
7
+ version = "1.4.0"
8
8
  description = "MCP server for Teradata Vantage — SQL execution and native analytics function reference for AI agents"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -139,3 +139,70 @@ JOIN DBC.TablesV t
139
139
  WHERE c.DatabaseName = 'mydb'
140
140
  ORDER BY c.TableName, c.ColumnId;
141
141
  ```
142
+
143
+ ---
144
+
145
+ ## Open Table Format (OTF) Catalog Views
146
+
147
+ These views cover registered datalakes, external servers, and OTF statistics. They supplement the standard HELP commands (`HELP DATALAKE`, `HELP DATABASE`, `HELP TABLE`) — see `open-table-format` topic for HELP command syntax.
148
+
149
+ ### DBC.DatalakeInfoV — Registered Datalakes
150
+
151
+ ```sql
152
+ -- All registered datalakes and their properties
153
+ SELECT DatalakeName, CatalogType, CatalogURL,
154
+ ObjectStoragePlatform, AuthorizationName, CommentString
155
+ FROM DBC.DatalakeInfoV
156
+ ORDER BY DatalakeName;
157
+ ```
158
+
159
+ Columns include: `DatalakeName`, `CatalogType` (hive/glue/unity/rest/fabric), `CatalogURL`, `ObjectStoragePlatform` (S3/Azure/GCS), `AuthorizationName`, `CreateTimeStamp`, `CommentString`.
160
+
161
+ ### DBC.ServerV — External Servers
162
+
163
+ ```sql
164
+ -- All external server objects (includes datalakes)
165
+ SELECT ServerName, ServerType, AuthorizationName, CommentString
166
+ FROM DBC.ServerV
167
+ ORDER BY ServerType, ServerName;
168
+ ```
169
+
170
+ ### DBC.ManagedOTFTablesV — Managed OTF Tables
171
+
172
+ Lists OTF tables that Teradata has registered as managed (created via Vantage DDL rather than discovered from the catalog):
173
+
174
+ ```sql
175
+ SELECT DatalakeName, DatabaseName, TableName, TableFormat,
176
+ CreateTimeStamp, LastAlterTimeStamp
177
+ FROM DBC.ManagedOTFTablesV
178
+ ORDER BY DatalakeName, DatabaseName, TableName;
179
+ ```
180
+
181
+ ### DBC.OtfStatsV — OTF Statistics
182
+
183
+ Statistics collected on OTF table columns (via COLLECT STATISTICS with three-tier notation):
184
+
185
+ ```sql
186
+ -- Statistics collected on OTF tables
187
+ SELECT DatabaseName, TableName, ColumnName, StatsType,
188
+ LastCollectTimeStamp, SampleSize
189
+ FROM DBC.OtfStatsV
190
+ WHERE DatabaseName = 'my_lake'
191
+ ORDER BY TableName, ColumnName;
192
+ -- DatabaseName here is the datalake name
193
+ ```
194
+
195
+ ### DBC.AllStatsV — All Statistics (Teradata + OTF)
196
+
197
+ Combined view of statistics across both relational Teradata tables and OTF tables:
198
+
199
+ ```sql
200
+ -- All stats (TD + OTF) for a database
201
+ SELECT DatabaseName, TableName, ColumnName, StatsType,
202
+ LastCollectTimeStamp
203
+ FROM DBC.AllStatsV
204
+ WHERE DatabaseName = 'mydb'
205
+ ORDER BY TableName;
206
+ ```
207
+
208
+ `DBC.StatsV` covers only relational tables. Use `DBC.AllStatsV` when you need a single view across both table types.
@@ -401,6 +401,27 @@ For full EXPLAIN interpretation guidance, optimization playbook, stats collectio
401
401
 
402
402
  ---
403
403
 
404
+ ## External Data Access
405
+
406
+ ### Open Table Format (OTF) — Iceberg and Delta Lake
407
+
408
+ For working with Apache Iceberg or Delta Lake tables in external catalogs (Hive, Glue, Unity, REST):
409
+ - Load `get_syntax_help(topic='open-table-format')` before writing any OTF DDL or DML
410
+ - OTF tables use three-tier dot notation: `datalake.database.table`
411
+ - **HELP TABLE, not describe_table:** `DBC.ColumnsV` does not cover OTF tables. Use `HELP TABLE my_lake.db.table;` passed through `execute_query` to inspect OTF table columns
412
+ - **HELP commands are first-class statements:** `HELP DATALAKE`, `HELP DATABASE`, `HELP TABLE` query the external catalog directly — do not rewrite them as SELECT queries against DBC views
413
+ - For CREATE/ALTER/DROP TABLE and DML (INSERT/UPDATE/DELETE) on OTF tables, follow the syntax exactly — OTF has significant restrictions vs. relational SQL
414
+
415
+ ### Native Object Store (NOS) — S3, Azure, GCS
416
+
417
+ For ad-hoc object store access (READ_NOS), persistent access (CREATE FOREIGN TABLE), or export (WRITE_NOS):
418
+ - Load `get_syntax_help(topic='object-store')` before writing any NOS SQL
419
+ - **HELP TABLE, not describe_table:** `DBC.ColumnsV` does not cover foreign tables. Use `HELP TABLE mydb.foreign_table;` or `READ_NOS(USING ... RETURNTYPE('NOSREAD_SCHEMA'))` to discover schema
420
+ - For import workflows, use the foreign table → CAST view → permanent table pattern documented in the `object-store` topic
421
+ - Collect statistics on payload attributes used in joins or filters to improve query plans against foreign tables
422
+
423
+ ---
424
+
404
425
  ## When Manual SQL Is Appropriate
405
426
 
406
427
  Native functions do not cover everything. Use hand-written SQL for:
@@ -65,6 +65,12 @@ Use `get_syntax_help(topic="<name>")` to load any topic below.
65
65
  |-------|-------------|
66
66
  | `geospatial` | ST_Geometry, MBR/MBB types, WKT/WKB formats, spatial relationships (ST_Within, ST_Contains, ST_Distance, etc.), geospatial indexes, tessellation, AggGeom, GeometryToRows, PolygonSplit, MGRS conversion, SYSSPATIAL metadata |
67
67
 
68
+ ## External Data
69
+ | Topic | Description |
70
+ |-------|-------------|
71
+ | `open-table-format` | Iceberg v2 and Delta Lake v3 via external catalogs (Hive/Glue/Unity/REST): CREATE DATALAKE, three-tier `datalake.db.table` notation, SELECT/DML, time travel, metadata functions (TD_SNAPSHOTS, TD_MANIFESTS, TD_PARTITIONS, TD_HISTORY), CREATE/ALTER/DROP TABLE, COLLECT STATS, type mappings, limitations |
72
+ | `object-store` | Native Object Store (NOS): CREATE FOREIGN TABLE for persistent access, READ_NOS for ad-hoc reads and schema discovery, WRITE_NOS for export to S3/Azure/GCS; Parquet/CSV/JSON formats; PATHPATTERN partition pruning; SNAPSHOT_LOCATION; import workflow; best practices |
73
+
68
74
  ## Reference
69
75
  | Topic | Description |
70
76
  |-------|-------------|
@@ -94,6 +100,9 @@ Recommended topic reading order for common end-to-end tasks. Load these topics i
94
100
  | **Micromodeling (per-segment models)** | `ml-functions` (TD_GLM) → `ml-patterns` (micromodeling) |
95
101
  | **Semantic search / RAG embeddings** | `authorization-objects` → `llm-providers` → `embeddings` → `vector-search` |
96
102
  | **In-database ONNX inference** | `byom-model-loading` → `embeddings` (ONNXEmbeddings) → `vector-search` |
103
+ | **Query Iceberg / Delta Lake tables** | `open-table-format` |
104
+ | **Import NOS data into Vantage** | `object-store` (foreign table → CAST view → permanent table) |
105
+ | **Export Vantage data to S3/Azure/GCS** | `object-store` (WRITE_NOS) |
97
106
  | **Time series forecasting (ARIMA)** | `uaf-concepts` → `uaf-data-prep` → `uaf-estimation` → `uaf-forecasting` → `uaf-diagnostics` |
98
107
  | **Regression on ordered series** | `uaf-concepts` → `uaf-data-prep` → `uaf-estimation` (TD_LINEAR_REGR / TD_MULTIVAR_REGR) → `uaf-diagnostics` |
99
108
  | **Frequency / spectral analysis** | `uaf-concepts` → `uaf-dsp` (TD_DFFT, TD_POWERSPEC, TD_LINESPEC) |