Teradata MCP Server
Teradata MCPサーバー
OAuth 2.1認証、複数の認証メカニズム(TD2、LDAP、Kerberos)、およびインタラクティブなデータ可視化機能を備えたTeradataデータベース用Model Context Protocol (MCP) サーバーです。
機能
複数の認証メカニズム — TD2(デフォルト)、LDAP、Kerberos、Teradata
LOGMECHを介したJWTOAuth 2.1 — Keycloak統合、JWT検証、スコープベースの認可
保護されたリソースメタデータ (RFC 9728準拠)
インタラクティブな可視化 — 19種類のチャートタイプを備えたEChartsベースのMCPアプリ
接続の回復力 — 指数バックオフによる自動再試行
ノンブロッキングI/O — すべてのDB操作は
asyncio.to_thread()を介して実行ツールごとのQueryBand — Teradataワークロード管理のための監査証跡
ツール
クエリツール
query— SQLクエリを実行し、プレーンな表形式の結果を返すvisualize_query— SQLを実行し、MCPアプリを介してインタラクティブなEChartsチャートをレンダリングする
スキーマツール
list_db— すべてのデータベースを一覧表示するlist_tables— データベース内のテーブル/ビューを一覧表示するshow_tables_details— テーブルの列名と型を表示する
分析ツール
list_missing_values— NULL値のカウントを持つ列list_negative_values— 負の値のカウントを持つ列list_distinct_values— 列ごとの個別のカテゴリカウントstandard_deviation— 列の平均値と標準偏差
MCPアプリ — インタラクティブな可視化
visualize_query ツールは、MCPクライアント内で結果をインタラクティブなチャートとしてレンダリングします。
カテゴリ | チャート |
棒グラフ | 基本、グループ化、積み上げ、横棒、ソート済み、ウォーターフォール、角丸、極座標 |
折れ線グラフ | 基本、滑らか、エリア、積み上げエリア、ステップ |
円グラフ | 円、ドーナツ、ローズ / ナイチンゲール |
散布図 | 散布図、バブル |
混合 | 棒グラフ + 折れ線グラフ |
クイックスタート
インストール
git clone https://github.com/arturborycki/mcp-teradata.git
cd mcp-teradata
uv syncTD2(標準認証)で実行
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 (Simple Bind) |
|
Active Directory (DIGEST-MD5) |
|
OpenLDAP / Sun DS |
|
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"
}
}
}
}環境変数
データベース接続
変数 | 説明 | デフォルト |
| Teradata接続URL ( | — |
| 認証メカニズム: |
|
| LDAP/JWT認証情報 (例: | — |
| TLSモード: | — |
| トランスポート暗号化を有効にする |
|
接続の回復力
変数 | 説明 | デフォルト |
| 最大再接続試行回数 |
|
| 初回バックオフ遅延(秒) |
|
| 最大バックオフ遅延(秒) |
|
MCPトランスポート
変数 | 説明 | デフォルト |
| トランスポート: |
|
| HTTPトランスポートのバインドアドレス |
|
| HTTPトランスポートのポート |
|
| streamable-httpのパス |
|
OAuth 2.1
変数 | 説明 | デフォルト |
| OAuth認証を有効にする |
|
| KeycloakサーバーURL | — |
| Keycloakレルム名 | — |
| OAuthクライアントID | — |
| OAuthクライアントシークレット | — |
| リソースサーバーURL | — |
| 必要なスコープ(カンマ区切り) | — |
| トークンのオーディエンスを検証する |
|
| トークンのスコープを検証する |
|
| OAuth URLにHTTPSを要求する |
|
| CORS許可オリジン |
|
OAuthスコープ
スコープ | 説明 |
| データベースリソースへの読み取りアクセス |
| データベースリソースへの書き込みアクセス |
| SQLクエリの実行 |
| 管理アクセス |
| スキーマ管理操作 |
トランスポートの互換性
トランスポート | OAuth | 検出エンドポイント | ユースケース |
stdio | N/A | N/A | Claude Desktop, CLIクライアント |
SSE | フル | 利用可能 | Webアプリケーション |
Streamable HTTP | フル | 利用可能 | API統合 |
検出エンドポイント(OAuth有効時):
/.well-known/oauth-protected-resource— RFC 9728メタデータ/.well-known/mcp-server-info— MCP機能/health— ヘルスチェック
Dockerデプロイメント
開発
docker compose up -dOAuth使用時
docker compose -f docker-compose.oauth.yml up -dビルド
uv buildトラブルシューティング
データベース接続の問題:
DATABASE_URIの形式を確認:teradatasql://user:pass@host/databaseTeradataサーバーへのネットワーク接続を確認
LDAPの場合:
DB_LOGMECH=LDAPとDB_LOGDATAが正しく設定されていることを確認接続の問題は自動的に再試行されます(
DB_MAX_RETRIESで設定可能)
LDAP認証の失敗:
TeradataサーバーのTDGSSでLDAPが設定されていることを確認
authcidの形式がディレクトリタイプと一致していることを確認パスワード内の特殊文字をエスケープする (
@→\@, スペース → クォーテーションを使用)
権限拒否エラー:
ユーザーが必要なOAuthスコープを持っていることを確認
Keycloakのロール割り当てを確認
visualize_queryにはteradata:queryスコープが必要です(teradata:readだけでは不十分です)
デバッグログ:
export LOG_LEVEL=DEBUG
uv run teradata-mcpライセンス
MITライセンス。詳細は LICENSE を参照してください。
謝辞
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/arturborycki/mcp-teradata'
If you have feedback or need assistance with the MCP directory API, please join our Discord server