tdsql-mcp 1.4.1__tar.gz → 1.4.2__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 (58) hide show
  1. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/PKG-INFO +1 -1
  2. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/pyproject.toml +1 -1
  3. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/SKILL.md +5 -0
  4. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/src/tdsql_mcp/server.py +16 -0
  5. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/.claude-plugin/plugin.json +0 -0
  6. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/.env.example +0 -0
  7. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/.gitignore +0 -0
  8. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/CLAUDE.md +0 -0
  9. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/README.md +0 -0
  10. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/docs/architecture.md +0 -0
  11. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/requirements.txt +0 -0
  12. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/README.md +0 -0
  13. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/aggregate-functions.md +0 -0
  14. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/ai-text-analytics.md +0 -0
  15. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/association-analysis.md +0 -0
  16. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/authorization-objects.md +0 -0
  17. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/bit-byte-functions.md +0 -0
  18. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/byom-model-loading.md +0 -0
  19. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/byom-scoring.md +0 -0
  20. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/catalog-views.md +0 -0
  21. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/conditional.md +0 -0
  22. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/data-cleaning.md +0 -0
  23. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/data-exploration.md +0 -0
  24. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/data-prep.md +0 -0
  25. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/data-types-casting.md +0 -0
  26. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/date-time.md +0 -0
  27. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/embeddings.md +0 -0
  28. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/fit-transform-pattern.md +0 -0
  29. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/geospatial.md +0 -0
  30. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/guidelines.md +0 -0
  31. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/hypothesis-testing.md +0 -0
  32. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/index.md +0 -0
  33. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/json-functions.md +0 -0
  34. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/llm-providers.md +0 -0
  35. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/ml-functions.md +0 -0
  36. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/ml-patterns.md +0 -0
  37. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/model-evaluation.md +0 -0
  38. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/numeric-functions.md +0 -0
  39. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/object-store.md +0 -0
  40. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/open-table-format.md +0 -0
  41. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/path-analysis.md +0 -0
  42. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/query-tuning.md +0 -0
  43. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/sql-basics.md +0 -0
  44. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/string-functions.md +0 -0
  45. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/text-analytics.md +0 -0
  46. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/uaf-concepts.md +0 -0
  47. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/uaf-data-prep.md +0 -0
  48. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/uaf-diagnostics.md +0 -0
  49. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/uaf-dsp.md +0 -0
  50. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/uaf-estimation.md +0 -0
  51. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/uaf-forecasting.md +0 -0
  52. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/uaf-formula-rules.md +0 -0
  53. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/uaf-utility.md +0 -0
  54. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/utility-functions.md +0 -0
  55. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/vector-search.md +0 -0
  56. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/skills/teradata-sql-analytics/syntax/window-functions.md +0 -0
  57. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/src/tdsql_mcp/__init__.py +0 -0
  58. {tdsql_mcp-1.4.1 → tdsql_mcp-1.4.2}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tdsql-mcp
3
- Version: 1.4.1
3
+ Version: 1.4.2
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.4.1"
7
+ version = "1.4.2"
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"
@@ -29,6 +29,11 @@ Apply these principles throughout the session:
29
29
  **1. Don't assume. Surface uncertainty and tradeoffs.**
30
30
  If you know a native function exists but haven't loaded its syntax topic, say so — don't write syntax from training knowledge. When multiple approaches fit (exact vs. approximate vector search, ARIMA vs. Holt-Winters, TD_XGBoost vs. TD_GLM), state the tradeoff and let the user decide. If the schema or task is ambiguous, ask before writing SQL.
31
31
 
32
+ **Topic triggers — load these immediately when the task involves:**
33
+ - Apache Iceberg, Delta Lake, Open Table Format, OTF tables, DATALAKE objects, three-tier notation (`datalake.db.table`) → read [syntax/open-table-format.md](syntax/open-table-format.md)
34
+ - S3, Azure Blob, GCS, object store, READ_NOS, WRITE_NOS, CREATE FOREIGN TABLE, NOS foreign tables → read [syntax/object-store.md](syntax/object-store.md)
35
+ - `describe_table` does not work for OTF or foreign tables — use `HELP TABLE` passed through `execute_query` instead
36
+
32
37
  **2. Minimum SQL that solves the problem. Nothing speculative.**
33
38
  Don't add columns, CTEs, or transformations that weren't requested. At Teradata scale, unnecessary work has real cost. Load only the syntax topics needed for the current task.
34
39
 
@@ -31,6 +31,10 @@ mcp = FastMCP(
31
31
  "AI_* functions, etc.) from training knowledge — training data for these functions is frequently "
32
32
  "incomplete or incorrect. Always call get_syntax_help to load authoritative syntax before writing "
33
33
  "any native function call. "
34
+ "CRITICAL: For Apache Iceberg or Delta Lake (Open Table Format) tables: always call "
35
+ "get_syntax_help(topic='open-table-format') before writing any DDL, DML, or query. "
36
+ "CRITICAL: For Native Object Store access (READ_NOS, WRITE_NOS, foreign tables pointing to "
37
+ "S3, Azure, or GCS): always call get_syntax_help(topic='object-store') before writing any SQL. "
34
38
  "Before writing any SQL: "
35
39
  "(1) call get_syntax_help(topic='sql-basics') for Teradata SQL fundamentals — reserved word quoting, "
36
40
  "DDL syntax, operator differences from standard SQL, "
@@ -40,6 +44,8 @@ mcp = FastMCP(
40
44
  "(4) load the relevant topic(s) for exact syntax. "
41
45
  "Use explain_query to validate syntax before executing. "
42
46
  "Use describe_table and list_tables to explore the schema. "
47
+ "IMPORTANT: describe_table does not work for OTF (Iceberg/Delta Lake) tables or NOS foreign tables "
48
+ "— use HELP TABLE passed through execute_query instead. "
43
49
  "Results are returned as JSON."
44
50
  ),
45
51
  )
@@ -301,6 +307,16 @@ def get_syntax_help(topic: str = "index") -> str:
301
307
  and required options are complex and training data is frequently wrong. This tool returns
302
308
  the authoritative syntax. When in doubt about exact syntax, load the topic first.
303
309
 
310
+ Topic quick-reference for common scenarios:
311
+ - Apache Iceberg tables, Delta Lake tables, Open Table Format (OTF), DATALAKE objects,
312
+ three-tier notation (datalake.db.table), time travel → topic='open-table-format'
313
+ - S3, Azure Blob, GCS, READ_NOS, WRITE_NOS, CREATE FOREIGN TABLE, NOS,
314
+ object store, foreign table → topic='object-store'
315
+ - ML, XGBoost, random forest, clustering, regression → topic='ml-functions'
316
+ - Embeddings, vector search, semantic search, RAG → topic='vector-search' or 'embeddings'
317
+ - Time series, forecasting, ARIMA → topic='uaf-concepts' then 'uaf-forecasting'
318
+ - LLM text analytics, sentiment, PII → topic='ai-text-analytics'
319
+
304
320
  Recommended call order:
305
321
  1. get_syntax_help(topic='guidelines') — see the canonical mapping of common SQL
306
322
  patterns to native Teradata functions (start here if unsure what exists)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes