Teradata MCP-Servervorlage
Überblick
Der Teradata MCP-Server ist ein Open-Source-Projekt. Wir freuen uns über Beiträge über Pull Requests.
Wir bieten drei Sätze von Werkzeugen und dazugehörige hilfreiche Eingabeaufforderungen
td_base_tools:
execute_read_query – führt eine Leseabfrage aus
execute_write_query – führt eine Schreibabfrage aus
read_table_DDL – gibt die Ergebnisse der Tabellenanzeige zurück
read_database_list - gibt eine Liste aller Datenbanken zurück
read_table_list – gibt eine Liste von Tabellen in einer Datenbank zurück
read_column_description – gibt die Beschreibung der Spalten in einer Tabelle zurück
read_table_preview - gibt Spalteninformationen und 5 Zeilen aus der Tabelle zurück
read_table_affinity – ruft Tabellen ab, die häufig zusammen verwendet werden
read_table_usage – Messen Sie die Nutzung einer Tabelle und von Ansichten durch Benutzer in einem bestimmten Schema
prompt_general - Erstellen Sie eine SQL-Abfrage für die Datenbank
prompt_table_business_description - generiert eine Geschäftsbeschreibung einer Tabelle
prompt_database_business_description - generiert eine Geschäftsbeschreibung einer Datenbank basierend auf den Tabellen
td_dba_tools:
read_user_sql_list – gibt eine Liste der zuletzt ausgeführten SQL-Befehle für einen Benutzer zurück
read_table_sql_list – gibt eine Liste der zuletzt ausgeführten SQL-Anweisungen für eine Tabelle zurück
read_table_space – gibt den CurrentPerm-Tabellenbereich zurück
read_database_space – gibt den zugewiesenen Speicherplatz, den verwendeten Speicherplatz und den verwendeten Prozentsatz für eine Datenbank zurück
read_database_version – gibt die Datenbankversionsinformationen zurück
read_resuage_summary – Ruft die zusammenfassenden Metriken zur Teradata-Systemnutzung nach Wochentag und Stunde für jeden Workloadtyp und Abfragekomplexitäts-Bucket ab.
read_flow_control – Erhalten Sie die Flusskontrollmetriken des Teradata-Systems nach Tag und Stunde
read_feature_usage – Ruft die Nutzungsmetriken der Benutzerfunktionen ab
read_user_delay – Ruft die Teradata-Benutzerverzögerungsmetriken ab.
prompt_table_archive – Erstellen Sie eine Tabellenarchivierungsstrategie für Datenbanktabellen.
prompt_database_lineage – Erstellt eine gerichtete Herkunftskarte von Tabellen in einer Datenbank.
td_data_quality_tools:
missing_values - gibt eine Liste von Spaltennamen mit fehlenden Werten zurück
negative_values - gibt eine Liste von Spaltennamen mit negativen Werten zurück
distinct_categories – gibt eine Liste von Kategorien innerhalb einer Spalte zurück
standard_deviation – gibt den Mittelwert und die Standardabweichung für eine Spalte zurück
Sie können benutzerdefinierte Abfragetools in der Datei custom_tools.yaml
oder in einer beliebigen Datei mit der Endung _tools.yaml
definieren. Geben Sie einfach den Toolnamen, die Beschreibung und die auszuführende SQL-Abfrage an. Parameter werden derzeit nicht unterstützt.
Das Testverzeichnis enthält ein einfaches ClientChatBot-Tool zum Testen von Tools.
Umgebungseinrichtung
Schritt 1 – Die Umgebung wurde zusammengestellt, vorausgesetzt, Sie haben das UV-Paket auf Ihrem lokalen Rechner installiert. Installationsanweisungen für UV finden Sie unter https://github.com/astral-sh/uv
Schritt 2 - Klonen Sie das MCP-Server-Repository mit
Unter Windows
Unter Mac/Linux
Schritt 3 - Sie müssen die .env-Datei aktualisieren
Benennen Sie die Umgebungsdatei in .env um
Die Datenbank-URI hat das folgende Format: teradata://Benutzername:Passwort@Host:1025/Datenbankname. Verwenden Sie ClearScape Analytics Experience https://www.teradata.com/getting-started/demos/clearscape-analytics
der Benutzername muss aktualisiert werden
das Passwort muss aktualisiert werden
der Teradata-Host muss aktualisiert werden
der Datenbankname muss aktualisiert werden
LLM-Anmeldeinformationen müssen verfügbar sein, damit der Code /test/pydanticaiBedrock.py funktioniert
SSE-Einstellung
SSE: Boolescher Wert, um zu bestimmen, ob Ihr Server den SSE-Transport (SSE = True) oder den Standardtransport (SSE = False) verwendet.
SSE_HOST: IP-Adresse, unter der der Server zu finden ist, Standard sollte 127.0.0.1 sein
SSE_PORT: Portadresse, unter der der Server gefunden werden kann, Standard sollte 8001 sein
Beispiel einer .env-Datei
Testen Ihres Servers mit MCP Inspector
Schritt 1 - Starten Sie den Server und geben Sie Folgendes in Ihr Terminal ein
HINWEIS: Wenn Sie dies auf einem Windows-Computer ausführen und npx-, npm- oder node.js-Fehler erhalten, installieren Sie die erforderliche node.js-Software von hier: https://github.com/nodists/nodist
Schritt 2 - Öffnen Sie den MCP-Inspektor
Sie sollten das Inspector-Tool öffnen und zu http://127.0.0.1:6274 gehen.
Klicken Sie auf Werkzeuge
Klicken Sie auf Listentools
Klicken Sie auf read_database_list
Klicken Sie auf Ausführen
Testen Sie die anderen Tools. Jedes sollte ein erfolgreiches Ergebnis liefern.
Strg+C, um den Server im Terminal zu stoppen
Ausführen des Servers
Sie können den Server einfach mit folgendem Befehl ausführen: uv run teradata-mcp-server
Hinzufügen Ihres Servers zu einem Agenten mit stdio
Option 1 – pydanticai-Chatbot
Schritt 1 - Bestätigen Sie, dass das SSE-Flag in der .env-Datei auf „False“ gesetzt wurde
Schritt 2 - Ändern Sie das Skript ./test/ClientChatBot.py so, dass es auf den Installationsort des Servers verweist. Dazu müssen Sie die folgende Zeile ändern
Schritt 3: Führen Sie das Skript ./test/ClientChatBot.py aus. Dadurch wird eine interaktive Sitzung mit dem Agenten erstellt, der Zugriff auf den MCP-Server hat. Von einem Terminal aus.
Bitten Sie den Agenten, die Datenbanken aufzulisten
Bitten Sie den Agenten, die Tabelle in einer Datenbank aufzulisten
Bitten Sie den Agenten, alle Objekte in einer Datenbank anzuzeigen
Stellen Sie dem Agenten eine Frage, für deren Ausführung SQL für eine Tabelle erforderlich ist
Geben Sie zum Beenden „quit“ ein.
Option 2 – ADK-Chatbot
Schritt 1 - Bestätigen Sie, dass das SSE-Flag in der .env-Datei auf „False“ gesetzt wurde
Schritt 2 – Wechseln Sie von einem Terminal in das Verzeichnis teradata_mcp_server/test.
Schritt 3 – ADK-Webserver öffnen
Schritt 4 - Chatten Sie mit dem td_agent
Option 3 - mcp_chatbot
Schritt 0 – Ändern Sie server_config.json im Testverzeichnis und stellen Sie sicher, dass der Pfad korrekt ist.
Schritt 1 - Bestätigen Sie, dass das SSE-Flag in der .env-Datei auf „False“ gesetzt wurde
Schritt 2 - Wechseln Sie in das Verzeichnis teradata_mcp_server. Führen Sie von einem Terminal aus den mcp_chatbot aus.
Schritt 3 - Listen Sie die Eingabeaufforderungen auf, indem Sie /prompts eingeben
Schritt 4 - Ausführen einer Eingabeaufforderung zum Beschreiben einer Datenbank
Hinzufügen von Tools mit stdio zu Visual Studio Code Co-Pilot
Bestätigen Sie, dass das SSE-Flag in der .env-Datei auf „False“ gesetzt wurde
In VS Code: „Befehle anzeigen und ausführen“
wählen Sie „MCP: Server hinzufügen“
wählen Sie "Command Stdio"
Geben Sie beim Ausführen des Befehls „uv“ ein
Geben Sie den Namen des Servers für die ID ein
Die Datei settings.json sollte geöffnet werden
Ändern Sie den Verzeichnispfad und stellen Sie sicher, dass er auf den Ort verweist, an dem Sie den Server installiert haben
Fügen Sie die Argumente hinzu, sodass es wie folgt aussieht:
Hinweis: Sie müssen den Verzeichnispfad in den Argumenten für Ihr System anpassen. Es muss ein vollständiger Pfad sein. Möglicherweise benötigen Sie im Befehl auch einen vollständigen Pfad zu uv.
Sie können den Server aus der Datei „settings.json“ heraus starten oder „MCP: Server starten“ verwenden.
Hinzufügen von Tools mit SSE zu Visual Studio Code Co-Pilot
Bestätigen Sie, dass das SSE-Flag in der .env-Datei auf „False“ gesetzt wurde
Sie müssen den Server von einem Terminal aus starten
In VS Code: „Befehle anzeigen und ausführen“
wählen Sie „MCP: Server hinzufügen“
Wählen Sie „Vom HTTP-Server gesendete Ereignisse“
Geben Sie die URL für den Standort des Servers ein, z. B. http://127.0.0.1:8001/sse
Geben Sie den Namen des Servers für die ID ein
Benutzerbereich auswählen
Die Datei settings.json sollte geöffnet werden
Fügen Sie die Argumente hinzu, sodass es wie folgt aussieht:
in der Datei settings.json oder Sie können "MCP: Server starten" verwenden.
Hinzufügen des MCP-Servers zu Claude Desktop
Sie können diesen Server Claude Desktop hinzufügen, indem Sie diesen Eintrag zu Ihrer Konfigurationsdatei claude_desktop_config.json
hinzufügen:
Hinweis: Sie müssen den Verzeichnispfad in den Argumenten für Ihr System anpassen. Es muss ein vollständiger Pfad sein. Möglicherweise benötigen Sie im Befehl auch einen vollständigen Pfad zu uv.
Hinweis: Dies erfordert, dass uv
für Claude in Ihrem Systempfad verfügbar ist oder global auf Ihrem System installiert ist (z. B. uv mit brew
für Mac OS-Benutzer installiert).
Verfügbarmachen von Tools als REST-Endpunkte mit mcpo
Sie können mcpo verwenden, um dieses MCP-Tool als OpenAPI-kompatiblen HTTP-Server verfügbar zu machen.
Beispielsweise mit uv: uvx mcpo --port 8001 --api-key "top-secret" -- uv run teradata-mcp-server
Ihre Teradata-Tools sind jetzt als lokale REST-Endpunkte verfügbar. Sehen Sie sich die Dokumentation an und testen Sie sie unter http://localhost:8001/docs
Verwenden des Servers mit Open WebUI
Open WebUI ist eine benutzerfreundliche, selbstgehostete KI-Plattform, die vollständig offline betrieben werden kann und verschiedene LLM-Runner wie Ollama unterstützt. Sie bietet eine komfortable Möglichkeit zur Interaktion mit LLMs und MCP-Servern über eine intuitive Benutzeroberfläche. Die Integration in diesen MCP-Server erfolgt über die Komponente mcpo .
Führen Sie zuerst mcpo wie im obigen Abschnitt angegeben aus.
Greifen Sie unter http://localhost:8080 auf die Benutzeroberfläche zu. Um die MCP-Tools hinzuzufügen, navigieren Sie zu Einstellungen > Tools > Verbindung hinzufügen und geben Sie Ihre MCPO-Serververbindungsdetails ein (z. B. localhost:8001
, Kennwort = top-secret
, wenn Sie die Befehlszeile im MCPO-Abschnitt ausgeführt haben).
Sie sollten die Tools im Abschnitt „Chat-Steuerventile“ auf der rechten Seite sehen und Ihre Modelle dazu bringen können, sie zu verwenden.
Zertifizierung
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Ein Server, der Tools zum Abfragen und Analysieren von Teradata-Datenbanken bereitstellt, einschließlich Datenbankverwaltung, Bewertung der Datenqualität und SQL-Ausführungsfunktionen über eine MCP-Schnittstelle.
- Überblick
- Umgebungseinrichtung
- Testen Ihres Servers mit MCP Inspector
- Ausführen des Servers
- Hinzufügen Ihres Servers zu einem Agenten mit stdio
- Hinzufügen von Tools mit stdio zu Visual Studio Code Co-Pilot
- Hinzufügen von Tools mit SSE zu Visual Studio Code Co-Pilot
- Hinzufügen des MCP-Servers zu Claude Desktop
- Verfügbarmachen von Tools als REST-Endpunkte mit mcpo
- Verwenden des Servers mit Open WebUI
- Zertifizierung
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.Last updated -44MIT License
- -securityAlicense-qualityAn MCP server that connects to Supabase PostgreSQL databases, exposing table schemas as resources and providing tools for data analysis through SQL queries.Last updated -1MIT License
- -securityFlicense-qualityAn 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 -3204
- -securityFlicense-qualityAn MCP server for interacting with Treasure Data API, allowing users to retrieve database information and check server status through natural language queries.Last updated -23