Teradata MCP 服务器模板
概述
Teradata MCP 服务器是一个开源项目,我们欢迎通过拉取请求做出贡献。
我们提供三套工具和相关的帮助提示
- 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 - 根据表生成数据库的业务描述
- 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 - 创建数据库中表的定向沿袭图。
- 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 上
在 Mac/Linux 上
步骤 3 - 您需要更新 .env 文件
- 将 env 文件重命名为 .env
- 数据库 URI 将具有以下格式 teradata://username@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 文件
使用 MCP Inspector 测试您的服务器
步骤 1 - 启动服务器,在终端中输入以下内容
注意:如果您在 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
第 2 步 - 修改 ./test/ClientChatBot.py 脚本以指向您安装服务器的位置,您需要修改以下行
步骤 3 - 运行 ./test/ClientChatBot.py 脚本,这将与有权访问 MCP 服务器的代理创建一个交互式会话。从终端执行。
- 要求代理列出数据库
- 要��代理列出数据库中的表
- 要求代理显示数据库中的所有对象
- 向代理询问需要针对表运行 SQL 的问题
- 输入“quit”退出。
选项 2 - ADK 聊天机器人
步骤 1 - 确认 .env 文件中的 SSE 标志已设置为 False
第 2 步 - 从终端进入 teradata_mcp_server/test 目录。
步骤 3 - 打开ADK Web 服务器
步骤 4 - 与 td_agent 聊天
选项 3 - mcp_chatbot
步骤0-修改测试目录中的server_config.json,确保路径正确。
步骤 1 - 确认 .env 文件中的 SSE 标志已设置为 False
第 2 步 - 从终端进入 teradata_mcp_server 目录并运行 mcp_chatbot
步骤 3 - 通过输入 /prompts 列出提示
步骤 4 - 运行提示来描述数据库
使用 stdio 向 Visual Studio Code Co-pilot 添加工具
- 确认 .env 文件中的 SSE 标志已设置为 False
- 在 VS Code 中,“显示并运行命令”
- 选择“MCP:添加服务器”
- 选择“Command Stdio”
- 在命令中输入“uv”运行
- 输入服务器名称作为 ID
- 设置.json文件应该打开
- 修改目录路径并确保它指向安装服务器的位置
- 添加参数,使其看起来像:
注意:您需要修改系统参数中的目录路径,该路径必须是完整路径。您可能还需要在命令中使用 uv 的完整路径。
- 您可以从 settings.json 文件中启动服务器,也可以“MCP:启动服务器”
使用 SSE 向 Visual Studio Code Co-pilot 添加工具
- 确认 .env 文件中的 SSE 标志已设置为 False
- 您需要从终端启动服务器
- 在 VS Code 中,“显示并运行命令”
- 选择“MCP:添加服务器”
- 选择“HTTP 服务器发送事件”
- 输入服务器位置的 URL,例如http://127.0.0.1:8001/sse
- 输入服务器名称作为 ID
- 选择用户空间
- 设置.json文件应该打开
- 添加参数,使其看起来像:
- 在 settings.json 文件中,或者您可以“MCP:启动服务器”
将 MCP 服务器添加到 Claude Desktop
您可以将此服务器 Claude 桌面添加到您的claude_desktop_config.json
配置文件中:
注意:您需要修改系统参数中的目录路径,该路径必须是完整路径。您可能还需要在命令中使用 uv 的完整路径。
注意:这要求uv
在您的系统路径中可供 Claude 使用或在您的系统上全局安装(例如,对于 Mac OS 用户,uv 使用brew
安装)。
使用 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。
通过http://localhost:8080访问用户界面。要添加 MCP 工具,请前往“设置”>“工具”>“添加连接”,然后输入您的 mcpo 服务器连接信息(例如, localhost:8001
,如果您在 mcpo 部分执行了命令行,则密码为top-secret
)。
您应该能够在右侧的聊天控制阀部分看到工具并让您的模型使用它。
认证
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
通过 MCP 界面提供查询和分析 Teradata 数据库的工具的服务器,包括数据库管理、数据质量评估和 SQL 执行功能。
- 概述
- 环境设置
- 使用 MCP Inspector 测试您的服务器
- 运行服务器
- 使用 stdio 将服务器添加到代理
- 使用 stdio 向 Visual Studio Code Co-pilot 添加工具
- 使用 SSE 向 Visual Studio Code Co-pilot 添加工具
- 将 MCP 服务器添加到 Claude Desktop
- 使用 mcpo 将工具公开为 REST 端点
- 使用带有 Open WebUI 的服务器
- 认证
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.Last updated -1441JavaScriptMIT 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 -JavaScriptMIT License
- -security-license-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 -1JavaScript
- AsecurityAlicenseAqualityAn open-source MCP server that connects to various data sources (SQL databases, CSV, Parquet files), allowing AI models to execute SQL queries and generate data visualizations for analytics and business intelligence.Last updated -1044PythonMIT License