Exasol MCP Server Tools¶
Tools Providing Information About Custom Database Objects¶
list_exasol_schemas¶
- Description:
Lists database schemas. Visibility of schemas can be restricted in the settings.
- Returns:
Type:
list- Data:
name: name of the schemacomment: schema comment, if available
find_exasol_schemas¶
- Description:
Finds database schemas by looking for the specified keywords in their names and comments. Visibility of schemas can be restricted in the settings.
- Returns:
Type:
list- Data:
name: name of the schemacomment: schema comment, if available
list_exasol_tables_and_views¶
- Description:
Lists tables and views in the specified database schema. Visibility of tables and views can be restricted in the settings.
- Returns:
Type:
list- Data:
schema: name of the schema where the table or view is locatedname: name of the table or viewcomment: table or view comment, if available
find_exasol_tables_and_views¶
- Description:
Finds tables and views by looking for the specified keywords in their names and comments. Optionally, limits the search to one specified schema. Visibility of tables and views can be restricted in the settings.
- Returns:
Type:
list- Data:
schema: name of the schema where the table or view is locatedname: name of the table or viewcomment: table or view comment, if available
list_exasol_custom_functions¶
- Description:
Lists custom functions in the specified database schema. Visibility of functions can be restricted in the settings.
- Returns:
Type:
list- Data:
schema: name of the schema where the function is locatedname: name of the functioncomment: function comment, if available
find_exasol_custom_functions¶
- Description:
Finds custom functions by looking for the specified keywords in their names and comments. Optionally, limits the search to one specified schema. Visibility of functions can be restricted in the settings.
- Returns:
Type:
list- Data:
schema: name of the schema where the function is locatedname: name of the functioncomment: function comment, if available
list_exasol_user_defined_functions¶
- Description:
Lists User Defined Functions (UDF) in the specified database schema. Visibility of UDFs can be restricted in the settings.
- Returns:
Type:
list- Data:
schema: name of the schema where the UDF is locatedname: name of the UDFcomment: UDF comment, if available
find_exasol_user_defined_functions¶
- Description:
Finds User Defined Functions (UDF) by looking for the specified keywords in their names and comments. Optionally, limits the search to one specified schema. Visibility of UDFs can be restricted in the settings.
- Returns:
Type:
list- Data:
schema: name of the schema where the UDF is locatedname: name of the UDFcomment: UDF comment, if available
list_exasol_preprocessors¶
- Description:
Lists available SQL preprocessor scripts and reports which one is currently active in the session. Can be disabled in the settings (see Tool Setup).
- Returns:
Type:
dict- Data:
preprocessors: list of preprocessor scripts, each with:schema: name of the schema where the preprocessor is locatedname: name of the preprocessor scriptcomment: script comment, if available
current_preprocessor: fully-qualified name of the active preprocessor (e.g.MY_SCHEMA.MY_PREPROCESSOR), ornullif none is set
set_exasol_preprocessor¶
- Description:
Activates a SQL preprocessor script at the session level. This setting is not persistent: the MCP server manages the database connection independently and may reconnect without notice, silently resetting the active preprocessor. Before running queries that depend on a preprocessor, the agent should verify the active setting with
list_exasol_preprocessorsand re-apply if necessary. Can be disabled in the settings (see Tool Setup).- Arguments:
schema_name: name of the schema containing the preprocessor scriptscript_name: name of the preprocessor script
- Returns:
Type:
stringData: fully-qualified name of the newly-activated preprocessor
describe_exasol_table_or_view¶
- Description:
Provides full available information about the specified table or view.
- Returns:
Type:
dict- Data:
schema: name of the schema where the table or view is locatedname: name of the table or viewcomment: table or view comment, if availablecolumns: list of table or view columnsname: column namecomment: column comment, if availabletype: SQL type, e.g. “VARCHAR(2000)”
constraints: for tables only, list of table constraints if there are any:name: constraint nameconstraint_type: constraint type - either “PRIMARY KEY” or “FOREIGN_KEY”columns: comma separated list of columns the constraint is applied toreferenced_schema: schema referenced in the FOREIGN KEY constraintreferenced_table: table referenced in the FOREIGN KEY constraintreferenced_columns: comma separated list of columns in the referenced table in the FOREIGN KEY constraint
summarize_exasol_table¶
- Description:
Summarizes the content of a table or view. Returns the total row count and a configurable number of sample rows (default: 10). For each column returns:
most common distinct values in descending frequency order
number of distinct non-NULL values
presence of NULL values and their percentage
minimum and maximum values (numeric columns only)
Must be explicitly enabled in the settings (see Tool Setup).
- Parameters:
schema_name: name of the schematable_name: name of the table or viewsample_size(optional, default 10): number of sample rows to include, between 1 and 100top_values(optional, default 5): number of most common distinct values to return per column, between 1 and 100
- Returns:
Type:
dict- Data:
schema: name of the schema where the table or view is locatedname: name of the table or viewcomment: table or view comment, if availablerow_count: total number of rows in the table or viewcolumns: list of column statistics, each column contains:name: column namecomment: column comment, if availabletype: SQL type, e.g. “DECIMAL(18,0)”distinct_count: number of distinct non-NULL valuesmin: minimum value for numeric columns,nullotherwisemax: maximum value for numeric columns,nullotherwisetop_values: most common distinct values in descending frequency order; empty list if all values are NULLhas_nulls:trueif the column contains at least one NULL valuenull_percentage: percentage of NULL values rounded to whole percent
sample: list of sample rows, each row is a dict with column names as keys
describe_exasol_custom_function¶
- Description:
Provides full available information about the specified custom function.
- Returns:
Type:
dict- Data:
input: list of input parametersname: parameter nametype: SQL type, e.g. “VARCHAR(2000)”
returns: returned SQL type
describe_exasol_user_defined_function¶
- Description:
Provides full available information about the specified User Defined Function (UDF).
- Returns:
Type:
dict- Data:
input: list of input parametersname: parameter nametype: SQL type, e.g. “VARCHAR(2000)”
dynamic_input: indication that the UDF accepts dynamic inputreturns: for return type UDF, returned SQL typeemits: for emit type UDF, the list of output columns:name: parameter nametype: SQL type
dynamic_output: for emit type UDF, indication that the UDF emits dynamic output
Tools Executing a Query¶
execute_exasol_query¶
- Description:
Executes the specified query, which must be a SELECT statement. The query should not modify the data. SELECT INTO command is not allowed. An optional
row_limitparameter can be used to preview a sample of results without fetching all rows. The query is then wrapped inSELECT * FROM (<query>) LIMIT <row_limit>.- Returns:
Type:
list- Data:
selected rows in a form of dictionaries, with column names as keys
profile_exasol_query¶
- Description:
Runs the specified SELECT query with profiling enabled and returns a breakdown of the execution plan. Use this to understand why a query is slow.
- Returns:
Type:
list- Data:
PART_NAME: name of the execution stepPART_INFO: additional information about the stepOBJECT_SCHEMA: schema of the database object involvedOBJECT_NAME: name of the database object involvedOBJECT_ROWS: number of rows processedDURATION: duration of the step in millisecondsCPU: CPU time in milliseconds
execute_exasol_write_query¶
- Description:
Executes the specified DML or DDL query. Normally, this tool can be used only if the MCP Client supports elicitation. The user must review and approve the query execution. The elicitation also allows altering the query.
- Returns:
Type:
str or None- Data:
None if the query was executed it its original form, otherwise modified query
Tools for Reading, Writing and Deleting Files in BucketFS¶
list_bucketfs_directories¶
- Description:
Lists subdirectories of the specified BucketFS directory.
- Returns:
Type:
list- Data:
subdirectory paths relative to the bucket root or the root path provided in the settings
list_bucketfs_files¶
- Description:
Lists files in the specified BucketFS directory.
- Returns:
Type:
list- Data:
file paths relative to the bucket root or the root path provided in the settings
find_bucketfs_files¶
- Description:
Finds files in the specified BucketFS directory by looking for the provided keywords in their paths. Files are searched in the given directory and all its descendant subdirectories.
- Returns:
Type:
list- Data:
file paths relative to the bucket root or the root path provided in the settings
read_bucketfs_text_file¶
- Description:
Reads the content of a BucketFS text file.
- Returns:
Type:
str- Data:
file content
write_text_to_bucketfs_file¶
- Description:
Writes the provided text to a file in BucketFS. The new file will overwrite an existing file. Normally, this tool can be used only if the MCP Client supports elicitation. The user must confirm the operation via elicitation.
- Returns:
Type:
None
download_file¶
- Description:
Downloads a file from a given url and saves it at the specified path in BucketFS. The new file will overwrite an existing file. Normally, this tool can be used only if the MCP Client supports elicitation. The user must confirm the operation via elicitation.
- Returns:
Type:
None
delete_bucketfs_file¶
- Description:
Deletes BucketFS file at the specified path. Normally, this tool can be used only if the MCP Client supports elicitation. The user must confirm the operation via elicitation.
- Returns:
Type:
None
delete_bucketfs_directory¶
- Description:
Deletes a BucketFS directory at the specified path. This operation will recursively delete all files and all subdirectories in this directory. Normally, this tool can be used only if the MCP Client supports elicitation. The user must confirm the operation via elicitation.
- Returns:
Type:
None
Tools Providing Information About Exasol SQL Dialect¶
list_exasol_sql_types¶
- Description:
Lists Exasol SQL types and their parameters.
- Returns:
Type:
list- Data:
type: SQL type, e.g. “DECIMAL(10,5)”create_params: type parameters to be specified when creating a table columnprecision: default precision where applicable
list_exasol_system_tables¶
- Description:
Lists Exasol system tables in the SYS schema.
- Returns:
Type:
list- Data:
table name
describe_exasol_system_table¶
- Description:
Provides full available information about the specified system table.
- Returns:
Type:
dict- Data:
schema: name of the schema - SYSname: name of the system tablecomment: table comment
list_exasol_statistics_tables¶
- Description:
Lists Exasol statistics tables in the EXA_STATISTICS schema.
- Returns:
Type:
list- Data:
table name
describe_exasol_statistics_table¶
- Description:
Provides full available information about the specified statistics table.
- Returns:
Type:
dict- Data:
schema: name of the schema - EXA_STATISTICSname: name of the statistics tablecomment: table comment
list_exasol_keywords¶
- Description:
Lists Exasol keywords that start with a given letter. A tool argument specifies if the output should include keywords that are reserved words or not reserved words.
- Returns:
Type:
list- Data:
keyword
list_exasol_built_in_function_categories¶
- Description:
Lists built-in function categories.
- Returns:
Type:
list- Data:
function category
list_exasol_built_in_functions¶
- Description:
Lists built-in functions in the specified category.
- Returns:
Type:
list- Data:
function name
describe_exasol_built_in_function¶
- Description:
Provides full available information about the specified built-in function. Returns a list that in most cases includes one data structure. However, in few cases, when a function with the same name works with different types of data, the tool returns multiple structures.
- Returns:
Type:
list- Data:
name: function namealias: alternative function name, if availabletypes: comma-separated list of categories the function belongs todescription: description of data returned by the functionpurpose: more detailed description of the function, if availablesyntax: call syntax, if availableusage: guidelines, restrictions and limitations, if applicableexample: one or more call examples