Teradata MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Host address for MCP server (e.g., 0.0.0.0) | |
| MCP_PATH | No | Path for MCP server when using streamable-http transport (e.g., /mcp/) | |
| MCP_PORT | No | Port number for MCP server (e.g., 8000) | |
| LOG_LEVEL | No | Logging level (e.g., DEBUG, INFO, WARNING, ERROR) | |
| DATABASE_URI | Yes | Database connection URI in format: teradatasql://username:password@hostname/database | |
| KEYCLOAK_URL | No | Keycloak server URL (e.g., https://keycloak.example.com) | |
| MCP_TRANSPORT | No | MCP transport method (sse, streamable-http, or stdio) | |
| OAUTH_ENABLED | No | Enable OAuth authentication (true/false) | |
| KEYCLOAK_REALM | No | Keycloak realm name (e.g., teradata-realm) | |
| KEYCLOAK_CLIENT_ID | No | Keycloak client ID (e.g., teradata-mcp) | |
| OAUTH_REQUIRE_HTTPS | No | Require HTTPS for OAuth endpoints (true/false) | |
| OAUTH_REQUIRED_SCOPES | No | Optional: Required scopes (comma-separated, e.g., teradata:read,teradata:query) | |
| OAUTH_VALIDATE_SCOPES | No | Whether to validate token scopes (true/false) | |
| KEYCLOAK_CLIENT_SECRET | No | Keycloak client secret | |
| OAUTH_VALIDATE_AUDIENCE | No | Whether to validate token audience (true/false) | |
| TOOL_RETRY_MAX_ATTEMPTS | No | Number of retry attempts for database connections (default: 1) | 1 |
| TOOL_RETRY_DELAY_SECONDS | No | Delay between retry attempts in seconds (default: 1.0) | 1.0 |
| OAUTH_RESOURCE_SERVER_URL | No | Resource server identification URL (e.g., https://your-mcp-server.com) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| queryC | Executes a SQL query against the Teradata database |
| list_dbB | List all databases in the Teradata system |
| list_tablesC | List tables in a database |
| show_tables_detailsC | Show detailed information about a database tables |
| list_missing_valuesC | What are the top features with missing values in a table |
| list_negative_valuesC | How many features have negative values in a table |
| list_distinct_valuesC | How many distinct categories are there for column in the table |
| standard_deviationC | What is the mean and standard deviation for column in table? |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| Analyze_database | A prompt demonstrate how to analyze objects in Teradata database |
| Analyze_table | A prompt demonstrate how to analyze objects in Teradata database |
| glm | A prompt demonstrate how to train model with GLM in Teradata database |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Error | Database connection error: Failed to connect to database after 3 attempts: Connection health check failed |
TDQS
Scored across 8 tools
The tools have some overlap in purpose, particularly between list_tables and show_tables_details, which both deal with table information, and between the various 'list_' statistical tools (distinct_values, missing_values, negative_values, standard_deviation) that all analyze table columns. However, the descriptions help clarify their specific focuses, such as distinct categories vs. missing values vs. negative values, preventing complete confusion.
The naming is mostly consistent with a verb_noun pattern, using 'list_' for most tools (list_db, list_distinct_values, etc.) and other clear verbs like 'query' and 'show_tables_details'. The only minor deviation is 'standard_deviation', which uses a noun phrase instead of a verb, but it still fits the overall readable style without mixing conventions like camelCase.
With 8 tools, the count is well-scoped for a database analysis server. Each tool earns its place by covering distinct aspects like database listing, table listing, SQL querying, and statistical analysis, without being too thin or overloaded for the apparent purpose of interacting with Teradata systems.
The tool surface has notable gaps for a database server. While it covers listing databases and tables, querying, and some statistical analysis, it lacks core CRUD operations like create, update, or delete for databases or tables. This could cause agent failures when trying to modify data, but the existing tools support basic querying and inspection workflows.