Skip to main content
Glama

Teradata MCP Server

Official
by Teradata

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 行

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

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

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

    • prompt_table_business_description - 生成表的业务描述

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

  2. td_dba_工具:

    • 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_数据质量工具:

    • missing_values - 返回具有缺失值的列名列表

    • negative_values - 返回具有负值的列名列表

    • distinct_categories - 返回列中的类别列表

    • standard_deviation - 返回列的平均值和标准差

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

测试目录包含一个用于测试工具的简单 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 .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 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 在终端中停止服务器

运行服务器

您可以使用以下命令运行服务器: 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 服务器

步骤 4 - 与 td_agent 聊天

选项 3 - mcp_chatbot

步骤0-修改测试目录中的server_config.json,确保路径正确。

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

SSE=False

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

uv run test/mcp_chatbot.py

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

Query: /prompts

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

Query: /prompt database_business_description database_name=demo_user

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

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

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

  • 选择“MCP:添加服务器”

  • 选择“Command Stdio”

  • 在命令中输入“uv”运行

  • 输入服务器名称作为 ID

  • 设置.json文件应该打开

  • 修改目录路径并确保它指向安装服务器的位置

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

注意:您需要修改系统参数中的目录路径,该路径必须是完整路径。您可能还需要在命令中使用 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:启动服务器”

使用 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:添加服务器”

  • 选择“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:启动服务器”

将 MCP 服务器添加到 Claude Desktop

您可以将此服务器 Claude 桌面添加到您的claude_desktop_config.json配置文件中:

注意:您需要修改系统参数中的目录路径,该路径必须是完整路径。您可能还需要在命令中使用 uv 的完整路径。

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

{ "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

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

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


认证

Related MCP Servers

  • A
    security
    -
    license
    A
    quality
    An MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.
    Last updated -
    44
    MIT License
  • -
    security
    -
    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 -
    1
    MIT License
  • -
    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 -
    311
    4
  • A
    security
    -
    license
    A
    quality
    An 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
    • Linux
    • Apple

View all related MCP servers

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/Teradata/teradata-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server