Teradata MCP Server
Teradata MCP Server
Сервер протокола контекста модели (MCP) для базы данных Teradata с аутентификацией OAuth 2.1, поддержкой различных механизмов аутентификации (TD2, LDAP, Kerberos) и интерактивной визуализацией данных.
Возможности
Множество механизмов аутентификации — TD2 (по умолчанию), LDAP, Kerberos, JWT через Teradata
LOGMECHOAuth 2.1 с интеграцией Keycloak, проверкой JWT, авторизацией на основе областей (scopes)
Метаданные защищенных ресурсов (соответствие RFC 9728)
Интерактивная визуализация — приложение MCP на базе ECharts с 19 типами диаграмм
Устойчивость соединений — автоматический повтор попыток с экспоненциальной задержкой
Неблокирующий ввод-вывод — все операции с БД выполняются через
asyncio.to_thread()QueryBand для каждого инструмента — журнал аудита для управления рабочей нагрузкой Teradata
Инструменты
Инструменты запросов
query— выполнение SQL-запросов, возврат результатов в виде таблицыvisualize_query— выполнение SQL и отрисовка интерактивных диаграмм ECharts через приложение MCP
Инструменты схемы
list_db— список всех баз данныхlist_tables— список таблиц/представлений в базе данныхshow_tables_details— отображение имен столбцов и типов данных для таблицы
Инструменты анализа
list_missing_values— столбцы с количеством значений NULLlist_negative_values— столбцы с количеством отрицательных значенийlist_distinct_values— количество уникальных категорий для каждого столбцаstandard_deviation— среднее значение и стандартное отклонение для столбца
Приложение MCP — Интерактивная визуализация
Инструмент visualize_query отображает результаты в виде интерактивных диаграмм в клиенте MCP.
Категория | Диаграммы |
Столбчатые | Базовая, Группированная, С накоплением, Горизонтальная, Сортированная, Водопадная, Скругленная, Полярная |
Линейные | Базовая, Сглаженная, Область, Область с накоплением, Ступенчатая |
Круговые | Круговая, Кольцевая, Роза / Соловья |
Точечные | Точечная, Пузырьковая |
Смешанные | Столбчатая + Линейная |
Быстрый старт
Установка
git clone https://github.com/arturborycki/mcp-teradata.git
cd mcp-teradata
uv syncЗапуск с TD2 (Стандартная аутентификация)
uv run teradata-mcp "teradatasql://user:password@host/database"Или через переменную окружения:
export DATABASE_URI="teradatasql://user:password@host/database"
uv run teradata-mcpКонфигурация
Claude Desktop
Добавьте в ваш claude_desktop_config.json:
TD2 (Имя пользователя/Пароль)
{
"mcpServers": {
"teradata": {
"command": "uv",
"args": [
"--directory", "/path/to/mcp-teradata",
"run", "teradata-mcp"
],
"env": {
"DATABASE_URI": "teradatasql://user:password@host/database"
}
}
}
}Аутентификация LDAP
{
"mcpServers": {
"teradata": {
"command": "uv",
"args": [
"--directory", "/path/to/mcp-teradata",
"run", "teradata-mcp"
],
"env": {
"DATABASE_URI": "teradatasql://@host/database",
"DB_LOGMECH": "LDAP",
"DB_LOGDATA": "authcid=ldap_user password=ldap_password"
}
}
}
}Формат authcid зависит от каталога LDAP:
Каталог | Формат |
Active Directory (Simple Bind) |
|
Active Directory (DIGEST-MD5) |
|
OpenLDAP / Sun DS |
|
Аутентификация Kerberos
{
"mcpServers": {
"teradata": {
"command": "uv",
"args": [
"--directory", "/path/to/mcp-teradata",
"run", "teradata-mcp"
],
"env": {
"DATABASE_URI": "teradatasql://@host/database",
"DB_LOGMECH": "KRB5"
}
}
}
}Конфигурация с поддержкой OAuth
{
"mcpServers": {
"teradata": {
"command": "uv",
"args": [
"--directory", "/path/to/mcp-teradata",
"run", "teradata-mcp"
],
"env": {
"DATABASE_URI": "teradatasql://user:password@host/database",
"OAUTH_ENABLED": "true",
"KEYCLOAK_URL": "https://your-keycloak.example.com",
"KEYCLOAK_REALM": "teradata-realm",
"KEYCLOAK_CLIENT_ID": "teradata-mcp",
"KEYCLOAK_CLIENT_SECRET": "your-secret",
"OAUTH_RESOURCE_SERVER_URL": "https://your-mcp-server.example.com"
}
}
}
}Переменные окружения
Подключение к базе данных
Переменная | Описание | По умолчанию |
| URL подключения к Teradata ( | — |
| Механизм аутентификации: |
|
| Учетные данные LDAP/JWT (например, | — |
| Режим TLS: | — |
| Включить шифрование передачи данных |
|
Устойчивость соединений
Переменная | Описание | По умолчанию |
| Макс. количество попыток переподключения |
|
| Начальная задержка повтора (секунды) |
|
| Макс. задержка повтора (секунды) |
|
Транспорт MCP
Переменная | Описание | По умолчанию |
| Транспорт: |
|
| Адрес привязки для HTTP-транспорта |
|
| Порт для HTTP-транспорта |
|
| Путь для streamable-http |
|
OAuth 2.1
Переменная | Описание | По умолчанию |
| Включить аутентификацию OAuth |
|
| URL сервера Keycloak | — |
| Имя области (realm) Keycloak | — |
| ID клиента OAuth | — |
| Секрет клиента OAuth | — |
| URL сервера ресурсов | — |
| Требуемые области (через запятую) | — |
| Проверять аудиторию токена |
|
| Проверять области токена |
|
| Требовать HTTPS для URL OAuth |
|
| Разрешенные источники CORS |
|
Области OAuth (Scopes)
Область | Описание |
| Доступ на чтение к ресурсам БД |
| Доступ на запись к ресурсам БД |
| Выполнение SQL-запросов |
| Административный доступ |
| Операции управления схемой |
Совместимость транспорта
Транспорт | OAuth | Конечные точки обнаружения | Вариант использования |
stdio | Н/Д | Н/Д | Claude Desktop, CLI-клиенты |
SSE | Полная | Доступны | Веб-приложения |
Streamable HTTP | Полная | Доступны | Интеграции API |
Конечные точки обнаружения (при включенном OAuth):
/.well-known/oauth-protected-resource— метаданные RFC 9728/.well-known/mcp-server-info— возможности MCP/health— проверка работоспособности
Развертывание в Docker
Разработка
docker compose up -dС OAuth
docker compose -f docker-compose.oauth.yml up -dСборка
uv buildУстранение неполадок
Проблемы с подключением к базе данных:
Проверьте формат
DATABASE_URI:teradatasql://user:pass@host/databaseПроверьте сетевое подключение к серверу Teradata
Для LDAP: убедитесь, что
DB_LOGMECH=LDAPиDB_LOGDATAустановлены правильноПроблемы с подключением автоматически повторяются (настраивается через
DB_MAX_RETRIES)
Ошибка аутентификации LDAP:
Убедитесь, что на сервере Teradata настроен LDAP в TDGSS
Проверьте, что формат
authcidсоответствует типу вашего каталогаЭкранируйте специальные символы в паролях (
@→\@, пробелы → используйте кавычки)
Ошибки отказа в доступе (Permission denied):
Убедитесь, что у пользователя есть необходимые области OAuth
Проверьте назначение ролей в Keycloak
visualize_queryтребует областьteradata:query(а не толькоteradata:read)
Отладочное логирование:
export LOG_LEVEL=DEBUG
uv run teradata-mcpЛицензия
Лицензия MIT. Подробности см. в файле LICENSE.
Благодарности
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arturborycki/mcp-teradata'
If you have feedback or need assistance with the MCP directory API, please join our Discord server