Teradata MCP Server

by Teradata
MIT License
2
  • Apple

Integrations

  • Enables configuration management through environment variables stored in .env files, supporting database connection parameters, LLM credentials, and server settings.

  • Supports integration with OpenAI models through API key configuration, enabling LLM capabilities within the server environment.

  • Provides database interaction capabilities with Teradata systems, offering tools for querying, data quality assessment, and database administration tasks such as executing queries, retrieving table structures, analyzing space usage, and performing data quality checks.

Шаблон сервера Teradata MCP

Обзор

Сервер Teradata MCP — это проект с открытым исходным кодом, и мы приветствуем любые предложения через запросы на включение внесенных изменений.

Мы предоставляем три набора инструментов

  1. 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 строках из таблицы
  2. td_dba_tools:
    • read_sql_list - возвращает список недавно выполненных SQL для пользователя
    • read_table_space - возвращает табличное пространство CurrentPerm
    • read_database_space — возвращает выделенное пространство, использованное пространство и процент использования для базы данных
    • read_database_version — возвращает информацию о версии базы данных
  3. инструменты_качества_данных_td:
    • missing_values — возвращает список имен столбцов с отсутствующими значениями
    • negative_values — возвращает список имен столбцов с отрицательными значениями
    • distinct_categories — возвращает список категорий в столбце
    • standard_deviation — возвращает среднее значение и стандартное отклонение для столбца

Мы также создали раздел custom_tools, который позволит легко добавлять разрабатываемые клиентские инструменты.

Каталог 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 source .venv/Scripts/activate

На Маке

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 для остановки сервера в терминале

Добавление вашего сервера к агенту с помощью stdio

шаг 1 — убедитесь, что флаг SSE в файле .env установлен на значение False

SSE=False

Шаг 2 — Измените скрипт ./test/ClientChatBot.py так, чтобы он указывал на место установки сервера. Для этого вам нужно будет изменить следующую строку:

td_mcp_server = MCPServerStdio('uv', ["--directory", "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server/src/teradata_mcp_server", "run", "server.py"])

Шаг 2 — запустите скрипт ./test/ClientChatBot.py, это создаст интерактивный сеанс с агентом, имеющим доступ к серверу MCP.

С терминала.

uv run ./test/ClientChatBot.py
  • Попросите агента составить список баз данных.
  • Попросите агента внести таблицу в базу данных.
  • Попросите агента показать все объекты в базе данных.
  • Задайте агенту вопрос, требующий выполнения SQL-запроса по таблице.
  • Для выхода введите «quit».

Добавление инструментов с помощью stdio в Visual Studio Code Co-pilot

  • убедитесь, что флаг SSE в файле .env установлен на значение False
SSE=False
  • В VS Code «Показать и выполнить команды»
  • выберите «MCP: Добавить сервер»
  • выберите «Командный Stdio»
  • введите «uv» в команду для запуска
  • введите имя сервера для идентификатора
  • файл settings.json должен открыться
  • измените путь к каталогу и убедитесь, что он указывает на место, где установлен сервер.
  • добавьте аргументы так, чтобы это выглядело так:
"mcp": { "servers": { "TeradataStdio": { "type": "stdio", "command": "uv", "args": [ "--directory", "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server/src/teradata_mcp_server/, "run", "server.py" ] } } }
  • Вы можете запустить сервер из файла 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 ./src/teradata_mcp_server/server.py
  • В 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: Запустить сервер"

Представление инструментов как конечных точек REST с помощью mcpo

Вы можете использовать mcpo для предоставления этого инструмента MCP в качестве HTTP-сервера, совместимого с OpenAPI.

Например, используя uv: uvx mcpo --port 8001 --api-key "top-secret" -- uv run src/teradata_mcp_server/server.py

Ваши инструменты 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).

Вы должны увидеть инструменты в разделе «Клапаны управления чатом» справа и настроить свои модели для их использования.

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    An MCP server that connects to Supabase PostgreSQL databases, exposing table schemas as resources and providing tools for data analysis through SQL queries.
    Last updated -
    JavaScript
    MIT License
  • -
    security
    F
    license
    -
    quality
    This is a Model Context Protocol (MCP) server for executing SQL queries against Databricks using the Statement Execution API. It enables AI assistants to directly query Databricks data warehouses, analyze database schemas, and retrieve query results in a structured format
    Last updated -
    4
    Python
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Open source MCP server specializing in easy, fast, and secure tools for Databases.
    Last updated -
    872
    Go
    Apache 2.0
    • Linux
  • -
    security
    -
    license
    -
    quality
    An 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 -
    1
    JavaScript

View all related MCP servers

ID: q8kueash24