Agent MCP server tools

View as Markdown

Tools

get_data_products

Discover all available data products. Returns a lightweight list with name, cluster, and description for each product.

Parameters: None.

Example response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[\n  [\n    \"\\\"materialize\\\".\\\"mcp_schema\\\".\\\"payment_status\\\"\",\n    \"mcp_cluster\",\n    \"Given an order ID, return the current payment status.\"\n  ]\n]"
      }
    ],
    "isError": false
  }
}

get_data_product_details

Get the full details for a specific data product, including its JSON schema with column names, types, and descriptions.

Parameter Type Required Description
name string Yes Exact name from the get_data_products list.

Example response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[\n  [\n    \"\\\"materialize\\\".\\\"mcp_schema\\\".\\\"payment_status\\\"\",\n    \"mcp_cluster\",\n    \"Given an order ID, return the current payment status.\",\n    \"{\\\"order_id\\\": {\\\"type\\\": \\\"integer\\\", \\\"position\\\": 1}, \\\"status\\\": {\\\"type\\\": \\\"text\\\", \\\"position\\\": 3}}\"\n  ]\n]"
      }
    ],
    "isError": false
  }
}

read_data_product

Read rows from a data product.

Parameter Type Required Description
name string Yes Fully-qualified name, e.g. "materialize"."public"."payment_status".
limit integer No Maximum rows to return. Default: 500, max: 1000.
cluster string No Cluster override. If omitted, uses the cluster from the catalog.

Example response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[\n  [\n    1001,\n    42,\n    \"shipped\",\n    \"2026-03-26T10:30:00Z\"\n  ]\n]"
      }
    ],
    "isError": false
  }
}

query

The query tool is disabled by default because it lets the agent run arbitrary SQL against data products. To enable it, set the enable_mcp_agent_query_tool configuration system parameter to true.

WARNING! Enabling the query tool can have performance impact, information leakage via query execution errors, catalog-level discovery of operational metadata.

Execute a SQL SELECT statement against your data products. Useful for joining multiple data products together that are hosted on the same cluster.

Parameter Type Required Description
cluster string Yes Exact cluster name from the data product details.
sql_query string Yes PostgreSQL-compatible SELECT statement.

Example response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[\n  [\n    \"42\",\n    \"shipped\"\n  ]\n]"
      }
    ],
    "isError": false
  }
}
Back to top ↑