Шаблон сервера 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).
Вы должны увидеть инструменты в разделе «Клапаны управления чатом» справа и настроить свои модели для их использования.