Tools¶
The Actian MCP Server for Actian Ingres provides built-in tools that allow you to discover databases and execute read-only queries.
Available Tools¶
Use the following tools to interact with the database:
| Tool | Description |
|---|---|
execute_query | Runs a read-only SQL query against the connected database. |
list_tables | Lists all available user tables and views. |
describe_table | Displays column definitions and comments for a given table. |
list_functions | Lists available user-defined functions and procedures. |
execute_query¶
Use this tool to run a read-only SQL query against Actian Ingres. The server returns the result set as structured JSON.
Result truncation:
If the number of rows exceeds the max_rows configuration, the response includes the truncated and warning fields.
Parameters¶
| Field | Type | Required | Description |
|---|---|---|---|
query | string | ✓ | The read-only SQL query you want to execute. |
Output Schema¶
On Success
{
"success": true,
"columns": ["<result_columns>"],
"rows": [["<result_rows>"]],
"row_count": "<num_rows>",
"truncated": true,
"warning": "Results were truncated to <max_rows> rows."
}
On Error
{
"success": false,
"error": "<error_message>"
}
Example¶
User Request
Show me all the rows in the customers table
Input
{
"query": "SELECT * FROM customers"
}
Response
{
"success": true,
"columns": ["customer_id", "customer_name"],
"rows": [
[101, "Acme Retail"],
[102, "Northwind Stores"]
],
"row_count": 2
}
list_tables¶
Returns all user tables and views available in the connected database as structured JSON.
Parameters¶
This tool does not require input parameters.
Output Schema¶
On Success
{
"success": true,
"columns": ["table_name"],
"rows": [["<table_name>"]],
"row_count": 1
}
On Error
{
"success": false,
"error": "<error_message>"
}
Example¶
User Request
Show me all the tables in my database
Response
{
"success": true,
"columns": ["table_name"],
"rows": [
["customers"],
["orders"]
],
"row_count": 2
}
describe_table¶
Returns schema details for a table, including column names, data types, lengths, scales, and column comments.
Parameters¶
| Field | Type | Required | Description |
|---|---|---|---|
table_name | string | ✓ | Name of the table to describe. |
Output Schema¶
On Success
{
"success": true,
"columns": [
"column_name",
"column_datatype",
"column_length",
"column_scale",
"column_comment"
],
"rows": [["<column_name>", "<column_datatype>", "<column_length>", "<column_scale>", "<column_comment>"]],
"row_count": "<num_rows>"
}
On Error
{
"success": false,
"error": "<error_message>"
}
Example¶
User Request
Show me schema information about the customers table
Input
{
"table_name": "customers"
}
Success Response
{
"success": true,
"columns": [
"column_name",
"column_datatype",
"column_length",
"column_scale",
"column_comment"
],
"rows": [
["customer_id", "integer", "4", "0", "Primary key"],
["customer_name", "varchar", "100", "0", "Customer display name"]
],
"row_count": 2
}
Error Response
{
"success": false,
"error": "No permission to access table 'ii_tables'"
}
list_functions¶
Returns user-defined functions and procedures, including their stored definitions, as structured JSON.
Parameters¶
This tool does not require input parameters.
Output Schema¶
On Success
{
"success": true,
"columns": ["function_name", "function_ddl"],
"rows": [["<function_name>", "<function_ddl>"]],
"row_count": 1
}
On Error
{
"success": false,
"error": "<error_message>"
}
Example¶
User Request
Show me all the functions in my database
Response
{
"success": true,
"columns": ["function_name", "function_ddl"],
"rows": [
["calculate_discount", "CREATE FUNCTION calculate_discount(...) ..."],
["refresh_sales_summary", "CREATE PROCEDURE refresh_sales_summary() ..."]
],
"row_count": 2
}