Шаблон сервера 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
mkdir MCP
cd MCP
git clone https://github.com/Teradata/teradata-mcp-server.git
cd teradata-mcp-server
uv sync
.venv/Scripts/activateНа Mac/Linux
mkdir MCP
cd MCP
git clone https://github.com/Teradata/teradata-mcp-server.git
cd teradata-mcp-server
uv sync
source .venv/bin/activateШаг 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
############################################
DATABASE_URI=teradata://username:password@host:1025/databasename
SSE=False
SSE_HOST=127.0.0.1
SSE_PORT=8001
############################################
aws_access_key_id=
aws_secret_access_key=
aws_session_token=
aws_region_name=
############################################
OPENAI_API_KEY=
Тестирование вашего сервера с помощью MCP Inspector
Шаг 1 — Запустите сервер, введите в терминале следующее
uv run mcp dev ./src/teradata_mcp_server/server.pyПРИМЕЧАНИЕ: Если вы запускаете это на компьютере с 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
SSE=FalseШаг 2 — Измените скрипт ./test/ClientChatBot.py так, чтобы он указывал на место установки сервера. Для этого вам нужно будет изменить следующую строку:
td_mcp_server = MCPServerStdio('uv', ["--directory", "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server", "run", "teradata-mcp-server"])Шаг 3 - запустите скрипт ./test/ClientChatBot.py, это создаст интерактивный сеанс с агентом, имеющим доступ к серверу MCP. Из терминала.
uv run ./test/ClientChatBot.pyПопросите агента составить список баз данных.
Попросите агента внести таблицу в базу данных.
Попросите агента показать все объекты в базе данных.
Задайте агенту вопрос, требующий выполнения SQL-запроса по таблице.
Для выхода введите «quit».
Вариант 2 — чат-бот ADK
шаг 1 — убедитесь, что флаг SSE в файле .env установлен на значение False
SSE=FalseШаг 2 — перейдите в каталог teradata_mcp_server/test из терминала.
cd test
adk webШаг 3 — откройте веб-сервер ADK
Шаг 4 — чат с td_agent
Вариант 3 - mcp_chatbot
шаг 0 — Измените server_config.json в тестовом каталоге, убедитесь, что путь указан правильно.
шаг 1 — убедитесь, что флаг SSE в файле .env установлен на значение False
SSE=FalseШаг 2 — перейдите в каталог teradata_mcp_server из терминала и запустите mcp_chatbot
uv run test/mcp_chatbot.pyШаг 3 — выведите список подсказок, введя /prompts
Query: /promptsШаг 4 — запуск запроса на описание базы данных
Query: /prompt database_business_description database_name=demo_userДобавление инструментов с помощью stdio в Visual Studio Code Co-pilot
убедитесь, что флаг SSE в файле .env установлен на значение False
SSE=FalseВ VS Code «Показать и выполнить команды»
выберите «MCP: Добавить сервер»
выберите «Командный Stdio»
введите «uv» в команду для запуска
введите имя сервера для идентификатора
файл settings.json должен открыться
измените путь к каталогу и убедитесь, что он указывает на место, где установлен сервер.
добавьте аргументы так, чтобы это выглядело так:
Примечание: вам нужно будет изменить путь к каталогу в args для вашей системы, это должен быть полный путь. Вам также может понадобиться полный путь к uv в команде.
"mcp": {
"servers": {
"TeradataStdio": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server",
"run",
"teradata-mcp-server"
]
}
}
}Вы можете запустить сервер из файла settings.json или с помощью «MCP: Start Server»
Добавление инструментов с использованием SSE в Visual Studio Code Co-pilot
убедитесь, что флаг SSE в файле .env установлен на значение False
SSE=True
SSE_HOST=127.0.0.1
SSE_PORT=8001вам нужно запустить сервер из терминала
uv run teradata-mcp-serverВ VS Code «Показать и выполнить команды»
выберите «MCP: Добавить сервер»
выберите «События, отправленные HTTP-сервером»
введите URL-адрес местоположения сервера, например http://127.0.0.1:8001/sse
введите имя сервера для идентификатора
выберите пользовательское пространство
файл settings.json должен открыться
добавьте аргументы так, чтобы это выглядело так:
"mcp": {
"servers": {
"TeradataSSE": {
"type": "sse",
"url": "http://127.0.0.1:8001/sse"
}
}
}в файле settings.json или вы можете "MCP: Запустить сервер"
Добавление MCP-сервера в Claude Desktop
Вы можете добавить этот сервер Claude Desktop, добавив эту запись в ваш файл конфигурации claude_desktop_config.json :
Примечание: вам нужно будет изменить путь к каталогу в args для вашей системы, это должен быть полный путь. Вам также может понадобиться полный путь к uv в команде.
Примечание: для этого необходимо, чтобы uv был доступен Клоду в системном пути или был установлен глобально в вашей системе (например, uv был установлен с помощью brew для пользователей Mac OS).
{
"mcpServers": {
"teradata": {
"command": "uv",
"args": [
"--directory",
"/path_to_code/teradata-mcp-server",
"run",
"teradata-mcp-server"
],
"env": {
"DATABASE_URI": "teradata://demo_user:teradata-demo@test-vikzqtnd0db0nglk.env.clearscape.teradata.com:1025/demo_user"
}
}
}
}Представление инструментов как конечных точек 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, как указано в разделе выше .
python -m venv ./env
source ./env/bin/activate
pip install open-webui
open-webui serveОткройте пользовательский интерфейс по адресу http://localhost:8080 . Чтобы добавить инструменты MCP, перейдите в Настройки > Инструменты > Добавить подключение и введите данные подключения к серверу mcpo (например, localhost:8001 , пароль = top-secret если вы выполнили командную строку в разделе mcpo).
Вы должны увидеть инструменты в разделе «Клапаны управления чатом» справа и настроить свои модели для их использования.
Сертификация
Maintenance
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/Teradata/teradata-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
