Шаблон сервера Teradata MCP
Обзор
Сервер Teradata MCP — это проект с открытым исходным кодом, и мы приветствуем любые предложения через запросы на включение внесенных изменений.
Мы предоставляем три набора инструментов и соответствующие полезные подсказки.
- td_base_tools:
- execute_read_query — запускает запрос на чтение
- execute_write_query — запускает запрос на запись
- read_table_DDL - возвращает результаты показа таблицы
- read_database_list - возвращает список всех баз данных
- read_table_list — возвращает список таблиц в базе данных
- read_column_description - возвращает описание столбцов в таблице
- read_table_preview - возвращает информацию о столбце и 5 строках из таблицы
- read_table_affinity — получает таблицы, которые часто используются вместе
- read_table_usage — измерение использования таблицы и представлений пользователями в заданной схеме.
- prompt_general - Создание SQL-запроса к базе данных
- prompt_table_business_description - формирует бизнес-описание таблицы
- prompt_database_business_description - формирует бизнес-описание базы данных на основе таблиц
- td_dba_tools:
- read_user_sql_list — возвращает список недавно выполненных SQL для пользователя
- read_table_sql_list — возвращает список недавно выполненных SQL для таблицы
- read_table_space - возвращает табличное пространство CurrentPerm
- read_database_space — возвращает выделенное пространство, использованное пространство и процент использования для базы данных
- read_database_version — возвращает информацию о версии базы данных
- read_resuage_summary — получение сводных показателей использования системы Teradata по дням недели и часам для каждого типа рабочей нагрузки и уровня сложности запроса.
- read_flow_control — получение метрик управления потоком данных системы Teradata по дням и часам
- read_feature_usage — Получить метрики использования функций пользователя
- read_user_delay — получение метрик задержки пользователя Teradata.
- prompt_table_archive — создание стратегии архивации таблиц для таблиц базы данных.
- prompt_database_lineage — создает направленную карту происхождения таблиц в базе данных.
- инструменты_качества_данных_td:
- missing_values — возвращает список имен столбцов с отсутствующими значениями
- negative_values — возвращает список имен столбцов с отрицательными значениями
- distinct_categories — возвращает список категорий в столбце
- standard_deviation — возвращает среднее значение и стандартное отклонение для столбца
Вы можете добавить пользовательские инструменты "query" в файл custom_tools.yaml
или в любой файл, заканчивающийся на _tools.yaml
. Просто укажите имя инструмента, описание и SQL-запрос для выполнения. На данный момент параметры не поддерживаются.
Каталог Test содержит простой инструмент ClientChatBot для тестирования инструментов.
Настройка среды
Шаг 1 - Окружение было собрано, предполагая, что у вас установлен пакет uv на локальной машине. Инструкции по установке uv можно найти на https://github.com/astral-sh/uv
Шаг 2 — Клонируйте репозиторий mcp-server с помощью
В Windows
На Mac/Linux
Шаг 3 — Вам необходимо обновить файл .env
- Переименуйте env-файл в .env
- URI базы данных будет иметь следующий формат teradata://имя пользователя:пароль@хост:1025/имя базы данных, используйте ClearScape Analytics Experience https://www.teradata.com/getting-started/demos/clearscape-analytics
- имя пользователя нуждается в обновлении
- пароль необходимо обновить
- хост Teradata нуждается в обновлении
- имя базы данных нуждается в обновлении
- Для работы кода /test/pydanticaiBedrock.py должны быть доступны учетные данные LLM.
- Настройка SSE
- SSE: логическое значение, определяющее, будет ли ваш сервер использовать транспорт SSE (SSE = True) или транспорт stdio (SSE=False)
- SSE_HOST: IP-адрес, по которому можно найти сервер, по умолчанию должен быть 127.0.0.1
- SSE_PORT: Адрес порта, по которому может быть найден сервер, по умолчанию должен быть 8001.
Пример файла .env
Тестирование вашего сервера с помощью MCP Inspector
Шаг 1 — Запустите сервер, введите в терминале следующее
ПРИМЕЧАНИЕ: Если вы запускаете это на компьютере с Windows и получаете ошибки npx, npm или node.js, установите необходимое программное обеспечение node.js отсюда: https://github.com/nodists/nodist
Шаг 2 — Откройте MCP Inspector
- Вам следует открыть инструмент инспектора, перейти по адресу http://127.0.0.1:6274
- Нажмите на инструменты
- Нажмите на список инструментов
- Нажмите на read_database_list
- Нажмите «Выполнить»
Протестируйте другие инструменты, каждый из них должен дать успешный результат.
Control+c для остановки сервера в терминале
Запуск сервера
Вы можете просто запустить сервер с помощью: uv run teradata-mcp-server
Добавление вашего сервера к агенту с помощью stdio
Вариант 1 - чат-бот pydanticai
шаг 1 — убедитесь, что флаг SSE в файле .env установлен на значение False
Шаг 2 — Измените скрипт ./test/ClientChatBot.py так, чтобы он указывал на место установки сервера. Для этого вам нужно будет изменить следующую строку:
Шаг 3 - запустите скрипт ./test/ClientChatBot.py, это создаст интерактивный сеанс с агентом, имеющим доступ к серверу MCP. Из терминала.
- Попросите агента составить список баз данных.
- Попросите агента внести таблицу в базу данных.
- Попросите агента показать все объекты в базе данных.
- Задайте агенту вопрос, требующий выполнения SQL-запроса по таблице.
- Для выхода введите «quit».
Вариант 2 — чат-бот ADK
шаг 1 — убедитесь, что флаг SSE в файле .env установлен на значение False
Шаг 2 — перейдите в каталог teradata_mcp_server/test из терминала.
Шаг 3 — откройте веб-сервер ADK
Шаг 4 — чат с td_agent
Вариант 3 - mcp_chatbot
шаг 0 — Измените server_config.json в тестовом каталоге, убедитесь, что путь указан правильно.
шаг 1 — убедитесь, что флаг SSE в файле .env установлен на значение False
Шаг 2 — перейдите в каталог teradata_mcp_server из терминала и запустите mcp_chatbot
Шаг 3 — выведите список подсказок, введя /prompts
Шаг 4 — запуск запроса на описание базы данных
Добавление инструментов с помощью stdio в Visual Studio Code Co-pilot
- убедитесь, что флаг SSE в файле .env установлен на значение False
- В VS Code «Показать и выполнить команды»
- выберите «MCP: Добавить сервер»
- выберите «Командный Stdio»
- введите «uv» в команду для запуска
- введите имя сервера для идентификатора
- файл settings.json должен открыться
- измените путь к каталогу и убедитесь, что он указывает на место, где установлен сервер.
- добавьте аргументы так, чтобы это выглядело так:
Примечание: вам нужно будет изменить путь к каталогу в args для вашей системы, это должен быть полный путь. Вам также может понадобиться полный путь к uv в команде.
- Вы можете запустить сервер из файла settings.json или с помощью «MCP: Start Server»
Добавление инструментов с использованием SSE в Visual Studio Code Co-pilot
- убедитесь, что флаг SSE в файле .env установлен на значение False
- вам нужно запустить сервер из терминала
- В VS Code «Показать и выполнить команды»
- выберите «MCP: Добавить сервер»
- выберите «События, отправленные HTTP-сервером»
- введите URL-адрес местоположения сервера, например http://127.0.0.1:8001/sse
- введите имя сервера для идентификатора
- выберите пользовательское пространство
- файл settings.json должен открыться
- добавьте аргументы так, чтобы это выглядело так:
- в файле settings.json или вы можете "MCP: Запустить сервер"
Добавление MCP-сервера в Claude Desktop
Вы можете добавить этот сервер Claude Desktop, добавив эту запись в ваш файл конфигурации claude_desktop_config.json
:
Примечание: вам нужно будет изменить путь к каталогу в args для вашей системы, это должен быть полный путь. Вам также может понадобиться полный путь к uv в команде.
Примечание: для этого необходимо, чтобы uv
был доступен Клоду в системном пути или был установлен глобально в вашей системе (например, uv был установлен с помощью brew
для пользователей Mac OS).
Представление инструментов как конечных точек REST с помощью mcpo
Вы можете использовать mcpo , чтобы представить этот инструмент MCP как HTTP-сервер, совместимый с OpenAPI.
Например, используя uv: uvx mcpo --port 8001 --api-key "top-secret" -- uv run teradata-mcp-server
Ваши инструменты Teradata теперь доступны как локальные конечные точки REST, просмотрите документацию и протестируйте ее по адресу http://localhost:8001/docs
Использование сервера с Open WebUI
Open WebUI — это удобная для пользователя самостоятельная платформа ИИ, разработанная для работы полностью в автономном режиме, поддерживающая различные LLM-бегунки, такие как Ollama. Она обеспечивает удобный способ взаимодействия с LLM и серверами MCP из интуитивно понятного графического интерфейса. Она может быть интегрирована с этим сервером MCP с помощью компонента mcpo .
Сначала запустите mcpo, как указано в разделе выше .
Откройте пользовательский интерфейс по адресу http://localhost:8080 . Чтобы добавить инструменты MCP, перейдите в Настройки > Инструменты > Добавить подключение и введите данные подключения к серверу mcpo (например, localhost:8001
, пароль = top-secret
если вы выполнили командную строку в разделе mcpo).
Вы должны увидеть инструменты в разделе «Клапаны управления чатом» справа и настроить свои модели для их использования.
Сертификация
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Сервер, предоставляющий инструменты для запросов и анализа баз данных Teradata, включая управление базами данных, оценку качества данных и возможности выполнения SQL через интерфейс MCP.
- Обзор
- Настройка среды
- Тестирование вашего сервера с помощью MCP Inspector
- Запуск сервера
- Добавление вашего сервера к агенту с помощью stdio
- Добавление инструментов с помощью stdio в Visual Studio Code Co-pilot
- Добавление инструментов с использованием SSE в Visual Studio Code Co-pilot
- Добавление MCP-сервера в Claude Desktop
- Представление инструментов как конечных точек REST с помощью mcpo
- Использование сервера с Open WebUI
- Сертификация
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.Last updated -1441JavaScriptMIT License
- -securityAlicense-qualityAn MCP server that connects to Supabase PostgreSQL databases, exposing table schemas as resources and providing tools for data analysis through SQL queries.Last updated -JavaScriptMIT License
- -security-license-qualityAn MCP server that allows working with MySQL databases by providing tools for executing read-only SQL queries, getting table schemas, and listing database tables.Last updated -1JavaScript
- AsecurityAlicenseAqualityAn open-source MCP server that connects to various data sources (SQL databases, CSV, Parquet files), allowing AI models to execute SQL queries and generate data visualizations for analytics and business intelligence.Last updated -1044PythonMIT License