A collection of tools for managing the platform, addressing data quality and reading and writing to Teradata Database.
The Teradata MCP server is a open source project, we welcome contributions via pull requests.
We are providing three sets of tools and associated helpful prompts
td_base_tools:
execute_read_query - runs a read query
execute_write_query - runs a write query
read_table_DDL - returns the show table results
read_database_list - returns a list of all databases
read_table_list - returns a list of tables in a database
read_column_description - returns description of columns in a table
read_table_preview - returns column information and 5 rows from the table
read_table_affinity - gets tables commonly used together
read_table_usage - Measure the usage of a table and views by users in a given schema
prompt_general - Create a SQL query against the database
prompt_table_business_description - generates a business description of a table
prompt_database_business_description - generates a business description of a databases based on the tables
td_dba_tools:
read_user_sql_list - returns a list of recently executed SQL for a user
read_table_sql_list - returns a list of recently executed SQL for a table
read_table_space - returns CurrentPerm table space
read_database_space - returns Space allocated, space used and percentage used for a database
read_database_version - returns the database version information
read_resuage_summary - Get the Teradata system usage summary metrics by weekday and hour for each workload type and query complexity bucket.
read_flow_control - Get the Teradata system flow control metrics by day and hour
read_feature_usage - Get the user feature usage metrics
read_user_delay - Get the Teradata user delay metrics.
prompt_table_archive - Create a table archive strategy for database tables.
prompt_database_lineage - Creates a directed lineage map of tables in a database.
td_data_quality_tools:
You may add define custom "query" tools in the custom_tools.yaml
file or in any file ending with _tools.yaml
.
Simply specify the tool name, description and SQL query to be executed. No parameters are supported at this point.
The Test directory contains a simple ClientChatBot tool for testing tools.
Step 1 - The environment has been put together assuming you have the uv package installed on your local machine. Installation instructions for uv can be found at https://github.com/astral-sh/uv
Step 2 - Clone the mcp-server repository with
On Windows
mkdir MCP
cd MCP
git clone https://github.com/Teradata/teradata-mcp-server.git
cd teradata-mcp-server
uv sync
.venv/Scripts/activate
On 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
Step 3 - You need to update the .env file
Rename env file to .env
The database URI will have the following format teradata://username:password@host:1025/databasename, use a ClearScape Analytics Experience https://www.teradata.com/getting-started/demos/clearscape-analytics
LLM Credentials need to be available for /test/pydanticaiBedrock.py code to work
SSE setting
Example .env file
############################################
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=
Step 1 - Start the server, typer the following in your terminal
uv run mcp dev ./src/teradata_mcp_server/server.py
NOTE: If you are running this on a Windows machine and get npx, npm or node.js errors, install the required node.js software from here: https://github.com/nodists/nodist
Step 2 - Open the MCP Inspector
Test the other tools, each should have a successful outcome
Control+c to stop the server in the terminal
You can simply run the server with:
uv run teradata-mcp-server
step 1 - confirm the SSE flag in .env file has been set to False
SSE=False
Step 2 - Modify the ./test/ClientChatBot.py script to point to where you installed the server, you will need to modify the following line
td_mcp_server = MCPServerStdio('uv', ["--directory", "/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server", "run", "teradata-mcp-server"])
Step 3 - run the ./test/ClientChatBot.py script, this will create an interactive session with the agent who has access to the MCP server. From a terminal.
uv run ./test/ClientChatBot.py
step 1 - confirm the SSE flag in .env file has been set to False
SSE=False
Step 2 - move into teradata_mcp_server/test directory From a terminal.
cd test
adk web
Step 3 - open ADK Web Server
Step 4 - chat with the td_agent
step 0 - Modify server_config.json in the test directory, ensure path is correct.
step 1 - confirm the SSE flag in .env file has been set to False
SSE=False
Step 2 - move into teradata_mcp_server directory From a terminal and run the mcp_chatbot
uv run test/mcp_chatbot.py
Step 3 - list the prompts by typing /prompts
Query: /prompts
Step 4 - running a prompt to describe a database
Query: /prompt database_business_description database_name=demo_user
SSE=False
Note: you will need to modify the directory path in the args for your system, this needs to be a complete path. You may also need to have a complete path to uv in the command as well.
"mcp": {
"servers": {
"TeradataStdio": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"/Users/Daniel.Tehan/Code/MCP/teradata-mcp-server",
"run",
"teradata-mcp-server"
]
}
}
}
SSE=True
SSE_HOST=127.0.0.1
SSE_PORT=8001
uv run teradata-mcp-server
"mcp": {
"servers": {
"TeradataSSE": {
"type": "sse",
"url": "http://127.0.0.1:8001/sse"
}
}
}
You can add this server Claude desktop adding this entry to your claude_desktop_config.json
config file:
Note: you will need to modify the directory path in the args for your system, this needs to be a complete path. You may also need to have a complete path to uv in the command as well.
Note: this requires that uv
is available to Claude in your system path or installed globally on your system (eg. uv installed with brew
for Mac OS users).
{
"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"
}
}
}
}
You can use mcpo to expose this MCP tool as an OpenAPI-compatible HTTP server.
For example, using uv:
uvx mcpo --port 8001 --api-key "top-secret" -- uv run teradata-mcp-server
Your Teradata tools are now available as local REST endpoints, view documentation and test it at http://localhost:8001/docs
Open WebUI is user-friendly self-hosted AI platform designed to operate entirely offline, supporting various LLM runners like Ollama. It provides a convenient way to interact with LLMs and MCP servers from an intuitive GUI. It can be integrated with this MCP server using the mcpo component.
First run mcpo as specified in the section above.
python -m venv ./env
source ./env/bin/activate
pip install open-webui
open-webui serve
Access the UI at http://localhost:8080.
To add the MCP tools, navigate to Settings > Tools > Add Connection, and enter your mcpo server connection details (eg. localhost:8001
, password = top-secret
if you have executed the command line in the mcpo section).
You should be able to see the tools in the Chat Control Valves section on the right and get your models to use it.
Knowledge graph-based persistent memory system
Read-only database access with schema inspection
Database interaction and business intelligence capabilities
Official MCP Server from Atlan which enables you to bring the power of metadata to your AI tools
Query Onchain data, like ERC20 tokens, transaction history, smart contract state.
Read and write access to your Baserow tables.
Embeddings, vector search, document storage, and full-text search with the open-source AI application database
Query your ClickHouse database server.
Interact with the data stored in Couchbase clusters using natural language.
Stock market API made for AI agents