mcpField
T
Teradata MCP Server

Teradata MCP Server

ローカル
github.com/arturboryckiデータベース930 週間前に更新

Teradata MCP Server について

Teradata MCP Serverは、複数の認証方式に対応し、Teradataのクエリ、スキーマ確認、値の分析機能をMCPクライアントに提供します。クエリ結果をインタラクティブなチャートとして表示することもできます。

主な機能

  1. 01SQLクエリの実行と表形式の結果表示
  2. 02データベース、テーブル、列情報の一覧表示
  3. 03欠損値、負の値、個別値の分析
  4. 04列の平均値と標準偏差の計算
  5. 0519種類のチャートによるクエリ結果の可視化
  6. 06OAuth 2.1と複数のデータベース認証方式

活用シーン

  1. 01MCPクライアントからTeradataを検索
  2. 02テーブルのスキーマと列型の確認
  3. 03欠損値、負の値、カテゴリ値の調査
  4. 04クエリ結果のインタラクティブなチャート化

MCP 対応

MCPサーバーとして、SQLクエリ、スキーマ参照、データ分析、チャート表示のツールをクライアントに公開します。stdio、SSE、Streamable HTTPに対応し、HTTPではOAuth 2.1を利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Teradata MCP サーバー

OAuth 2.1 認証、複数の認証方式(TD2、LDAP、Kerberos)、インタラクティブなデータ可視化に対応した、Teradata データベース用の Model Context Protocol(MCP)サーバーです。

機能

  • 複数の認証方式 — TD2(デフォルト)、LDAP、Kerberos、Teradata の LOGMECH を介した JWT
  • OAuth 2.1 と Keycloak の統合、JWT 検証、スコープベースの認可
  • 保護されたリソースのメタデータ(RFC 9728 準拠)
  • インタラクティブな可視化 — 19 種類のチャートに対応した ECharts ベースの MCP App
  • 接続の回復性 — 指数バックオフによる自動再試行
  • ノンブロッキング I/O — すべての DB 操作を asyncio.to_thread() 経由で実行
  • ツールごとの QueryBand — Teradata ワークロード管理の監査証跡

ツール

クエリツール
  • query — SQL クエリを実行し、プレーンな表形式の結果を返します
  • visualize_query — SQL を実行し、MCP App 経由でインタラクティブな ECharts チャートを表示します
スキーマツール
  • list_db — すべてのデータベースを一覧表示します
  • list_tables — データベース内のテーブル/ビューを一覧表示します
  • show_tables_details — テーブルの列名とデータ型を表示します
分析ツール
  • list_missing_values — NULL 値の件数を列ごとに表示します
  • list_negative_values — 負の値の件数を列ごとに表示します
  • list_distinct_values — 列ごとの個別カテゴリ数を表示します
  • standard_deviation — 列の平均値と標準偏差を表示します
MCP App — インタラクティブな可視化

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(シンプルバインド)[email protected]
Active Directory(DIGEST-MD5)authcid=DOMAIN\username
OpenLDAP / Sun DSauthcid=username
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"
      }
    }
  }
}
環境変数
データベース接続
変数説明デフォルト
DATABASE_URITeradata 接続 URL(teradatasql://user:pass@host/db)—
DB_LOGMECH認証方式:TD2、LDAP、KRB5、TDNEGO、JWTTD2
DB_LOGDATALDAP/JWT の認証情報(例:authcid=user password=pass)—
DB_SSL_MODETLS モード:ALLOW、PREFER、REQUIRE、VERIFY-CA、VERIFY-FULL—
DB_ENCRYPT_DATA転送時の暗号化を有効にしますtrue
接続の回復性
変数説明デフォルト
DB_MAX_RETRIES最大再接続試行回数3
DB_INITIAL_BACKOFF初期待機時間(秒)1.0
DB_MAX_BACKOFF最大待機時間(秒)30.0
MCP トランスポート
変数説明デフォルト
MCP_TRANSPORTトランスポート:stdio、sse、streamable-httpstdio
MCP_HOSTHTTP トランスポートのバインドアドレスlocalhost
MCP_PORTHTTP トランスポートのポート8000
MCP_PATHstreamable-http のパス/mcp/
OAuth 2.1
変数説明デフォルト
OAUTH_ENABLEDOAuth 認証を有効にしますfalse
KEYCLOAK_URLKeycloak サーバーの URL—
KEYCLOAK_REALMKeycloak のレルム名—
KEYCLOAK_CLIENT_IDOAuth クライアント ID—
KEYCLOAK_CLIENT_SECRETOAuth クライアントシークレット—
OAUTH_RESOURCE_SERVER_URLリソースサーバーの URL—
OAUTH_REQUIRED_SCOPES必須スコープ(カンマ区切り)—
OAUTH_VALIDATE_AUDIENCEトークンのオーディエンスを検証しますtrue
OAUTH_VALIDATE_SCOPESトークンのスコープを検証しますtrue
OAUTH_REQUIRE_HTTPSOAuth URL に HTTPS を必須としますtrue
CORS_ALLOWED_ORIGINSCORS で許可するオリジン*
OAuth スコープ
スコープ説明
teradata:readデータベースリソースへの読み取りアクセス
teradata:writeデータベースリソースへの書き込みアクセス
teradata:querySQL クエリを実行します
teradata:admin管理者アクセス
teradata:schemaスキーマ管理操作
トランスポートの互換性
トランスポート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 サーバーで TDGSS の LDAP が設定されていることを確認します
  • authcid の形式がディレクトリの種類に合っていることを確認します
  • パスワード内の特殊文字をエスケープします(@ → \@、スペース → 引用符を使用)

アクセス拒否エラー:

  • ユーザーに必要な OAuth スコープがあることを確認します
  • Keycloak のロール割り当てを確認します
  • visualize_query には teradata:read だけでなく、teradata:query スコープが必要です

デバッグログ:

export LOG_LEVEL=DEBUG
uv run teradata-mcp

ライセンス

MIT License。詳細は LICENSE を参照してください。

謝辞

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。