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.

Plantilla de servidor Teradata MCP

Descripción general

El servidor Teradata MCP es un proyecto de código abierto, aceptamos contribuciones a través de solicitudes de extracción.

Ofrecemos tres conjuntos de herramientas.

  1. herramientas td_base:
    • execute_read_query - ejecuta una consulta de lectura
    • execute_write_query - ejecuta una consulta de escritura
    • read_table_DDL: devuelve los resultados de la tabla mostrada
    • read_database_list: devuelve una lista de todas las bases de datos
    • read_table_list: devuelve una lista de tablas en una base de datos
    • read_column_description: devuelve la descripción de las columnas de una tabla
    • read_table_preview: devuelve información de la columna y 5 filas de la tabla
  2. herramientas td_dba:
    • read_sql_list: devuelve una lista de SQL ejecutado recientemente para un usuario
    • read_table_space: devuelve el espacio de tabla CurrentPerm
    • read_database_space: devuelve el espacio asignado, el espacio utilizado y el porcentaje utilizado para una base de datos
    • read_database_version: devuelve la información de la versión de la base de datos
  3. herramientas de calidad de datos td:
    • missing_values: devuelve una lista de nombres de columnas con valores faltantes
    • valores_negativos: devuelve una lista de nombres de columnas con valores negativos
    • distinct_categories: devuelve una lista de categorías dentro de una columna
    • standard_deviation: devuelve la media y la desviación estándar de una columna

También hemos creado una sección de herramientas personalizadas que permitirá agregar fácilmente el desarrollo de herramientas para el cliente.

El directorio de pruebas contiene una herramienta ClientChatBot simple para probar herramientas.

Configuración del entorno

Paso 1: El entorno se ha configurado asumiendo que tiene el paquete uv instalado en su equipo local. Las instrucciones de instalación de uv se encuentran en https://github.com/astral-sh/uv

Paso 2: Clonar el repositorio mcp-server con

En 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

En 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

Paso 3: Debes actualizar el archivo .env

  • Cambiar el nombre del archivo env a .env
  • La URI de la base de datos tendrá el siguiente formato teradata://nombreusuario:contraseña@host:1025/nombrebasededatos, utilice una experiencia de ClearScape Analytics https://www.teradata.com/getting-started/demos/clearscape-analytics
    • El nombre de usuario necesita actualizarse
    • La contraseña necesita actualizarse
    • El host Teradata necesita una actualización
    • El nombre de la base de datos necesita actualizarse
  • Las credenciales LLM deben estar disponibles para que el código /test/pydanticaiBedrock.py funcione
  • Configuración SSE
    • SSE: Booleano para determinar si su servidor utilizará el transporte SSE (SSE = Verdadero) o el transporte stdio (SSE = Falso)
    • SSE_HOST: Dirección IP en la que se puede encontrar el servidor, el valor predeterminado debe ser 127.0.0.1
    • SSE_PORT: Dirección del puerto en el que se puede encontrar el servidor, el valor predeterminado debe ser 8001

Ejemplo de archivo .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=

Probar su servidor con MCP Inspector

Paso 1 - Inicie el servidor, escriba lo siguiente en su terminal

uv run mcp dev ./src/teradata_mcp_server/server.py

NOTA: Si está ejecutando esto en una máquina Windows y obtiene errores de npx, npm o node.js, instale el software node.js requerido desde aquí: https://github.com/nodists/nodist

Paso 2: Abra el Inspector MCP

  • Debes abrir la herramienta de inspección, ir a http://127.0.0.1:6274
  • Haga clic en herramientas
  • Haga clic en la lista de herramientas
  • Haga clic en read_database_list
  • Haga clic en ejecutar

Pruebe las otras herramientas, cada una debería tener un resultado exitoso

Control+c para detener el servidor en la terminal

Agregar su servidor a un agente mediante stdio

Paso 1: Confirme que el indicador SSE en el archivo .env se haya establecido en Falso.

SSE=False

Paso 2 - Modifique el script ./test/ClientChatBot.py para que apunte a donde instaló el servidor, deberá modificar la siguiente línea

td_mcp_server = MCPServerStdio('uv', ["--directory", "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server/src/teradata_mcp_server", "run", "server.py"])

Paso 2: ejecute el script ./test/ClientChatBot.py, esto creará una sesión interactiva con el agente que tiene acceso al servidor MCP.

Desde una terminal.

uv run ./test/ClientChatBot.py
  • Pídale al agente que enumere las bases de datos
  • Pídale al agente que incluya la tabla en una base de datos
  • Pídale al agente que muestre todos los objetos en una base de datos
  • Pregúntele al agente una pregunta que requiera que SQL se ejecute en una tabla
  • Escriba "quit" para salir.

Agregar herramientas usando stdio a Visual Studio Code Co-pilot

  • Confirme que el indicador SSE en el archivo .env se ha establecido en Falso
SSE=False
  • En VS Code, "Mostrar y ejecutar comandos"
  • Seleccione "MCP: Agregar servidor"
  • Seleccione "Comando Stdio"
  • Ingrese "uv" en el comando para ejecutar
  • Ingrese el nombre del servidor para el id
  • El archivo settings.json debería abrirse
  • Modifique la ruta del directorio y asegúrese de que apunte a donde tiene instalado el servidor.
  • Agrega los argumentos para que se vea así:
"mcp": { "servers": { "TeradataStdio": { "type": "stdio", "command": "uv", "args": [ "--directory", "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server/src/teradata_mcp_server/, "run", "server.py" ] } } }
  • Puede iniciar el servidor desde el archivo settings.json o puede hacerlo desde "MCP: Iniciar servidor".

Agregar herramientas mediante SSE a Visual Studio Code Co-pilot

  • Confirme que el indicador SSE en el archivo .env se ha establecido en Falso
SSE=True SSE_HOST=127.0.0.1 SSE_PORT=8001
  • Necesitas iniciar el servidor desde una terminal
uv run ./src/teradata_mcp_server/server.py
  • En VS Code, "Mostrar y ejecutar comandos"
  • Seleccione "MCP: Agregar servidor"
  • Seleccione "Eventos enviados por el servidor HTTP"
  • Ingrese la URL para la ubicación del servidor, por ejemplo, http://127.0.0.1:8001/sse
  • Ingrese el nombre del servidor para el id
  • seleccionar espacio de usuario
  • El archivo settings.json debería abrirse
  • Agrega los argumentos para que se vea así:
"mcp": { "servers": { "TeradataSSE": { "type": "sse", "url": "http://127.0.0.1:8001/sse" } } }
  • dentro del archivo settings.json o puedes "MCP: Iniciar servidor"

Exponer herramientas como puntos finales REST con mcpo

Puede utilizar mcpo para exponer esta herramienta MCP como un servidor HTTP compatible con OpenAPI.

Por ejemplo, usando uv: uvx mcpo --port 8001 --api-key "top-secret" -- uv run src/teradata_mcp_server/server.py

Sus herramientas Teradata ahora están disponibles como puntos finales REST locales, consulte la documentación y pruébela en http://localhost:8001/docs

Uso del servidor con Open WebUI

Open WebUI es una plataforma de IA autoalojada e intuitiva, diseñada para funcionar completamente sin conexión y compatible con diversos ejecutores LLM como Ollama. Ofrece una forma práctica de interactuar con LLM y servidores MCP desde una interfaz gráfica intuitiva. Se puede integrar con este servidor MCP mediante el componente mcpo .

Primero ejecute mcpo como se especifica en la sección anterior .

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

Acceda a la interfaz de usuario en http://localhost:8080 . Para agregar las herramientas de MCP, vaya a Configuración > Herramientas > Agregar conexión e ingrese los datos de conexión de su servidor mcpo (p. ej., localhost:8001 , contraseña = top-secret si ejecutó la línea de comandos en la sección mcpo).

Deberías poder ver las herramientas en la sección Válvulas de control de chat a la derecha y hacer que tus modelos las utilicen.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Un servidor que proporciona herramientas para consultar y analizar bases de datos de Teradata, incluida la gestión de bases de datos, la evaluación de la calidad de los datos y las capacidades de ejecución de SQL a través de una interfaz MCP.

  1. Descripción general
    1. Configuración del entorno
      1. Probar su servidor con MCP Inspector
        1. Agregar su servidor a un agente mediante stdio
          1. Agregar herramientas usando stdio a Visual Studio Code Co-pilot
            1. Agregar herramientas mediante SSE a Visual Studio Code Co-pilot
              1. Exponer herramientas como puntos finales REST con mcpo
                1. Uso del servidor con Open WebUI

                  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