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 サーバーはオープン ソース プロジェクトであり、プル リクエストによる貢献を歓迎します。

3つのツールセットを提供しています

  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_data_quality_tools:
    • missing_values - 欠損値のある列名のリストを返します
    • negative_values - 負の値を持つ列名のリストを返します
    • distinctive_categories - 列内のカテゴリのリストを返します
    • 標準偏差 - 列の平均と標準偏差を返します

また、顧客ツールの開発を簡単に追加できるようにする 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

Macの場合

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://username:password@host:1025/databasename になります。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インスペクターを開く

  • インスペクターツールを開き、 http://127.0.0.1: 6274 にアクセスしてください。
  • ツールをクリック
  • リストツールをクリック
  • read_database_listをクリックします
  • 実行をクリック

他のツールもテストし、それぞれが成功するはずです

ターミナルでサーバーを停止するにはControl+cを押します

stdio を使用してサーバーをエージェントに追加する

ステップ1 - .envファイルのSSEフラグが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」と入力します。

Visual Studio Code Co-pilot に stdio を使用するツールを追加する

  • .envファイルのSSEフラグがFalseに設定されていることを確認します。
SSE=False
  • VS Codeでは、「コマンドの表示と実行」
  • 「MCP: サーバーの追加」を選択
  • 「コマンドStdio」を選択
  • 実行するにはコマンドに「uv」と入力してください
  • IDのサーバー名を入力してください
  • 設定.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" ] } } }
  • 設定.jsonファイル内からサーバーを起動するか、「MCP: Start Server」から起動することができます。

SSE を使用したツールを Visual Studio Code Co-pilot に追加する

  • .envファイルのSSEフラグが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)
  • IDのサーバー名を入力してください
  • ユーザースペースを選択
  • 設定.jsonファイルが開きます
  • 次のように引数を追加します。
"mcp": { "servers": { "TeradataSSE": { "type": "sse", "url": "http://127.0.0.1:8001/sse" } } }
  • 設定.jsonファイル内、または「MCP: サーバーを起動」

mcpo を使用してツールを REST エンドポイントとして公開する

mcpoを使用すると、この MCP ツールを OpenAPI 互換の HTTP サーバーとして公開できます。

たとえば、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は、Ollamaをはじめとする様々なLLMランナーをサポートし、完全にオフラインで動作するように設計された、ユーザーフレンドリーなセルフホスト型AIプラットフォームです。直感的なGUIからLLMやMCPサーバーと簡単に連携できます。mcpoコンポーネントを使用することで、このMCPサーバーと統合できます。

まず、上記のセクションで指定されているように mcpo を実行します。

python -m venv ./env source ./env/bin/activate pip install open-webui open-webui serve

http://localhost:8080でUIにアクセスします。MCPツールを追加するには、「設定」>「ツール」>「接続の追加」に移動し、mcpoサーバーの接続詳細を入力します(例: localhost:8001 、mcpoセクションでコマンドラインを実行した場合はパスワード = top-secret )。

右側のチャット コントロール バルブ セクションにツールが表示され、モデルがそれを使用できるようになります。

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