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.
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/PKG-INFO +1 -1
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/pyproject.toml +1 -1
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/catalog-views.md +67 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/guidelines.md +21 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/index.md +9 -0
- tdsql_mcp-1.4.0/skills/teradata-sql-analytics/syntax/object-store.md +743 -0
- tdsql_mcp-1.4.0/skills/teradata-sql-analytics/syntax/open-table-format.md +788 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/query-tuning.md +38 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/sql-basics.md +62 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/src/tdsql_mcp/server.py +13 -12
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/.env.example +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/.gitignore +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/CLAUDE.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/README.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/docs/architecture.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/requirements.txt +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/README.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/SKILL.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/aggregate-functions.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/ai-text-analytics.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/association-analysis.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/authorization-objects.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/bit-byte-functions.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/byom-model-loading.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/byom-scoring.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/conditional.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/data-cleaning.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/data-exploration.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/data-prep.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/data-types-casting.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/date-time.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/embeddings.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/fit-transform-pattern.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/geospatial.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/hypothesis-testing.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/json-functions.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/llm-providers.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/ml-functions.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/ml-patterns.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/model-evaluation.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/numeric-functions.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/path-analysis.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/string-functions.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/text-analytics.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-concepts.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-data-prep.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-diagnostics.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-dsp.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-estimation.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-forecasting.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-formula-rules.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/uaf-utility.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/utility-functions.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/vector-search.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/skills/teradata-sql-analytics/syntax/window-functions.md +0 -0
- {tdsql_mcp-1.3.8 → tdsql_mcp-1.4.0}/src/tdsql_mcp/__init__.py +0 -0
- {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
|
+
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.
|
|
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) |
|