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.

Teradata MCP 服务器模板

概述

Teradata MCP 服务器是一个开源项目,我们欢迎通过拉取请求做出贡献。

我们提供三套工具

  1. td_base_工具:
    • execute_read_query - 运行读取查询
    • execute_write_query - 运行写入查询
    • read_table_DDL - 返回显示表结果
    • read_database_list - 返回所有数据库的列表
    • read_table_list - 返回数据库中的表列表
    • read_column_description - 返回表中列的描述
    • read_table_preview - 返回表中的列信息和 5 行
  2. td_dba_工具:
    • read_sql_list - 返回用户最近执行的 SQL 列表
    • read_table_space - 返回 CurrentPerm 表空间
    • read_database_space - 返回数据库分配的空间、使用的空间和使用的百分比
    • read_database_version - 返回数据库版本信息
  3. td_数据质量工具:
    • missing_values - 返回具有缺失值的列名列表
    • negative_values - 返回具有负值的列名列表
    • distinct_categories - 返回列中的类别列表
    • standard_deviation - 返回列的平均值和标准差

我们还创建了一个 custom_tools 部分,以便轻松添加客户工具的开发。

测试目录包含一个用于测试工具的简单 ClientChatBot 工具。

环境设置

步骤 1 - 假设您已在本地计算机上安装了 uv 软件包,则环境已搭建完毕。uv 的安装说明可在https://github.com/astral-sh/uv找到。

步骤 2 - 使用以下命令克隆 mcp-server 存储库

在 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

在 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

步骤 3 - 您需要更新 .env 文件

  • 将 env 文件重命名为 .env
  • 数据库 URI 将具有以下格式 teradata://username:password@host:1025/databasename,使用 ClearScape Analytics Experience https://www.teradata.com/getting-started/demos/clearscape-analytics
    • 用户名需要更新
    • 密码需要更新
    • Teradata 主机需要更新
    • 数据库名称需要更新
  • 需要有 LLM 凭证才能使 /test/pydanticaiBedrock.py 代码正常运行
  • SSE 设置
    • SSE :布尔值,用于确定您的服务器是否将使用 SSE 传输(SSE = True)或 stdio 传输(SSE=False)
    • SSE_HOST:服务器的 IP 地址,默认值为 127.0.0.1
    • SSE_PORT:服务器可访问的端口地址,默认为8001

示例 .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=

使用 MCP Inspector 测试您的服务器

步骤 1 - 启动服务器,在终端中输入以下内容

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

注意:如果您在 Windows 计算机上运行此程序并收到 npx、npm 或 node.js 错误,请从此处安装所需的 node.js 软件: https://github.com/nodists/nodist

步骤 2 - 打开 MCP 检查器

  • 您应该打开检查工具,转到http://127.0.0.1:6274
  • 点击工具
  • 点击列表工具
  • 点击 read_database_list
  • 点击运行

测试其他工具,每个工具都应该有一个成功的结果

Control+c 在终端中停止服务器

使用 stdio 将服务器添加到代理

步骤 1 - 确认 .env 文件中的 SSE 标志已设置为 False

SSE=False

第 2 步 - 修改 ./test/ClientChatBot.py 脚本以指向您安装服务器的位置,您需要修改以下行

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

第 2 步 - 运行 ./test/ClientChatBot.py 脚本,这将与有权访问 MCP 服务器的代理创建一个交互式会话。

从终端。

uv run ./test/ClientChatBot.py
  • 要求代理列出数据库
  • 要求代理列出数据库中的表
  • 要求代理显示数据库中的所有对象
  • 向代理询问需要针对表运行 SQL 的问题
  • 输入“quit”退出。

使用 stdio 向 Visual Studio Code Co-pilot 添加工具

  • 确认 .env 文件中的 SSE 标志已设置为 False
SSE=False
  • 在 VS Code 中,“显示和运行命令”
  • 选择“MCP:添加服务器”
  • 选择“Command Stdio”
  • 在命令中输入“uv”运行
  • 输入服务器名称作为 ID
  • 设置.json文件应该打开
  • 修改目录路径并确保它指向安装服务器的位置
  • 添加参数,使其看起来像:
"mcp": { "servers": { "TeradataStdio": { "type": "stdio", "command": "uv", "args": [ "--directory", "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server/src/teradata_mcp_server/, "run", "server.py" ] } } }
  • 您可以从 settings.json 文件中启动服务器,也可以“MCP:启动服务器”

使用 SSE 向 Visual Studio Code Co-pilot 添加工具

  • 确认 .env 文件中的 SSE 标志已设置为 False
SSE=True SSE_HOST=127.0.0.1 SSE_PORT=8001
  • 您需要从终端启动服务器
uv run ./src/teradata_mcp_server/server.py
  • 在 VS Code 中,“显示和运行命令”
  • 选择“MCP:添加服务器”
  • 选择“HTTP 服务器发送事件”
  • 输入服务器位置的 URL,例如http://127.0.0.1:8001/sse
  • 输入服务器名称作为 ID
  • 选择用户空间
  • 设置.json文件应该打开
  • 添加参数,使其看起来像:
"mcp": { "servers": { "TeradataSSE": { "type": "sse", "url": "http://127.0.0.1:8001/sse" } } }
  • 在 settings.json 文件中,或者您可以“MCP:启动服务器”

使用 mcpo 将工具公开为 REST 端点

您可以使用mcpo将此 MCP 工具公开为与 OpenAPI 兼容的 HTTP 服务器。

例如,使用 uv: uvx mcpo --port 8001 --api-key "top-secret" -- uv run src/teradata_mcp_server/server.py

您的 Teradata 工具现在可以作为本地 REST 端点使用,查看文档并在http://localhost:8001/docs上进行测试

使用带有 Open WebUI 的服务器

Open WebUI是一个用户友好的自托管 AI 平台,旨在完全离线运行,支持各种 LLM 运行器,例如 Ollama。它提供了一种通过直观的 GUI 与 LLM 和 MCP 服务器交互的便捷方式。它可以使用mcpo组件与此 MCP 服务器集成。

首先按照上面部分所述运行 mcpo。

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

通过http://localhost:8080访问用户界面。要添加 MCP 工具,请前往“设置”>“工具”>“添加连接”,然后输入您的 mcpo 服务器连接信息(例如, localhost:8001 ,如果您在 mcpo 部分执行了命令行,则密码为top-secret )。

您应该能够在右侧的聊天控制阀部分看到工具并让您的模型使用它。

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