Teradata MCP Server
Teradata MCP-Server
Ein Model Context Protocol (MCP)-Server für Teradata-Datenbanken mit OAuth 2.1-Authentifizierung, mehreren Authentifizierungsmechanismen (TD2, LDAP, Kerberos) und interaktiver Datenvisualisierung.
Funktionen
Mehrere Authentifizierungsmechanismen — TD2 (Standard), LDAP, Kerberos, JWT über Teradata
LOGMECHOAuth 2.1 mit Keycloak-Integration, JWT-Validierung, bereichsbasierter Autorisierung
Metadaten für geschützte Ressourcen (RFC 9728-konform)
Interaktive Visualisierung — ECharts-basierte MCP-App mit 19 Diagrammtypen
Verbindungsstabilität — automatische Wiederholung mit exponentiellem Backoff
Nicht-blockierende E/A — alle Datenbankoperationen laufen über
asyncio.to_thread()Tool-spezifisches QueryBand — Audit-Trail für Teradata-Workload-Management
Related MCP server: Teradata MCP Server
Tools
Abfrage-Tools
query— SQL-Abfragen ausführen, einfache tabellarische Ergebnisse zurückgebenvisualize_query— SQL ausführen und interaktive ECharts-Diagramme über die MCP-App rendern
Schema-Tools
list_db— Alle Datenbanken auflistenlist_tables— Tabellen/Ansichten in einer Datenbank auflistenshow_tables_details— Spaltennamen und -typen für eine Tabelle anzeigen
Analyse-Tools
list_missing_values— Spalten mit NULL-Wert-Anzahllist_negative_values— Spalten mit negativer Wert-Anzahllist_distinct_values— Anzahl der unterschiedlichen Kategorien pro Spaltestandard_deviation— Mittelwert und Standardabweichung für eine Spalte
MCP-App — Interaktive Visualisierung
Das Tool visualize_query rendert Ergebnisse als interaktive Diagramme im MCP-Client.
Kategorie | Diagramme |
Balken | Basis, Gruppiert, Gestapelt, Horizontal, Sortiert, Wasserfall, Abgerundet, Polar |
Linie | Basis, Glatt, Fläche, Gestapelte Fläche, Stufe |
Kreis | Kreis, Donut, Rose / Nightingale |
Streuung | Streuung, Blase |
Gemischt | Balken + Linie |
Schnellstart
Installation
git clone https://github.com/arturborycki/mcp-teradata.git
cd mcp-teradata
uv syncAusführung mit TD2 (Standard-Authentifizierung)
uv run teradata-mcp "teradatasql://user:password@host/database"Oder über Umgebungsvariable:
export DATABASE_URI="teradatasql://user:password@host/database"
uv run teradata-mcpKonfiguration
Claude Desktop
Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:
TD2 (Benutzername/Passwort)
{
"mcpServers": {
"teradata": {
"command": "uv",
"args": [
"--directory", "/path/to/mcp-teradata",
"run", "teradata-mcp"
],
"env": {
"DATABASE_URI": "teradatasql://user:password@host/database"
}
}
}
}LDAP-Authentifizierung
{
"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"
}
}
}
}Das authcid-Format hängt vom LDAP-Verzeichnis ab:
Verzeichnis | Format |
Active Directory (Simple Bind) |
|
Active Directory (DIGEST-MD5) |
|
OpenLDAP / Sun DS |
|
Kerberos-Authentifizierung
{
"mcpServers": {
"teradata": {
"command": "uv",
"args": [
"--directory", "/path/to/mcp-teradata",
"run", "teradata-mcp"
],
"env": {
"DATABASE_URI": "teradatasql://@host/database",
"DB_LOGMECH": "KRB5"
}
}
}
}OAuth-aktivierte Konfiguration
{
"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"
}
}
}
}Umgebungsvariablen
Datenbankverbindung
Variable | Beschreibung | Standard |
| Teradata-Verbindungs-URL ( | — |
| Authentifizierungsmechanismus: |
|
| LDAP/JWT-Anmeldedaten (z. B. | — |
| TLS-Modus: | — |
| Transportverschlüsselung aktivieren |
|
Verbindungsstabilität
Variable | Beschreibung | Standard |
| Maximale Wiederholungsversuche |
|
| Anfängliche Backoff-Verzögerung (Sekunden) |
|
| Maximale Backoff-Verzögerung (Sekunden) |
|
MCP-Transport
Variable | Beschreibung | Standard |
| Transport: |
|
| Bind-Adresse für HTTP-Transporte |
|
| Port für HTTP-Transporte |
|
| Pfad für streamable-http |
|
OAuth 2.1
Variable | Beschreibung | Standard |
| OAuth-Authentifizierung aktivieren |
|
| Keycloak-Server-URL | — |
| Keycloak-Realm-Name | — |
| OAuth-Client-ID | — |
| OAuth-Client-Secret | — |
| Ressourcen-Server-URL | — |
| Erforderliche Scopes (durch Kommas getrennt) | — |
| Token-Audience validieren |
|
| Token-Scopes validieren |
|
| HTTPS für OAuth-URLs erzwingen |
|
| CORS-erlaubte Ursprünge |
|
OAuth-Scopes
Scope | Beschreibung |
| Lesezugriff auf Datenbankressourcen |
| Schreibzugriff auf Datenbankressourcen |
| SQL-Abfragen ausführen |
| Administrativer Zugriff |
| Schema-Verwaltungsoperationen |
Transport-Kompatibilität
Transport | OAuth | Discovery-Endpunkte | Anwendungsfall |
stdio | N/A | N/A | Claude Desktop, CLI-Clients |
SSE | Voll | Verfügbar | Webanwendungen |
Streamable HTTP | Voll | Verfügbar | API-Integrationen |
Discovery-Endpunkte (wenn OAuth aktiviert ist):
/.well-known/oauth-protected-resource— RFC 9728-Metadaten/.well-known/mcp-server-info— MCP-Funktionen/health— Gesundheitsprüfung
Docker-Bereitstellung
Entwicklung
docker compose up -dMit OAuth
docker compose -f docker-compose.oauth.yml up -dBuild
uv buildFehlerbehebung
Probleme bei der Datenbankverbindung:
Überprüfen Sie das
DATABASE_URI-Format:teradatasql://user:pass@host/databaseÜberprüfen Sie die Netzwerkkonnektivität zum Teradata-Server
Für LDAP: Stellen Sie sicher, dass
DB_LOGMECH=LDAPundDB_LOGDATAkorrekt gesetzt sindVerbindungsprobleme werden automatisch wiederholt (konfigurierbar über
DB_MAX_RETRIES)
LDAP-Authentifizierung schlägt fehl:
Überprüfen Sie, ob der Teradata-Server LDAP in TDGSS konfiguriert hat
Überprüfen Sie, ob das
authcid-Format mit Ihrem Verzeichnistyp übereinstimmtMaskieren Sie Sonderzeichen in Passwörtern (
@→\@, Leerzeichen → Anführungszeichen verwenden)
Zugriffsverweigerungsfehler:
Überprüfen Sie, ob der Benutzer über die erforderlichen OAuth-Scopes verfügt
Überprüfen Sie die Keycloak-Rollenzuweisungen
visualize_queryerfordert den Scopeteradata:query(nicht nurteradata:read)
Debug-Protokollierung:
export LOG_LEVEL=DEBUG
uv run teradata-mcpLizenz
MIT-Lizenz. Siehe LICENSE für Details.
Danksagungen
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Vertica databases through SQL queries, schema management, and bulk data operations. Supports connection pooling, SSL/TLS security, and configurable permissions for database operations.6Apache 2.0
- AlicenseCqualityDmaintenanceEnables AI agents and users to query, analyze, and manage Teradata databases through modular tools for search, data quality, administration, and data science operations. Provides comprehensive database interaction capabilities including RAG applications, feature store management, and vector operations.39MIT
- Flicense-qualityDmaintenanceEnables machine learning data preprocessing pipeline creation and model training, deployment, and prediction for Teradata databases.1
- Flicense-qualityDmaintenanceEnables natural language interaction with Teradata databases through Claude, allowing data exploration, profiling, and in-database KMeans clustering via MCP.
Related MCP Connectors
Run SOQL queries to explore and retrieve Salesforce data. Access accounts, contacts, opportunities…
Run SOQL queries against your Salesforce org to retrieve records and insights. Explore objects, fi…
Run SOQL queries to explore and retrieve Salesforce data. Inspect records, fields, and relationshi…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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