teradata/teradata-mcp-server

teradata/teradata-mcp-server

от teradata
Подключает AI-агентов напрямую к Teradata для запросов, профилирования данных, семантических слоёв и RAG-пайплайнов. MCP сервер с хуками для аудита, контролем лимитов строк и enterprise-безопасностью. Идеально дата-инженерам, DBA и разработчикам ИИ.

Teradata MCP Server

docs release PyPI downloads

Connect AI agents directly to Teradata with enterprise security and extensibility.

Teradata MCP Server architecture

Quick Start (Choose Your Path)

Client Best For Setup Time
Claude Desktop Exploratory analysis, platform admin 5 min
VS Code + Copilot Data engineering, agent development 5 min
Open WebUI Testing new LLMs locally 5 min
Code Examples Build your own client varies
Flowise Visual agent builder 10 min

Pre-requisites: Teradata database (or free sandbox) + uv

Claude Desktop Setup (No Installation)

Add this to claude_desktop_config.json (Settings > Developer > Edit Config):

{
  "mcpServers": {
    "teradata": {
      "command": "uvx",
      "args": ["teradata-mcp-server"],
      "env": {
        "DATABASE_URI": "teradata://<USERNAME>:<PASSWORD>@<HOST_URL>:1025/<USERNAME>"
      }
    }
  }
}

What You Can Do

Use Case Capabilities Tools
Query & Analyze Explore tables, profile data, explain results, visualize patterns—no SQL needed base, dba, qlty, plot
Semantic Layer Generate custom semantic layers and tools from YAML or with our Agent Skill Learn more →
AI & RAG Pipelines Semantic search, retrieval-augmented generation, vector storage rag, tdvs, fs
Database Admin Manage security, monitor capacity, automate backups dba, sec, bar
Инструменты были проиндексированы:
base_columnDescriptionтолько чтениеидемпотентный

Перечисляет имена столбцов, типы данных и основные атрибуты для одной таблицы или представления Teradata. Используйте для простых вопросов вроде «какие столбцы есть в этой таблице?» или «какие поля и их типы?». Для точных кодов типов Teradata, наборов символов, точности десятичных чисел, сведений об индексах или массовых метаданных по многим объектам используйте вместо этого base_columnMetadata. Аргументы: database_name - Имя базы данных. По умолчанию «%» (все базы данных). table_name - Имя таблицы или представления. По умолчанию «%» (все таблицы). persist - Если True, материализует результат как временную таблицу и возвращает имя таблицы.

Параметры
  • database_namestring

    Database name. Defaults to '%' (all databases).

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestring

    Table or view name. Defaults to '%' (all tables).

base_columnMetadataтолько чтениеидемпотентный

Извлекает подробные технические метаданные колонок для таблиц и представлений Teradata, включая точные коды типов Teradata, кодировки (LATIN/UNICODE), точность, масштаб десятичных чисел, допустимость NULL и классификацию индексов. Используй, когда пользователю нужна точная информация о колонках Teradata, а не просто список имён и типов. Для простого списка колонок и типов одного объекта используй base_columnDescription. Поддерживает массовое извлечение по множеству объектов с контролем объёма ответа и времени выполнения. Пути разрешения: Таблицы (T, O, Q) — DBC.ColumnsVX + DBC.IndicesVX. HELP COLUMN не используется. Представления (V) — HELP COLUMN с обёрткой в виде производной таблицы, единственный надёжный механизм для разрешения типов колонок представлений. Использует нативный курсор TeradataConnection, как и все остальные инструменты в этом модуле. Технические возможности: - Точные коды типов Teradata и их строковые эквиваленты SQL - Сведения о кодировке (LATIN, UNICODE и т.д.) - Точность и масштаб десятичных чисел - Обнаружение повреждённых/невалидных представлений - Метаданные колонок всех объектов в базе данных одним запросом РЕКОМЕНДАЦИИ ПО МАСШТАБНОМУ ИСПОЛЬЗОВАНИЮ: ------------------------------------------- При извлечении метаданных для многих объектов (например, всех представлений в DBC) и объём ответа, и время выполнения могут выйти за лимиты. Используй следующие приёмы, чтобы контролировать оба параметра: 1. ФИЛЬТРАЦИЯ ПОЛЕЙ: Передавай только нужные колонки через параметр fields. Строки из HELP COLUMN по умолчанию возвращают ~49 полей; строки из DBC.ColumnsVX — меньше. Сокращение до 6-8 полей может уменьшить объём ответа на 80%+. Три вычисляемых поля (ColumnTypeString, IndexTypeString, CharSetString) всегда включаются автоматически. Пример: fields='ColumnName,ColumnType,ColumnLength,CharType, UpperCase,Nullable,Indexed?,Primary?,Unique?' 2. ИСКЛЮЧЕНИЕ ОБЪЕКТОВ: Используй exclude_objects, чтобы пропустить объекты, которые не нужны. Принимает шаблоны SQL LIKE (% — маска) в виде CSV. Применяется до выполнения любых запросов к метаданным, так что исключённые…

Параметры
  • database_namestringобязательный
  • exclude_objectsstring | null
  • fieldsstring | null
  • max_execution_secondsinteger | null
  • max_payload_kbinteger | null
  • max_workersinteger | null
  • object_namestring | null
  • table_kindstring | null
base_databaseListтолько чтениеидемпотентный

Перечисляет все базы данных или схемы, доступные в системе Teradata. Вызывайте ТОЛЬКО когда пользователь явно спрашивает, какие базы данных или схемы существуют в системе. НЕ вызывайте этот инструмент как предварительный шаг для перечисления таблиц — если пользователь спрашивает о таблицах, не называя базу данных, спросите его, какую базу данных он имеет в виду, вместо того чтобы сначала получать список баз данных. Аргументы: scope — Фильтр области: 'user' возвращает только базы данных, созданные пользователем (исключает системные базы данных), 'all' возвращает все базы данных. persist — Если True, материализует результат в виде временной таблицы и возвращает имя таблицы.

Параметры
  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • scopestring

    Filter scope: 'user' returns only user-created databases (excludes system databases), 'all' returns every database.

base_readQueryтолько чтениеидемпотентный

Выполняет предоставленный пользователем SQL-запрос к Teradata и возвращает результаты. Используйте этот инструмент ТОЛЬКО когда пользователь предоставляет явный SQL-запрос или запрос, содержащий условия фильтрации (WHERE, агрегации, JOIN и т.д.). НЕ используйте для простого просмотра или выборки строк из таблицы — для этого используйте base_tablePreview. Параметр sql обязателен и должен содержать полный текст SQL. Аргументы: sql - текст SQL, с необязательными плейсхолдерами связанных параметров persist - установите значение True, чтобы сохранить результаты как таблицу и использовать их позже. Рекомендуется для больших наборов результатов. row_limit - максимальное количество возвращаемых строк (по умолчанию 1000, максимум 50000). Укажите большее значение, если вам нужно больше строк. Когда метаданные ответа содержат 'truncated: true', за пределами лимита существуют дополнительные строки. Чтобы получить больше данных: - Укажите большее значение row_limit (до 50000), чтобы получить больше строк в ответе. - Используйте persist=true, чтобы записать все строки в временную таблицу и напрямую запросить её — это полностью обходит ограничение по строкам и является рекомендуемым подходом для больших наборов результатов. Возвращает: ResponseType: форматированный ответ с результатами запроса и метаданными (включает поле 'volatile_table' в метаданные, если persist=True) (включает 'truncated' и 'row_limit' в метаданные, когда результаты ограничены)

Параметры
  • persistboolean
  • row_limitinteger | null
  • sqlstring | null
base_saveDDLтолько чтениеидемпотентный

Извлекает DDL для таблицы, представления или хранимой процедуры Teradata и СОХРАНЯЕТ его в виде .sql файла на диске. Используйте этот инструмент ТОЛЬКО когда пользователь явно хочет экспортировать, записать, загрузить или сохранить DDL в файл. НЕ используйте для простого отображения или просмотра DDL в ходе беседы — используйте base_tableDDL для отображения DDL без сохранения. Аргументы: database_name - Имя базы данных (например, 'MKTG_USR') table_name - Имя объекта (например, 'SP_LOAD_VARIABLES_ARGUMENTARIO_IAG_FICHA_CLIENTE'). Принимает значения через запятую для массового извлечения. object_type - Тип объекта: 'PROCEDURE', 'TABLE', 'VIEW' (по умолчанию: 'PROCEDURE') output_dir - Каталог для сохранения DDL файла (по умолчанию: './ddls_extracted') Возвращает: ResponseType: отформатированный ответ с путём к файлу, размером и метаданными

Параметры
  • database_namestringобязательный
  • object_typestring
  • output_dirstring
  • table_namestringобязательный
base_tableAffinityтолько чтениеидемпотентный

Определяет, какие таблицы в базе данных имеют тенденцию совместно встречаться в одних и тех же SQL-запросах, выявляя естественные JOIN-связи и паттерны близости данных. Используйте, когда пользователь спрашивает, какие таблицы запрашиваются вместе, какие таблицы связаны с определённой таблицей или какие таблицы часто используются в одних и тех же рабочих процессах. Для частоты доступа, количества запросов или статистики по пользователям используйте base_tableUsage. Аргументы: database_name - Имя базы данных table_name - Имя таблицы или представления persist - Если True, материализует результат как временную таблицу и возвращает имя таблицы

Параметры
  • database_namestringобязательный

    Database name

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table or view name

base_tableDDLтолько чтениеидемпотентный

Возвращает оператор CREATE TABLE DDL для таблицы Teradata, показывая полное определение схемы, включая типы столбцов, ограничения, первичные индексы и ключи. Используйте, когда пользователю нужен оператор CREATE, определение таблицы или требуется увидеть, как таблица была построена. Если пользователь не указал и имя таблицы, и имя базы данных, запросите уточнение перед вызовом, не угадывайте и не используйте пустое имя базы данных. Чтобы сохранить DDL в файл на диске, используйте base_saveDDL. Если нужны только имена и типы столбцов, используйте base_columnDescription. Аргументы: table_name - Имя таблицы database_name - Имя базы данных persist - Если True, материализует результат как volatile-таблицу и возвращает имя таблицы

Параметры
  • database_namestringобязательный

    Database name

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table name

base_tableListтолько чтениеидемпотентный

Перечисляет все таблицы и представления в указанной базе данных Teradata или схеме. Передайте конкретное имя базы данных, чтобы перечислить таблицы только в этой базе. Опустите или оставьте пустым, чтобы перечислить таблицы из всех баз. Если пользователь не указал базу данных, а вы хотите перечислить таблицы из одной базы, задайте уточняющий вопрос вместо возврата результатов из всех баз. Arguments: database_name - Имя базы данных. Оставьте пустым, чтобы перечислить таблицы из всех баз. persist - Если True, материализует результат как временную таблицу и возвращает имя таблицы.

Параметры
  • database_namestring

    Database name. Leave empty to list tables from all databases.

  • persistboolean

    If True, materializes result as a volatile table and returns table name

base_tablePreviewтолько чтениеидемпотентный

Возвращает быстрый образец первых нескольких строк из таблицы или представления Teradata, чтобы пользователь мог увидеть, как выглядят данные, без необходимости писать SQL. Используйте этот инструмент, когда пользователь хочет изучить или заглянуть в содержимое таблицы, не указывая условий и не составляя запрос. НЕ используйте, если пользователь предоставляет условие WHERE, фильтр или явный SQL-запрос — для этого используйте base_readQuery. Аргументы: table_name — Имя таблицы или представления database_name — Имя базы данных persist — Если True, материализует результат в виде volatile-таблицы и возвращает имя таблицы

Параметры
  • database_namestring

    Database name

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table or view name

base_tableUsageтолько чтениеидемпотентный

Выводит частоту доступа и шаблоны запросов пользователей для таблиц и представлений в базе данных Teradata, показывая, какие объекты наиболее активно запрашиваются и кем. Используйте, когда пользователь спрашивает, как часто обращаются к таблицам, какие таблицы самые популярные или какие пользователи выполняют запросы к базе данных. Для обнаружения того, какие таблицы встречаются вместе в одних и тех же запросах, используйте base_tableAffinity вместо этого. Arguments: database_name - имя базы данных. Оставьте пустым для всех баз данных. persist - если True, материализует результат как волатильную таблицу и возвращает имя таблицы.

Параметры
  • database_namestring

    Database name. Leave empty for all databases.

  • persistboolean

    If True, materializes result as a volatile table and returns table name

dba_databaseSpaceтолько чтениеидемпотентный

Показывает распределение дискового пространства для конкретной базы данных Teradata. Используйте, когда пользователь спрашивает, сколько места занимает определённая база данных или сколько выделено. Если имя базы данных не указано, запросите уточнение — не вызывайте с пустым именем. Для разбивки по таблицам внутри базы данных используйте dba_tableSpace. Для общесистемных итогов по всем базам данных — dba_systemSpace. Аргументы: database_name — Имя базы данных. Обязательный — не передавайте пустую строку. persist — Если True, материализует результат как временную таблицу и возвращает имя таблицы.

Параметры
  • database_namestringобязательный

    Database name. Required — do not pass empty string.

  • persistboolean

    If True, materializes result as a volatile table and returns table name

dba_databaseVersionтолько чтениеидемпотентный

Возвращает версию программного обеспечения базы данных Teradata и информацию о релизе. Используйте, когда пользователь спрашивает, какая версия Teradata работает в системе. Arguments: persist - Если True, материализует результат в виде временной таблицы и возвращает имя таблицы.

Параметры
  • persistboolean

    If True, materializes result as a volatile table and returns table name

dba_featureUsageтолько чтениеидемпотентный

Сообщает, какие функции продукта Teradata использовались в заданном диапазоне дат. Используйте, когда пользователь спрашивает о внедрении функций, используемых возможностях Teradata или об изменении использования функций за период. Аргументы: start_date - начальная дата диапазона запроса в формате YYYY-MM-DD. end_date - конечная дата диапазона запроса в формате YYYY-MM-DD. persist - если True, материализует результат в виде временной таблицы и возвращает имя таблицы.

Параметры
  • end_datestringобязательный

    The end date for the query range in YYYY-MM-DD format.

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • start_datestringобязательный

    The start date for the query range in YYYY-MM-DD format.

dba_flowControlтолько чтениеидемпотентный

Сообщает о событиях управления потоком нагрузки Teradata, показывая, когда и насколько система ограничивала или задерживала запросы из-за нехватки ресурсов. Используйте, когда пользователь спрашивает о системных ограничениях, задержках управления потоком или о том, как часто диспетчер нагрузки накладывал ограничения. Для получения информации о том, сколько времени отдельные пользователи ждали в очередях, используйте dba_userDelay вместо этого. Аргументы: start_date - начальная дата диапазона запроса в формате ГГГГ-ММ-ДД. end_date - конечная дата диапазона запроса в формате ГГГГ-ММ-ДД. persist - если True, материализует результат в виде временной таблицы и возвращает имя таблицы.

Параметры
  • end_datestringобязательный

    The end date for the query range in YYYY-MM-DD format.

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • start_datestringобязательный

    The start date for the query range in YYYY-MM-DD format.

dba_resusageSummaryтолько чтениеидемпотентный

Сообщает о потреблении ресурсов всей системы (CPU, IO, память) с разбивкой по временному периоду, приложению, типу рабочей нагрузки или классу сложности. Используйте, когда пользователь запрашивает разбивку ресурсов на уровне системы, профили рабочей нагрузки или тенденции потребления за диапазон дат — не привязанные к конкретной базе данных. Для оценки влияния на конкретную базу данных или пользователя в рамках именованной базы данных используйте dba_tableUsageImpact. Аргументы: user_name - Имя пользователя для фильтрации. Оставьте пустым для всех пользователей. LogDate - Дата лога для фильтрации в формате YYYY-MM-DD. Оставьте пустым для всех дат. dayOfWeek - День недели для фильтрации (1=воскресенье, 2=понедельник, ..., 7=суббота). Оставьте пустым для всех дней. hourOfDay - Час дня для фильтрации (0-23). Оставьте пустым для всех часов. workloadType - Тип рабочей нагрузки для фильтрации (например, 'Batch', 'Interactive'). Оставьте пустым для всех типов. workloadComplexity - Сложность рабочей нагрузки для фильтрации (например, 'Simple', 'Medium', 'Complex'). Оставьте пустым для всех уровней сложности. AppID - Идентификатор приложения для фильтрации. Оставьте пустым для всех приложений. no_days - Количество дней для просмотра от текущей даты (например, 7, 30, 90). persist - Если True, материализует результат в виде волатильной таблицы и возвращает имя таблицы.

Параметры
  • AppIDstring

    Application ID to filter by. Leave empty for all applications.

  • dayOfWeekstring

    Day of week to filter by (1=Sunday, 2=Monday, ..., 7=Saturday). Leave empty for all days.

  • hourOfDaystring

    Hour of day to filter by (0-23). Leave empty for all hours.

  • LogDatestring

    Log date to filter by in YYYY-MM-DD format. Leave empty for all dates.

  • no_daysinteger

    Number of days to look back from today (e.g., 7, 30, 90).

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • user_namestring

    User name to filter by. Leave empty for all users.

  • workloadComplexitystring

    Workload complexity to filter by (e.g., 'Simple', 'Medium', 'Complex'). Leave empty for all complexity levels.

  • workloadTypestring

    Workload type to filter by (e.g., 'Batch', 'Interactive'). Leave empty for all workload types.

dba_sessionInfoтолько чтениеидемпотентный

Сообщает информацию о текущих активных сеансах для конкретного пользователя или всех пользователей. Используйте, когда пользователь спрашивает об открытых подключениях, активных сеансах или вошедших в систему пользователях. Можете вызывать со значением по умолчанию '' для показа всех сеансов, если конкретный пользователь не указан, уточнение для этого инструмента не требуется. Аргументы: user_name - Имя пользователя для анализа. Используйте '' для получения всех пользователей. persist - Если True, материализует результат в виде временной таблицы и возвращает имя таблицы.

Параметры
  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • user_namestring

    User name to analyze. Use '*' to get all users.

dba_systemSpaceтолько чтениеидемпотентный

Показывает общее использование дискового пространства по всей системе Teradata, агрегированное по всем базам данных. Используйте, когда пользователь спрашивает о хранилище всего хранилища, общей емкости системы или общем потреблении диска по всем базам данных. Для одной указанной базы данных используйте dba_databaseSpace. Для детализации на уровне таблиц внутри базы данных используйте dba_tableSpace. Аргументы: persist - Если True, материализует результат как волатильную таблицу и возвращает имя таблицы.

Параметры
  • persistboolean

    If True, materializes result as a volatile table and returns table name

dba_tableSpaceтолько чтениеидемпотентный

Показывает использование дискового пространства на уровне таблиц в указанной базе данных Teradata, отсортированное по размеру. Используйте, когда пользователь спрашивает, какие таблицы самые большие или занимают больше всего места в определённой базе данных. НИКОГДА не вызывайте этот инструмент с пустым database_name — если сообщение пользователя не содержит явного имени базы данных, спросите, какую базу данных он хочет, перед вызовом. Для пространства, выделенного целой базе данных, используйте dba_databaseSpace. Для общего системного хранилища используйте dba_systemSpace. Аргументы: database_name - Имя базы данных. Обязательный — не передавайте пустую строку. table_name - Фильтр по имени таблицы. Оставьте пустым для всех таблиц. top_n - Ограничить результаты N самыми большими таблицами по размеру. Установите 0 для без ограничения (по умолчанию: 0). exclude_system - Исключить системные базы данных и таблицы. Установите 'Y' для исключения, 'N' для включения всех (по умолчанию: 'N'). persist - Если True, материализует результат как временную таблицу и возвращает имя таблицы.

Параметры
  • database_namestringобязательный

    Database name. Required — do not pass empty string.

  • exclude_systemstring

    Exclude system databases and tables. Set to 'Y' to exclude, 'N' to include all (default: 'N').

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestring

    Table name filter. Leave empty for all tables.

  • top_ninteger

    Limit results to top N largest tables by space. Set to 0 for no limit (default: 0).

dba_tableSqlListтолько чтениеидемпотентный

Извлекает SQL-запросы, выполненные для указанной именованной таблицы. Используйте, когда пользователь спрашивает, какие запросы выполнялись для конкретной таблицы. Вызывайте ТОЛЬКО когда пользователь явно назвал конкретную таблицу — если в сообщении нет имени таблицы, запросите уточнение. НЕ используйте для истории SQL по пользователю — используйте dba_userSqlList, когда пользователь спрашивает, какие запросы выполнял конкретный человек. Аргументы: table_name - Имя таблицы для поиска no_days - Количество дней для просмотра назад persist - Если True, материализует результат в виде временной таблицы и возвращает имя таблицы

Параметры
  • no_daysinteger

    Number of days to look back

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table name to search for

dba_tableUsageImpactтолько чтениеидемпотентный

Определяет, какие пользователи и таблицы создают наибольшую активность по запросам и ресурсам в конкретной базе данных Teradata. Используйте, когда пользователь спрашивает, кто сильнее всего нагружает именованную базу, какие пользователи активнее всего или какие таблицы создают наибольшую нагрузку. Вызывайте ТОЛЬКО если пользователь указал имя базы — если в сообщении нет имени базы, запросите уточнение. Для общесистемных метрик CPU, ввода-вывода и памяти по временным периодам или приложениям используйте dba_resusageSummary. Аргументы: database_name — имя анализируемой базы данных. Обязательно — не передавайте пустую строку. user_name — имя анализируемого пользователя. Оставьте пустым для всех пользователей. persist — если True, материализует результат в виде временной таблицы (volatile table) и возвращает имя таблицы.

Параметры
  • database_namestringобязательный

    Database name to analyze. Required — do not pass empty string.

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • user_namestring

    User name to analyze. Leave empty for all users.

dba_userDelayтолько чтениеидемпотентный

Сообщает, сколько времени пользователи Teradata ожидали в очереди запросов, прежде чем их запросы начали выполняться. Используйте, когда пользователь спрашивает о времени ожидания, задержках в очереди или о том, сколько времени пришлось ждать. Для событий управления потоком на уровне системы и регулирования рабочей нагрузки используйте dba_flowControl. Аргументы: start_date - Начальная дата диапазона запросов в формате YYYY-MM-DD. end_date - Конечная дата диапазона запросов в формате YYYY-MM-DD. persist - Если True, материализует результат в виде временной таблицы и возвращает имя таблицы.

Параметры
  • end_datestringобязательный

    The end date for the query range in YYYY-MM-DD format.

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • start_datestringобязательный

    The start date for the query range in YYYY-MM-DD format.

dba_userSqlListтолько чтениеидемпотентный

Извлекает SQL-операторы, выполненные конкретным именованным пользователем. Используйте, когда пользователь спрашивает, какие запросы выполнял конкретный человек или учётная запись. Вызывайте ТОЛЬКО, когда пользователь явно указал конкретную учётную запись — если имя пользователя отсутствует в сообщении, запросите уточнение. НИКОГДА не вызывайте с пустым user_name. НЕ ИСПОЛЬЗУЙТЕ для истории SQL по таблице — используйте dba_tableSqlList, когда пользователь спрашивает о запросах к конкретной таблице. Аргументы: user_name - Имя пользователя для фильтрации. Обязательный — не передавайте пустую строку. no_days - Количество дней для поиска persist - Если True, материализует результат в виде временной таблицы и возвращает имя таблицы

Параметры
  • no_daysinteger

    Number of days to look back

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • user_namestringобязательный

    User name to filter by. Required — do not pass empty string.

graph_analyseDatabaseтолько чтениеидемпотентный

Composite graph analysis - выполняет findRootObjects, connectedComponents, detectCycles и bfsLevels за один вызов MCP с ОДНОЙ общей выборкой рёбер. Этот инструмент устраняет узкое место масштабируемости последовательных MCP-запросов, объединяя четыре анализа графов, которые в противном случае потребовали бы четырёх отдельных вызовов инструментов, каждый из которых независимо выбирает один и тот же набор рёбер из Teradata. Производительность по сравнению с отдельными инструментами: - 1 SQL-запрос вместо 4 (общая выборка рёбер) - 1 ответ MCP вместо 4 (устраняет накладные расходы на сериализацию stdio) - Та же алгоритмическая сложность (O(V+E) BFS, O(α·N) Union-Find, O(V+E) DFS) - Разделение рёбер в памяти: все анализы работают с одним и тем же списком Python Используйте для: - Оценка готовности к полной миграции базы данных - Предмиграционный анализ циклов + корней + волн за один вызов - Заполнение данных для дашборда (все четыре анализа нужны одновременно) - Любой процесс, который иначе потребовал бы вызова 3+ отдельных инструментов для графов Аргументы: container_pattern - str: шаблоны CSV LIKE для области контейнеров. Поддерживает подстановочные знаки (%) и формат CSV. Примеры: '%SALES%', '%SALES%,%FINANCE%', 'PROD_%' КРИТИЧЕСКИ ВАЖНО: тип STRING, не массив. ПРАВИЛЬНО: container_pattern="%SALES%,%FINANCE%" НЕПРАВИЛЬНО: container_pattern=["%SALES%", "%FINANCE%"] exclude_objects - str: шаблоны CSV LIKE для исключения. По умолчанию: '' (без исключений) top_n_roots - int: количество верхних корневых объектов (по числу зависимых нисходящих объектов) для включения в волновой BFS-анализ. По умолчанию: 4 max_depth_down - int: максимальное количество прямых BFS-переходов от корней. По умолчанию: 10 max_depth_up - int: максимальное количество обратных BFS-переходов от корней. 0 = пропустить анализ восходящих связей. По умолчанию: 0 edge_repository - str: представление/таблица репозитория рёбер, соответствующая …

Параметры
  • container_patternstringобязательный
  • edge_repositorystring
  • exclude_objectsstring
  • max_depth_downinteger
  • max_depth_upinteger
  • top_n_rootsinteger
graph_bfsLevelsтолько чтениеидемпотентный

Вычисляет расстояния BFS в количестве перескоков по кратчайшему пути от одного или нескольких корневых узлов. Реализация на чистом Python — хранимая процедура не требуется. КОГДА ИСПОЛЬЗОВАТЬ ЭТОТ ИНСТРУМЕНТ ВМЕСТО graph_traceLineage: ------------------------------------------------------- Используйте graph_bfsLevels, когда нужно: - Упорядочить объекты для развёртывания или миграции (ORDER BY downstream_level даёт правильный топологический порядок для корневых объектов) - Сгруппировать объекты по волнам миграции (nearest_root определяет, к какой из входных корневых таблиц относится каждый объект) - Выяснить, к какой корневой таблице миграции каждый объект ближе всего в сценарии миграции с несколькими корнями - Выявить участников цикла по глубине (у узлов с direction='BOTH' неравные абсолютные upstream/downstream уровни — кандидаты на цикл) - Подсчитать объекты в пределах N перескоков от изменения (оценка радиуса поражения) - Ответить «насколько далеко объект X от корневых таблиц миграции?» НЕ ИСПОЛЬЗУЙТЕ graph_bfsLevels для отслеживания общей линии наследования, анализа путей влияния или вопросов о том, какие именно объекты от каких зависят. Для этого используйте graph_traceLineage — он возвращает полный набор рёбер с деталями связей. graph_bfsLevels возвращает расстояния и группировку по волнам, а не пути зависимостей или детали рёбер. КЛЮЧЕВОЕ ОТЛИЧИЕ — root_node_list принимает только полные FQ-имена (без масок). Сначала используйте graph_findRootObjects, чтобы определить начальные объекты, затем передавайте их точные FQ-имена сюда. Аргументы: root_node_list - str: CSV точных полностью квалифицированных имён корневых узлов. Без масок — только точные имена. ОДИН КОРЕНЬ: 'DEV01_StGeo_STD_T.mortgage_account' НЕСКОЛЬКО КОРНЕЙ (CSV): 'DEV01_StGeo_STD_T.mortgage_account, DEV01_StGeo_STD_T.mortgage_borrower, DEV01_StGeo_STD_T.mortgage_property' ВАЖНО: Точные FQ-имена, никаких масок. Используйте graph_findRootObjects или …

Параметры
  • edge_repositorystring
  • exclude_objectsstring
  • include_containersstring
  • max_depth_downinteger
  • max_depth_upinteger
  • root_node_liststringобязательный
graph_connectedComponentsтолько чтениеидемпотентный

Определяет все слабо связанные компоненты (WCC) в графе зависимостей. Чистая реализация на Python — хранимая процедура не требуется. Выполняет один SQL SELECT для получения ограниченного набора рёбер, затем выполняет разбиение WCC с помощью Union-Find полностью в процессе MCP-сервера. Связанный компонент — это максимальное множество узлов, где каждый узел может достичь любого другого узла, если направление рёбер игнорируется. Это разбивает граф на изолированные подграфы. Используйте этот инструмент для: - Понимания структуры графа и его разбиения - Выявления изолированных подграфов - Ограничения анализа влияния на downstream одним компонентом - Предварительной фильтрации перед поиском циклов (циклы существуют только внутри компонента) - Выявления «островков» связанных объектов для миграции или рефакторинга - Оценки радиуса поражения Аргументы: container_pattern - str: LIKE-шаблоны в формате CSV для области контейнеров. Поддерживает подстановочные знаки (%) и формат CSV. Примеры: '%WBC%', '%WBC%,%StGeo%', 'DEV01_%,DEV02_%' ВАЖНО: тип STRING, а не массив. ПРАВИЛЬНО: container_pattern="%WBC%,%StGeo%" НЕПРАВИЛЬНО: container_pattern=["%WBC%", "%StGeo%"] exclude_objects - str: LIKE-шаблоны в формате CSV для исключения. Сравнивается с именем контейнера (или DB.Object, если шаблон содержит точку). По умолчанию: '' (без исключений) edge_repository - str: Представление/таблица репозитория рёбер, соответствующая контракту графа рёбер (столбцы Src_Container_Name, Src_Object_Name, Src_Kind, Tgt_Container_Name, Tgt_Object_Name, Tgt_Kind). Для продуктов AI-Native Data используйте: '{ProductName}_Semantic.lineage_graph' Вызовите graph_edgeContractDDL, чтобы создать новую. Обязательный — нет значения по умолчанию. Возвращает: ResponseType: форматированный ответ со связанными…

Параметры
  • container_patternstringобязательный
  • edge_repositorystring
  • exclude_objectsstring
graph_detectCyclesтолько чтениеидемпотентный

Обнаруживает циклические зависимости (циклы) в графе зависимостей. Чистая реализация на Python: не требуется хранимая процедура. Выполняет один SQL SELECT для получения набора рёбер в заданной области, затем выполняет разбиение WCC и последующий итеративный DFS-поиск циклов целиком в процессе MCP-сервера. Используйте этот инструмент для: - Проверки целостности графа (свойство DAG) - Поиска объектов, образующих циклические ссылки - Выявления шаблонов кода "заглушка-затем-замена" - Отладки зависаний топологической сортировки - Предварительных проверок циклов перед развёртыванием Аргументы: container_pattern - str: шаблоны CSV LIKE для области контейнера. Поддерживает подстановочные знаки (%) и формат CSV. Примеры: 'DFJ%' - одно семейство баз данных '%WBC%,%StGeo%' - несколько семейств 'DEV01_%,DEV02_%' - несколько префиксов exclude_objects - str: шаблоны CSV LIKE для исключения из сканирования. Сопоставляется с именем контейнера (или DB.Object, если шаблон содержит точку). По умолчанию: '' (без исключений) edge_repository - str: представление/таблица репозитория рёбер, соответствующая контракту Graph Edge Contract (столбцы Src_Container_Name, Src_Object_Name, Src_Kind, Tgt_Container_Name, Tgt_Object_Name, Tgt_Kind). Для AI-Native Data Products используйте: '{ProductName}_Semantic.lineage_graph' Вызовите graph_edgeContractDDL, чтобы создать новую. Обязательный - нет значения по умолчанию. Возвращает: ResponseType: форматированный ответ с результатами обнаружения циклов. Структура ответа: { "cycle_details": [...], // Одна строка на узел для каждого цикла "cycle_summaries": [...], // Одна строка на цикл со строкой пути "summary_stats": [...] // Единственная сводная строка } Поля строки cycle_details: Cycle_Id, Cycle_Pos, Node_FQ, …

Параметры
  • container_patternstringобязательный
  • edge_repositorystring
  • exclude_objectsstring
graph_edgeContractDDLтолько чтениеидемпотентный

Генерирует DDL для таблицы или представления, соответствующего контракту графа ребер (Graph Edge Contract). Этот инструмент НЕ требует подключения к базе данных — он генерирует текст DDL по шаблонам. Никакой SQL не выполняется. Параметр conn принимается для совместимости с соглашением вызова ModuleLoader, но не используется. Обязательные столбцы в генерируемой схеме (6): Src_Container_Name, Src_Object_Name, Src_Kind, Tgt_Container_Name, Tgt_Object_Name, Tgt_Kind Опциональные столбцы для обогащения (2): Edge_Relationship — характер ребра (ETL_INPUT, ETL_OUTPUT, DIRECT…) Transformation_Type — категория процесса (ETL, FEATURE_ENG, AGGREGATION…) Инструменты анализа графа их игнорируют, но они полезны для визуализации. Сокращение для AI-Native Data Product: Если вы работаете в рамках AI-Native Data Product, представление {ProductName}Semantic.lineage_graph (Observability Module v1.5) уже соответствует этому контракту. Вам не нужно генерировать DDL — передайте полное имя этого представления напрямую как edge_repository любому инструменту graph*. Пример: edge_repository='StGeoMortgage_Semantic.lineage_graph' Аргументы: conn: TeradataConnection (не используется — принимается для совместимости с ModuleLoader). target_database: База данных, в которой создать репозиторий ребер. Для AI-Native Data Products обычно {ProductName}_Semantic. Пример: 'StGeoMortgage_Semantic' object_name: Имя таблицы/представления ребер. По умолчанию: 'EdgeRepository' output_type: 'TABLE' или 'VIEW'. TABLE: генерирует DDL CREATE TABLE + отдельный пример DML. Включает все 6 обязательных + 2 опциональных столбца. VIEW: генерирует шаблон CREATE VIEW для отображения существующего источника графа происхождения на все 8 столбцов контракта. По умолчанию: 'TABLE' Возвращает: list[dict]: Ответ с содержимым: - ddl: Скрипт DDL (CREATE…

Параметры
  • object_namestring

    Name for the edge table/view. Default: 'EdgeRepository'

  • output_typestring

    'TABLE' or 'VIEW'. TABLE: generates CREATE TABLE DDL + separate sample DML. Includes all 6 required + 2 optional columns. VIEW: generates a CREATE VIEW template for mapping an existing lineage source to all 8 contract columns. Default: 'TABLE'

  • target_databasestringобязательный

    Database in which to create the edge repository. For AI-Native Data Products this is typically {ProductName}_Semantic. Example: 'StGeoMortgage_Semantic'

graph_findRootObjectsтолько чтениеидемпотентный

Находит корневые объекты (объекты без вышестоящих зависимостей) в указанных контейнерах. Корневые объекты — идеальная отправная точка для анализа нисходящего влияния, поскольку они представляют собой базовые источники данных, от которых ничего не зависит. Используйте для: - Поиска отправных точек для анализа нисходящего влияния - Выявления исходных таблиц и базовых объектов в конвейерах данных - Обнаружения независимых объектов, которые можно безопасно анализировать изолированно - Понимания источников потоков данных в схеме или базе данных - Планирования миграции или рефакторинга с помощью выявления фундаментальных объектов Аргументы: container_pattern - str: Шаблон(ы) базы данных/схемы для поиска. ПОДДЕРЖИВАЕТ ПОДСТАНОВКУ (%) и CSV. ВАЖНО: Это строковый параметр (тип: str), не массив. Передавайте несколько шаблонов одной строкой, разделяя их запятыми. ОДИН КОНТЕЙНЕР: 'DEV01_StGeo_STD_T' - конкретная база данных ПОДСТАНОВКА (%): '%WBC%' - все базы данных, содержащие WBC 'DEV01_%' - все базы данных, начинающиеся с DEV01_ '%STD_T' - все базы данных, заканчивающиеся на _STD_T НЕСКОЛЬКО КОНТЕЙНЕРОВ (формат CSV): '%WBC%,%StGeo%' - все базы данных WBC и StGeo 'DEV01_StGeo_STD_T,DEV02_WBC_STD_T' - конкретные базы данных 'DEV01_%,DEV02%' - все базы данных DEV01 и DEV02 ОБРАБОТКА ПРОБЕЛОВ: Пробелы автоматически удаляются, поэтому эти варианты эквивалентны: ✅ '%WBC%,%StGeo%' (без пробелов) ✅ '%WBC%, %StGeo%' (пробелы после запятых - допустимо) КАК ПЕРЕДАТЬ В КОДЕ: Python: container_pattern="%WBC%,%StGeo%" JSON: {"container_pattern": "%WBC%,%StGeo%"} КРИТИЧЕСКИ ВАЖНО: Это параметр типа строка. ✅ ПРАВИЛЬНО: Передаётся как…

Параметры
  • container_patternstringобязательный
  • edge_repositorystring
  • exclude_objectsstring
  • object_typesstring
  • return_formatstring
graph_traceLineageтолько чтениеидемпотентный

Анализирует зависимости объектов в Teradata. Поддерживает подстановочные знаки (%) и формат CSV. Гибридная реализация — хранимая процедура не требуется. Python строит рекурсивные CTE в Teradata, которые выполняются полностью на стороне сервера. Через сеть передаётся только достижимый подграф, а не вся таблица рёбер. Примеры: 'DB.Table' (одиночный), '%WBC%.%' (подстановка), 'DB.T1,DB.T2' (CSV) Находит зависимости «вверх по течению» (от чего зависит объект) и зависимые объекты «вниз по течению» (что зависит от объекта). Возвращает узлы и рёбра, представляющие подграф зависимостей. Если через CSV передано несколько шаблонов, для каждого шаблона выполняется один CTE для upstream и один для downstream. Результаты объединяются и дедуплицируются Python перед сборкой. Используйте это для: - Анализа влияния: «Что сломается, если я изменю или удалю этот объект?» - Отслеживания происхождения: «Откуда берутся эти данные?» - Поиска зависимостей: «Что использует этот объект?» - Проверки перед развертыванием: оценка последствий перед внесением изменений Аргументы: object_name - str: Шаблон(-ы) имени объекта. Поддерживает подстановочные знаки (%) и формат CSV. Тип STRING - не массив. Одиночный: 'DEV01_StGeo_STD_T.mortgage_account' Подстановка: '%WBC%.%' Несколько: '%WBC%.%,%StGeo%.%' max_depth_up - int: Максимальное количество уровней для обхода вверх (0-10). 0 = без анализа вверх. По умолчанию: 3 max_depth_down - int: Максимальное количество уровней для обхода вниз (0-10). 0 = без анализа вниз. По умолчанию: 3 exclude_objects - str: CSV-шаблоны LIKE для исключения. Сравнивается с форматом DB.Object. Пример: 'PRD_%,%.temp_%' По умолчанию: '' (нет исключений) include_containers - str: CSV шаблонов LIKE для включения контейнеров (белый список). Пусто = все контейнеры. По умолчанию: '' (все контейнеры) …

Параметры
  • edge_repositorystring
  • exclude_objectsstring
  • include_containersstring
  • max_depth_downinteger
  • max_depth_upinteger
  • object_namestringобязательный
  • return_formatstring
plot_line_chartтолько чтениеидемпотентный

Генерирует линейный график, который читает данные напрямую из таблицы Teradata — НЕ используйте base_readQuery для предварительной загрузки данных. Укажите таблицу в table_name, ось X в labels (обычно это дата или время) и одну или несколько числовых колонок для оси Y в columns. Используется для временных рядов, трендов или последовательных данных. НЕ используйте для пропорционального разбиения по категориям — применяйте plot_pie_chart или plot_polar_chart. НЕ используйте для многомерных паутинных сравнений — применяйте plot_radar_chart. ПАРАМЕТРЫ: table_name: Обязательный аргумент. Задаёт имя таблицы, по которой строится линейный график. Тип: str labels: Обязательный аргумент. Задаёт колонку оси X (обычно дата или время). Тип: str columns: Обязательный аргумент. Задаёт числовые колонки оси Y для линейного графика. Тип: List[str] ВОЗВРАЩАЕТ: dict

Параметры
  • columnsstring | string[]обязательный

    Required Argument. Specifies the y-axis numeric column(s) for the line chart. Types: List[str]

  • labelsstringобязательный

    Required Argument. Specifies the x-axis column (typically date or time). Types: str

  • table_namestringобязательный

    Required Argument. Specifies the name of the table to generate the line chart. Types: str

plot_pie_chartтолько чтениеидемпотентный

Создаёт круговую диаграмму, которая читает данные напрямую из таблицы Teradata — НЕ ИСПОЛЬЗУЙТЕ base_readQuery для предварительной выборки или агрегации данных. Укажите таблицу в параметре table_name, столбец категорий в labels и числовой столбец значений в column. Используйте, когда пользователь спрашивает о пропорциях, долях или о том, как итог распределяется по категориям. Для полярных диаграмм используйте plot_polar_chart. Для трендов временных рядов используйте plot_line_chart. ПАРАМЕТРЫ: table_name: Обязательный аргумент. Определяет имя таблицы для построения круговой диаграммы. Тип: str labels: Обязательный аргумент. Определяет столбец категорий для подписей. Тип: str column: Обязательный аргумент. Определяет числовой столбец значений для круговой диаграммы. Тип: str ВОЗВРАЩАЕТ: dict

Параметры
  • columnstringобязательный

    Required Argument. Specifies the numeric value column for the pie chart. Types: str

  • labelsstringобязательный

    Required Argument. Specifies the category column for labels. Types: str

  • table_namestringобязательный

    Required Argument. Specifies the name of the table to generate the pie chart. Types: str

plot_polar_chartтолько чтениеидемпотентный

Генерирует полярную диаграмму, которая читает данные напрямую из таблицы Teradata — НЕ вызывайте base_readQuery сначала. Укажите таблицу в table_name, столбец категорий в labels и столбец числовых значений в column. Используйте, когда пользователь явно запрашивает полярную диаграмму или полярную диаграмму с областями. Для стандартных круговых разбивок используйте plot_pie_chart вместо этого. ПАРАМЕТРЫ: table_name: Обязательный аргумент. Задает имя таблицы для построения полярной диаграммы. Тип: str labels: Обязательный аргумент. Задает столбец категорий для меток. Тип: str column: Обязательный аргумент. Задает столбец числовых значений для полярной диаграммы. Тип: str ВОЗВРАЩАЕТ: dict

Параметры
  • columnstringобязательный

    Required Argument. Specifies the numeric value column for the polar chart. Types: str

  • labelsstringобязательный

    Required Argument. Specifies the category column for labels. Types: str

  • table_namestringобязательный

    Required Argument. Specifies the name of the table to generate the polar chart. Types: str

plot_radar_chartтолько чтениеидемпотентный

Генерирует радарный график (лепестковую или паутинную диаграмму), который читает данные напрямую из таблицы Teradata — НЕ используйте base_readQuery для предварительной загрузки данных. Укажите таблицу в table_name, столбец категорий в labels и один или несколько столбцов значений в columns. Используйте, когда пользователь запрашивает паутинную диаграмму, радарный график, лепестковую диаграмму или многомерное сравнение по категориям. Для временных рядов или трендов используйте plot_line_chart. ПАРАМЕТРЫ: table_name: Обязательный аргумент. Указывает имя таблицы для генерации радарного графика. Типы: str labels: Обязательный аргумент. Указывает столбец категорий для меток. Типы: str columns: Обязательный аргумент. Указывает столбец(цы) значений для радарного графика. Типы: str | List[str] ВОЗВРАЩАЕТ: dict

Параметры
  • columnsstring | string[]обязательный

    Required Argument. Specifies the value column(s) for the radar chart. Types: str | List[str]

  • labelsstringобязательный

    Required Argument. Specifies the category column for labels. Types: str

  • table_namestringобязательный

    Required Argument. Specifies the name of the table to generate the radar chart. Types: str

qlty_columnSummaryтолько чтениеидемпотентный

Получает сводную статистику для ВСЕХ столбцов в таблице за один вызов. Используйте, когда пользователь запрашивает обзор, профиль или сводку по каждому полю в таблице. Для детальной статистики по ОДНОМУ конкретному столбцу (минимум, максимум, процентили) используйте qlty_univariateStatistics. Аргументы: database_name — имя базы данных (опционально) table_name — имя анализируемой таблицы persist — если True, материализует результат как временную таблицу и возвращает её имя

Параметры
  • database_namestring

    Name of the database (optional)

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table name to analyze

qlty_distinctCategoriesтолько чтениеидемпотентный

Получает уникальные (distinct) значения в указанном столбце таблицы. Используй, когда пользователь спрашивает, какие уникальные значения, категории или записи есть в названном столбце. Требуются имя таблицы и имя столбца — если имя столбца не указано, запроси уточнение перед вызовом. Аргументы: database_name — имя базы данных (опционально) table_name — имя таблицы для анализа column_name — имя столбца для анализа persist — если True, материализует результат в виде энергозависимой таблицы и возвращает её имя

Параметры
  • column_namestringобязательный

    Column name to analyze

  • database_namestring

    Name of the database (optional)

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table name to analyze

qlty_missingValuesтолько чтениеидемпотентный

Перечисляет имена столбцов, содержащих NULL или отсутствующие значения в таблице. Возвращает сводку по столбцам, показывающую, В КАКИХ столбцах есть пропуски. Используйте, когда пользователь спрашивает, в каких столбцах есть null, в каких полях пропущены данные или сколько null в каждом столбце. НЕ используйте для получения самих строк данных — для этого вызывайте qlty_rowsWithMissingValues, чтобы получить конкретные записи, где столбец равен null. Аргументы: database_name — имя базы данных (опционально) table_name — имя анализируемой таблицы persist — если True, материализует результат как временную таблицу и возвращает её имя

Параметры
  • database_namestring

    Name of the database (optional)

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table name to analyze

qlty_negativeValuesтолько чтениеидемпотентный

Определяет, какие числовые столбцы в таблице содержат отрицательные значения. Используйте, когда пользователь спрашивает об отрицательных числах, значениях ниже нуля или столбцах с аномальными отрицательными записями. Возвращает список названий затронутых столбцов. Аргументы: database_name - Имя базы данных (необязательно) table_name - Имя таблицы для анализа persist - Если True, материализует результат в виде временной таблицы и возвращает имя таблицы

Параметры
  • database_namestring

    Name of the database (optional)

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table name to analyze

qlty_rowsWithMissingValuesтолько чтениеидемпотентный

Извлекает фактические строки данных, в которых определённый столбец содержит NULL или отсутствует. Возвращает сами записи, а не сводку по столбцам. Используйте, когда пользователь хочет УВИДЕТЬ или ПОЛУЧИТЬ строки с отсутствующими значениями в указанном столбце. НЕ пишите SQL-запрос с base_readQuery для этого — всегда используйте этот инструмент, когда запрос касается строк с null-значениями. НЕ используйте для сводки на уровне столбцов о том, какие столбцы содержат null — для этого используйте qlty_missingValues. Аргументы: database_name - Имя базы данных (необязательно) table_name - Имя анализируемой таблицы column_name - Имя анализируемого столбца на предмет отсутствующих значений persist - Если True, материализует результат в виде временной таблицы и возвращает имя таблицы

Параметры
  • column_namestringобязательный

    Column name to analyze for missing values

  • database_namestring

    Name of the database (optional)

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table name to analyze

qlty_standardDeviationтолько чтениеидемпотентный

Вычисляет среднее (среднее арифметическое) и стандартное отклонение для одного числового столбца. Используйте, когда пользователь явно запрашивает стандартное отклонение, разброс значений или просто среднее и вариативность. Для более полного статистического профиля, включающего минимум, максимум, квартили и процентили, используйте qlty_univariateStatistics. Аргументы: database_name - Имя базы данных (необязательно) table_name - Имя таблицы для анализа column_name - Имя столбца для анализа persist - Если True, материализует результат в виде волатильной таблицы и возвращает имя таблицы

Параметры
  • column_namestringобязательный

    Column name to analyze

  • database_namestring

    Name of the database (optional)

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table name to analyze

qlty_univariateStatisticsтолько чтениеидемпотентный

Рассчитывает полную одномерную статистику для одного числового столбца: минимум, максимум, среднее, стандартное отклонение, квартили и процентили. Используйте, когда пользователь просит полный или всесторонний статистический разбор одного конкретного столбца. Если нужно только среднее и стандартное отклонение, используйте qlty_standardDeviation. Для статистики по ВСЕМ столбцам таблицы сразу используйте qlty_columnSummary. Аргументы: database_name - название базы данных (необязательно) table_name - имя анализируемой таблицы column_name - имя анализируемого столбца persist - если True, материализует результат в виде временной таблицы и возвращает её имя

Параметры
  • column_namestringобязательный

    Column name to analyze

  • database_namestring

    Name of the database (optional)

  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • table_namestringобязательный

    Table name to analyze

rag_Execute_Workflowтолько чтениеидемпотентный

Выполняет полный RAG-пайплайн для ответа на вопросы пользователей на основе контекста документов. Этот инструмент обрабатывает весь RAG-пайплайн за один шаг, когда запрос пользователя помечен тегом /rag. ШАГИ РАБОЧЕГО ПРОЦЕССА (выполняются автоматически): 1. Настройка конфигурации с использованием настраиваемых значений из rag_config.yml 2. Сохраняет запрос пользователя с удалением префикса '/rag ' 3. Генерирует эмбеддинги запроса, используя либо BYOM (ONNXEmbeddings), либо функции IVSM в зависимости от конфигурации 4. Выполняет семантический поиск по предварительно вычисленным эмбеддингам фрагментов 5. Возвращает фрагменты контекста для генерации ответа ЗНАЧЕНИЯ КОНФИГУРАЦИИ (из rag_config.yml): - version: 'ivsm' или 'byom' для выбора подхода к эмбеддингам - Все имена баз данных, таблиц и настройки моделей настраиваются - Поля метаданных векторного хранилища обнаруживаются динамически - Параметры эмбеддингов настраиваются - Количество фрагментов для извлечения по умолчанию настраивается - Значения по умолчанию предоставляются как запасной вариант ТЕХНИЧЕСКИЕ ДЕТАЛИ: - Удаляет префикс '/rag ', если он присутствует, из запросов пользователей - Создает таблицу запросов, если она не существует (столбцы: id, txt, created_ts) - Подход BYOM: использует UDF mldb.ONNXEmbeddings для токенизации и эмбеддингов - Подход IVSM: использует функции ivsm.tokenizer_encode и ivsm.IVSM_score - Оба подхода сохраняют эмбеддинги в настроенной выходной таблице - Использует косинусное сходство через TD_VECTORDISTANCE для семантического поиска - Возвращает top-k совпадающих фрагментов из настроенного векторного хранилища - Каждый результат включает текст фрагмента, оценку сходства и поля метаданных КРИТИЧЕСКИЕ ПРАВИЛА ОТВЕТА: - Отвечайте ТОЛЬКО на основе полученных фрагментов - никаких внешних знаний, домыслов или предположений - Цитируйте исходный контент напрямую, без перефразирования, обобщения или пересказа - Если релевантный контекст не найден: «Недостаточно информации в предоставленном контексте» - Если контекст неполный: «Доступный контекст не даёт полного ответа на вопрос» - Включайте ссылки на документ/страницу, если они есть (например, «На странице 2 «demo_policy.pdf»...») - Выполняет весь рабочий процесс в тихом режиме, не показывая…

Параметры
  • kinteger | null
  • questionstringобязательный
sec_rolePermissionsтолько чтениеидемпотентный

Перечисляет права доступа на уровне базы данных, предоставленные указанной роли Teradata. Используйте, когда пользователь спрашивает, какие права доступа имеет РОЛЬ, что роль может делать или какие разрешения предоставлены роли. НЕ путайте с запросами на уровне пользователя — используйте sec_userDbPermissions для прямых разрешений пользователя или sec_userRoles для членства пользователя в ролях. Требуется имя роли. Аргументы: role_name - Имя роли для анализа. persist - Если True, материализует результат в виде временной таблицы и возвращает имя таблицы.

Параметры
  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • role_namestringобязательный

    Role name to analyze.

sec_userDbPermissionsтолько чтениеидемпотентный

Перечисляет права доступа на уровне базы данных (SELECT, INSERT, UPDATE, DELETE и т.д.), предоставленные напрямую конкретному пользователю Teradata во всех базах данных. Используйте, когда пользователь спрашивает, что может делать именованный пользователь в каждой базе данных - их права доступа, разрешения или привилегии на объекты базы данных. НЕ используйте для просмотра ролей пользователя - для этого используйте sec_userRoles. Требуется имя пользователя. Аргументы: user_name - имя пользователя для анализа. persist - если True, материализует результат в виде volatile table и возвращает имя таблицы.

Параметры
  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • user_namestringобязательный

    User name to analyze.

sec_userRolesтолько чтениеидемпотентный

Перечисляет роли, назначенные указанной учётной записи Teradata. Используется, когда пользователь спрашивает, какие роли есть у пользователя (HAS), к каким ролям он принадлежит или какие роли ему назначены. НЕ используйте для просмотра разрешений этих ролей — для этого используйте sec_rolePermissions. НЕ используйте для просмотра прямых прав базы данных пользователя — для этого используйте sec_userDbPermissions. Требуется имя пользователя. Аргументы: user_name - Имя пользователя для анализа. persist - Если True, материализует результат в виде волатильной таблицы и возвращает её имя.

Параметры
  • persistboolean

    If True, materializes result as a volatile table and returns table name

  • user_namestringобязательный

    User name to analyze.

sql_Analyze_Cluster_Statsтолько чтениеидемпотентный

АНАЛИЗ СТАТИСТИКИ ПРОИЗВОДИТЕЛЬНОСТИ КЛАСТЕРОВ SQL-ЗАПРОСОВ Этот инструмент анализирует предварительно вычисленную статистику кластеров, чтобы выявить возможности для оптимизации без повторного запуска пайплайна кластеризации. Идеально подходит для итеративного анализа и принятия решений, на каких кластерах запросов сосредоточить усилия по оптимизации. ВОЗМОЖНОСТИ АНАЛИЗА: - Ранжирование по производительности: сортирует кластеры по любому показателю производительности, чтобы определить главных потребителей ресурсов - Оценка влияния на ресурсы: сравнивает кластеры по загрузке CPU, объёму операций ввода-вывода и сложности выполнения - Обнаружение проблем с перекосом: выявляет кластеры с неравномерным распределением CPU или операций ввода-вывода - Характеристика нагрузки: показывает паттерны запросов по пользователю, приложению и типу нагрузки - Приоритизация оптимизации: фокусируется на кластерах с наибольшим потенциалом влияния ДОСТУПНЫЕ МЕТРИКИ ДЛЯ СОРТИРОВКИ: - avg_cpu: среднее время CPU в секундах на кластер (основная цель оптимизации) - avg_io: среднее количество логических операций ввода-вывода (индикатор интенсивности сканирования) - avg_cpuskw: средняя неравномерность загрузки CPU (индикатор проблемы с распределением) - avg_ioskw: средняя неравномерность операций ввода-вывода (индикатор горячих точек) - avg_pji: среднее отношение физического ввода-вывода к логическому (вычислительная интенсивность) - avg_uii: средняя интенсивность единичного ввода-вывода (эффективность ввода-вывода) - avg_numsteps: средняя сложность плана запроса - queries: количество запросов в кластере (индикатор частоты) - cluster_silhouette_score: мера качества кластеризации КАТЕГОРИЗАЦИЯ ПО ПРОИЗВОДИТЕЛЬНОСТИ: Автоматически распределяет кластеры по категориям с помощью настраиваемых порогов (из sql_opt_config.yml): - HIGH_CPU_USAGE: среднее CPU > config.performance_thresholds.cpu.high - HIGH_IO_USAGE: средний ввод-вывод > config.performance_thresholds.io.high - HIGH_CPU_SKEW: неравномерность CPU > config.performance_thresholds.skew.high - HIGH_IO_SKEW: неравномерность ввода-вывода > config.performance_thresholds.skew.high - NORMAL: кластеры в пределах настроенных нормальных диапазонов производительности ТИПОВОЙ РАБОЧИЙ ПРОЦЕСС АНАЛИЗА: 1. Отсортируйте по 'avg_cpu' или 'avg_io', чтобы найти главных потребителей ресурсов 2. Отсортируйте по…

Параметры
  • limit_resultsinteger | null
  • sort_by_metricstring
sql_Execute_Full_Pipelineтолько чтениеидемпотентный

ПОЛНЫЙ КОНВЕЙЕР КЛАСТЕРИЗАЦИИ SQL-ЗАПРОСОВ ДЛЯ ОПТИМИЗАЦИИ ЧАСТО ИСПОЛНЯЕМЫХ ЗАПРОСОВ Выполняет полный конвейер кластеризации SQL-запросов — выявляет и анализирует запросы с высоким потреблением CPU, чтобы найти возможности для оптимизации. Подходит аналитикам производительности баз данных и администраторам БД, которым нужно систематически отбирать кандидатов на оптимизацию. ПОЛНЫЙ КОНВЕЙЕР: 1. Извлечение журнала запросов: извлекает SQL-запросы из DBC.DBQLSqlTbl с полным набором метрик производительности. 2. Расчет метрик производительности: вычисляет перекос CPU, перекос I/O, PJI (отношение физического I/O к логическому), UII (интенсивность I/O на единицу). 3. Токенизация запросов: токенизирует SQL-текст с помощью токенизатора {sql_clustering_config.get('model', {}).get('model_id', 'bge-small-en-v1.5')} через ivsm.tokenizer_encode. 4. Генерация эмбеддингов: создает семантические эмбеддинги через ivsm.IVSM_score с ONNX-моделями. 5. Создание векторного хранилища: преобразует эмбеддинги в векторные столбцы через ivsm.vector_to_columns. 6. Кластеризация K-Means: группирует похожие запросы с помощью TD_KMeans с оптимальным K из конфигурации. 7. Анализ силуэта: вычисляет оценки качества кластеризации через TD_Silhouette. 8. Генерация статистики: создает полную статистику по кластерам с агрегацией метрик производительности. ОПИСАНИЕ ПОКАЗАТЕЛЕЙ ПРОИЗВОДИТЕЛЬНОСТИ: - AMPCPUTIME: общее количество секунд CPU по всем AMP (основная цель оптимизации). - CPUSKW/IOSKW: коэффициенты перекоса CPU/I/O (>2,0 указывает на проблемы с распределением). - PJI: отношение физического I/O к логическому (чем выше, тем больше нагрузка на CPU). - UII: интенсивность I/O на единицу (чем выше, тем больше операций I/O относительно CPU). - LogicalIO: общее количество логических операций I/O (показывает интенсивность сканирования). - NumSteps: сложность плана запроса (чем выше, тем сложнее планы). КОНФИГУРАЦИЯ (из sql_opt_config.yml): - Использует top {default_max_queries} запросов по времени CPU (настраивается). - Создает {default_optimal_k} кластеров по умолчанию (настраивается через параметр optimal_k). - Модель эмбеддингов: {sql_clustering_config.get('model',…

Параметры
  • max_queriesinteger | null
  • optimal_kinteger | null
sql_Retrieve_Cluster_Queriesтолько чтениеидемпотентный

ИЗВЛЕКАЕТ АКТУАЛЬНЫЕ SQL-ЗАПРОСЫ ИЗ КОНКРЕТНЫХ КЛАСТЕРОВ ДЛЯ АНАЛИЗА ШАБЛОНОВ Этот инструмент извлекает текст реальных SQL-запросов и метрики производительности из выбранных кластеров, что позволяет проводить детальный анализ шаблонов и давать конкретные рекомендации по оптимизации. Незаменим для перехода от анализа на уровне кластеров к реальной оптимизации запросов. ВОЗМОЖНОСТИ ДЕТАЛЬНОГО АНАЛИЗА: - Распознавание шаблонов SQL: Анализирует реальные структуры запросов, соединения, предикаты и функции - Связь с производительностью: Соединяет шаблоны запросов с их характеристиками производительности - Поиск возможностей оптимизации: Выявляет типичные антипаттерны, отсутствующие индексы, неэффективные соединения - Оценка качества кода: Оценивает построение запросов, сложность и соблюдение лучших практик - Понимание рабочей нагрузки: Показывает реальную бизнес-логику и шаблоны доступа к данным СТРАТЕГИИ ВЫБОРА ЗАПРОСОВ: - По влиянию на CPU: Сортирует по ampcputime, чтобы сфокусироваться на самых нагружающих CPU запросах - По объёму I/O: Сортирует по logicalio, чтобы найти запросы с интенсивным сканированием - По проблемам с перекосом: Сортирует по cpuskw или ioskw для проблем распределения - По сложности: Сортирует по numsteps для сложных планов выполнения - По времени ответа: Сортирует по response_secs для оценки влияния на пользовательский опыт ДОСТУПНЫЕ МЕТРИКИ ДЛЯ СОРТИРОВКИ: - ampcputime: Суммарное время CPU в секундах (основная цель оптимизации) - logicalio: Суммарное количество логических операций ввода-вывода (индикатор сканирования) - cpuskw: Коэффициент перекоса CPU (проблемы распределения) - ioskw: Коэффициент перекоса I/O (индикаторы горячих точек) - pji: Отношение физического ввода-вывода к логическому (вычислительная интенсивность) - uii: Интенсивность единичного ввода-вывода (эффективность I/O) - numsteps: Количество шагов плана выполнения запроса (сложность) - response_secs: Время выполнения по часам (влияние на пользователя) - delaytime: Время в очереди (проблемы конкурентности) АВТОМАТИЧЕСКАЯ КАТЕГОРИЗАЦИЯ ПО ПРОИЗВОДИТЕЛЬНОСТИ: Каждый запрос категоризируется с помощью настраиваемых порогов (из sql_opt_config.yml): - Категории CPU: VERY_HIGH_CPU (>config.very_high), HIGH_CPU (>config.high), MEDIUM_CPU…

Параметры
  • cluster_idsinteger[]обязательный
  • limit_per_clusterinteger
  • metricstring

Похожие MCP-сервера

PrinceGabriel-lgtm/freshcontext-mcp

PrinceGabriel-lgtm/freshcontext-mcp

FreshContext — контекстный слой для AI-агентов: оценивает свежесть и релевантность данных между поиском и рассуждением. Решает проблему устаревшего контекста в RAG-пайплайнах. Полезен разработчикам...

TypeScript11
sifter-ai/sifter

sifter-ai/sifter

Sifter — open-source движок для извлечения структурированных данных из документов (счетов, контрактов). Вместо RAG выделяет точные поля (клиент, дата, сумма) и хранит их как записи — ответы получаю...

Python55
hannesrudolph/mcp-ragdocs

hannesrudolph/mcp-ragdocs

Сервер для поиска документации через RAG и векторный поиск. Используется AI-ассистентами для дополнения ответов контекстом. Помогает разработчикам создавать инструменты с опорой на документацию.

TypeScript265
Brave Search MCP Server

Brave Search MCP Server

официальный

MCP-сервер для интеграции Brave Search API: веб-поиск, изображения, видео, новости, локальные места и AI-суммаризация. Полезен разработчикам AI-агентов, чат-ботов и RAG-пайплайнов. Поддерживает STD...

TypeScript1434
apify/mcp-server-rag-web-browser

apify/mcp-server-rag-web-browser

официальный

MCP сервер подключает AI агентов к вебу через RAG Web Browser Actor. Выполняет поиск в Google, извлекает страницы и возвращает чистый Markdown. Идеально для RAG пайплайнов и LLM, которым нужны свежие данные из интернета.

JavaScript208
alkemiai/alkemi-mcp

alkemiai/alkemi-mcp

MCP сервер Alkemi подключается к Snowflake и BigQuery, хранит метаданные и генерирует правильные запросы. Команды используют единый MCP инструмент для анализа данных без ручного описания схем.

JavaScript4
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин