T

Teradata

@Teradata/teradata-mcp-server
0 Stars 11 次浏览 Teradata 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "teradata": {
      "args": [
        "--directory",
        "/path_to_code/teradata-mcp-server",
        "run",
        "teradata-mcp-server"
      ],
      "command": "uv",
      "env": {
        "DATABASE_URI": "teradata://demo_user:teradata-demo@test-vikzqtnd0db0nglk.env.clearscape.teradata.com:1025/demo_user"
      }
    }
  }
}

可用工具 (18 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

execute_read_query 1 个参数

Executes a SQL query to read from the database.

该工具无需必填参数,直接调用即可

execute_write_query 1 个参数

Executes a SQL query to write to the database.

该工具无需必填参数,直接调用即可

read_table_ddl 2 个参数

Display table DDL definition.

该工具无需必填参数,直接调用即可

read_database_list

List all databases in the Teradata System.

该工具无需必填参数,直接调用即可

read_table_list 1 个参数

List objects in a database.

该工具无需必填参数,直接调用即可

read_column_description 2 个参数

Show detailed column information about a database table.

该工具无需必填参数,直接调用即可

read_table_preview 2 个参数

Get data samples and structure overview from a database table.

该工具无需必填参数,直接调用即可

read_table_affinity 2 个参数

Get tables commonly used together by database users, this is helpful to infer relationships between tables.

该工具无需必填参数,直接调用即可

read_table_usage 1 个参数

Measure the usage of a table and views by users in a given schema, this is helpful to infer what database objects are most actively used or drive most value.

该工具无需必填参数,直接调用即可

read_SQL_list 2 个参数

Get a list of SQL run by a user in the last number of days if a user name is provided, otherwise get list of all SQL in the last number of days.

该工具无需必填参数,直接调用即可

read_table_space 2 个参数

Get table space used for a table if table name is provided or get table space for all tables in a database if a database name is provided.

该工具无需必填参数,直接调用即可

read_database_space 1 个参数

Get database space if database name is provided, otherwise get all databases space allocations.

该工具无需必填参数,直接调用即可

read_database_version

Get Teradata database version information.

该工具无需必填参数,直接调用即可

read_resusage_summary

Get the Teradata system usage summary metrics by weekday and hour for each workload type and query complexity bucket.

该工具无需必填参数,直接调用即可

read_missing_columns 1 个参数

Get the column names that having missing values in a table.

该工具无需必填参数,直接调用即可

read_negative_columns 1 个参数

Get the column names that having negative values in a table.

该工具无需必填参数,直接调用即可

read_destinct_categories 2 个参数

Get the destinct categories from column in a table.

该工具无需必填参数,直接调用即可

read_standard_deviation 2 个参数

Get the standard deviation from column in a table.

该工具无需必填参数,直接调用即可

服务介绍

Teradata MCP 服务器模板

概述

Teradata MCP 服务器是一个开源项目,我们欢迎通过拉取请求(pull requests)进行贡献。

我们提供了三组工具及相关提示:

  1. td_base_tools:

    • execute_read_query - 执行读取查询

    • execute_write_query - 执行写入查询

    • read_table_DDL - 返回表的DDL信息

    • read_database_list - 返回所有数据库的列表

    • read_table_list - 返回指定数据库中的表列表

    • read_column_description - 返回表中列的描述

    • read_table_preview - 返回表的前5行数据及列信息

    • read_table_affinity - 获取经常一起使用的表

    • read_table_usage - 测量给定模式下用户对表和视图的使用情况

    • prompt_general - 针对数据库创建SQL查询

    • prompt_table_business_description - 生成表的业务描述

    • prompt_database_business_description - 基于表生成数据库的业务描述

  2. td_dba_tools:

    • read_user_sql_list - 返回用户的最近执行的SQL列表

    • read_table_sql_list - 返回针对某表最近执行的SQL列表

    • read_table_space - 返回CurrentPerm表空间

    • read_database_space - 返回数据库分配的空间、已用空间以及使用百分比

    • read_database_version - 返回数据库版本信息

    • read_resuage_summary - 按工作日和小时获取每种工作负载类型和查询复杂度桶的Teradata系统使用情况摘要指标。

    • read_flow_control - 按天和小时获取Teradata系统的流控制指标

    • read_feature_usage - 获取用户功能使用指标

    • read_user_delay - 获取Teradata用户延迟指标

    • prompt_table_archive - 为数据库表创建归档策略

    • prompt_database_lineage - 创建数据库中表的有向血缘关系图

  3. td_data_quality_tools:

    • missing_values - 返回缺失值的列名列表
    • negative_values - 返回负值的列名列表
    • distinct_categories - 返回列内的类别列表
    • standard_deviation - 返回列的均值和标准差

您可以在custom_tools.yaml文件或任何以_tools.yaml结尾的文件中定义自定义“查询”工具。只需指定工具名称、描述和要执行的SQL查询即可。目前不支持参数。

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


环境设置

步骤1 - 假设您的本地机器上已经安装了uv包。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
.venv/Scripts/activate

在Mac/Linux上

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体验版这里

    • 更新用户名
    • 更新密码
    • 更新Teradata主机
    • 更新数据库名
  • /test/pydanticaiBedrock.py代码运行需要LLM凭证可用

  • 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 Inspector

  • 您应该打开检查工具,访问 http://127.0.0.1:6274
  • 点击工具
  • 点击列出工具
  • 点击读取数据库列表
  • 点击运行

测试其他工具,每个工具都应有成功的输出

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

运行服务器

您可以简单地通过以下命令运行服务器:
uv run teradata-mcp-server

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

选项1 - pydanticai聊天机器人

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

SSE=False

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

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

     步骤3 - 运行./test/ClientChatBot.py脚本,这将创建一个与具有MCP服务器访问权限的代理进行交互的会话。从终端。

uv run ./test/ClientChatBot.py

  • 要求代理列出数据库
  • 要求代理列出数据库中的表
  • 要求代理显示数据库中的所有对象
  • 向代理询问需要对表执行SQL的问题
  • 输入"quit"退出。

选项2 - ADK聊天机器人

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

SSE=False

     步骤2 - 进入teradata_mcp_server/test目录。从终端。

cd test
adk web

     步骤3 - 打开ADK Web Server

     步骤4 - 与td_agent聊天

选项3 - mcp_chatbot

     步骤0 - 修改test目录下的server_config.json,确保路径正确。

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

SSE=False

     步骤2 - 进入teradata_mcp_server目录,并从终端运行mcp_chatbot

uv run test/mcp_chatbot.py

     步骤3 - 通过键入/prompts列出提示

查询: /prompts

     步骤4 - 运行描述数据库的提示

查询: /prompt database_business_description database_name=demo_user

将使用stdio的工具添加到Visual Studio Code Co-pilot

  • 确认.env文件中的SSE标志已设置为False

SSE=False

  • 在VS Code中,“显示并运行命令”
  • 选择“MCP: 添加服务器”
  • 选择“命令Stdio”
  • 在要运行的命令处输入“uv”
  • 为ID输入服务器名称
  • 应该会打开settings.json文件
  • 修改目录路径并确保它指向您安装服务器的位置
  • 添加参数,使其看起来像这样:

注意:您需要根据您的系统修改args中的目录路径,这需要是一个完整路径。您可能还需要提供uv命令的完整路径。

"mcp": {
    "servers": {
        "TeradataStdio": {
            "type": "stdio",
            "command": "uv",
            "args": [
                "--directory",
                "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server",
                "run",
                "teradata-mcp-server"
            ]
        }
    }
}- 您可以通过 settings.json 文件启动服务器,或者使用 "MCP: Start Server"

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

  • 确认 .env 文件中的 SSE 标志已设置为 False

SSE=True
SSE_HOST=127.0.0.1
SSE_PORT=8001

  • 您需要从终端启动服务器

uv run teradata-mcp-server

  • 在 VS Code 中,“显示并运行命令”

  • 选择 "MCP: Add Server"

  • 选择 "HTTP Server Sent Events"

  • 输入服务器的位置 URL,例如 http://127.0.0.1:8001/sse

  • 输入服务器的名称作为 ID

  • 选择用户空间

  • 应该会打开 settings.json 文件

  • 添加参数,使其看起来像这样:

    "mcp": {
    "servers": {
    "TeradataSSE": {
    "type": "sse",
    "url": "http://127.0.0.1:8001/sse"
    }
    }
    }

  • 在 settings.json 文件中或通过 "MCP: Start Server" 启动服务器

将 MCP 服务器添加到 Claude Desktop

您可以通过在 claude_desktop_config.json 配置文件中添加此条目来将此服务器添加到 Claude 桌面:

注意:您需要根据您的系统修改 args 中的目录路径,这需要是一个完整的路径。您可能还需要在命令中提供 uv 的完整路径。

注意:这要求 uv 可以在您的系统路径中被 Claude 访问,或者全局安装在您的系统上(例如,Mac OS 用户可以使用 brew 安装 uv)。

{
"mcpServers": {
"teradata": {
"command": "uv",
"args": [
"--directory",
"/path_to_code/teradata-mcp-server",
"run",
"teradata-mcp-server"
],
"env": {
"DATABASE_URI": "teradata://demo_user:teradata-demo@test-vikzqtnd0db0nglk.env.clearscape.teradata.com:1025/demo_user"
}
}
}
}

使用 mcpo 作为 REST 端点暴露工具

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

例如,使用 uv:
uvx mcpo --port 8001 --api-key "top-secret" -- uv run teradata-mcp-server

现在您的 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

访问 UI 地址为 http://localhost:8080。
要添加 MCP 工具,请导航至 设置 > 工具 > 添加连接,并输入您的 mcpo 服务器连接详细信息(例如 localhost:8001,如果在 mcpo 部分执行了命令行,则密码为 top-secret)。

您应该能够在右侧的 Chat Control Valves 部分看到这些工具,并让您的模型使用它们。


认证

相关 MCP 服务