Skip to main content

MCP Tool Schemas

JSON input schemas for all six MCP tools registered with the Metatate MCP server. Each tool is exposed as either a UDF or stored procedure in the core schema and made available to AI agents via the Snowflake MCP protocol.

discover_context

Discover tables in the governed catalog. All parameters are optional; omit everything to browse the full catalog.

{
"type": "object",
"properties": {
"database": {
"type": "string",
"description": "Filter by database name"
},
"schema": {
"type": "string",
"description": "Filter by schema name"
},
"min_sensitivity": {
"type": "string",
"enum": ["PUBLIC", "INTERNAL", "CONFIDENTIAL", "RESTRICTED"],
"description": "Minimum sensitivity level to include"
},
"compliance_any": {
"type": "array",
"items": { "type": "string" },
"description": "Include tables matching any of these compliance frameworks (e.g. GDPR, HIPAA, SOX)"
},
"has_pii": {
"type": "boolean",
"description": "Filter to tables that contain PII columns"
},
"domain": {
"type": "string",
"description": "Filter by business domain"
}
},
"required": []
}

get_decision_context

Retrieve the full governance context for a specific table, including policies, classifications, sensitivity, and compliance metadata.

{
"type": "object",
"properties": {
"table_name": {
"type": "string",
"description": "Fully qualified table name (DATABASE.SCHEMA.TABLE)"
}
},
"required": ["table_name"]
}

inspect_data_meaning

Inspect column-level metadata including data types, classifications, masking policies, and PII flags.

{
"type": "object",
"properties": {
"table_name": {
"type": "string",
"description": "Fully qualified table name (DATABASE.SCHEMA.TABLE)"
},
"columns": {
"type": "array",
"items": { "type": "string" },
"description": "Specific column names to inspect. Omit to inspect all columns."
}
},
"required": ["table_name"]
}

authorize_use

Check whether a proposed data operation is authorized under current governance policies. Returns an allow/deny decision with reasoning.

{
"type": "object",
"properties": {
"table_name": {
"type": "string",
"description": "Fully qualified table name (DATABASE.SCHEMA.TABLE)"
},
"operation": {
"type": "string",
"enum": ["SELECT", "INSERT", "UPDATE", "DELETE", "EXPORT", "SHARE"],
"description": "The data operation being requested"
},
"intended_use": {
"type": "string",
"description": "Plain-language description of why the data is needed"
},
"actor_role": {
"type": "string",
"description": "Snowflake role performing the operation"
},
"columns": {
"type": "array",
"items": { "type": "string" },
"description": "Specific columns involved in the operation"
},
"destination": {
"type": "string",
"description": "Where the data will be sent or stored"
},
"jurisdiction": {
"type": "string",
"description": "Legal jurisdiction for the operation (e.g. EU, US-CA)"
},
"context": {
"type": "object",
"description": "Additional context as key-value pairs"
}
},
"required": ["table_name", "operation", "intended_use"]
}

validate_query_context

Validate a SQL query against all applicable governance policies before execution. Returns issues, warnings, and suggested rewrites.

{
"type": "object",
"properties": {
"sql": {
"type": "string",
"description": "The SQL query to validate"
},
"operation": {
"type": "string",
"enum": ["SELECT", "INSERT", "UPDATE", "DELETE", "EXPORT", "SHARE"],
"description": "The operation type (inferred from SQL if omitted)"
},
"intended_use": {
"type": "string",
"description": "Plain-language description of the query's purpose"
},
"actor_role": {
"type": "string",
"description": "Snowflake role that will execute the query"
}
},
"required": ["sql"]
}

explain_why

Retrieve a detailed explanation of a previous authorization or validation decision, including the policies evaluated and reasoning chain.

{
"type": "object",
"properties": {
"decision_id": {
"type": "string",
"description": "The unique decision ID returned by authorize_use or validate_query_context"
}
},
"required": ["decision_id"]
}