MCP Tool Schemas
JSON input schemas for all seven MCP tools registered with the Metatate MCP server. SQL/backend APIs use underscore names, while the Snowflake MCP server exposes hyphenated names.
discover_context
Discover governed tables. All parameters are optional.
{
"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 customer-defined compliance or control tag"
},
"has_pii": { "type": "boolean", "description": "Filter to tables that contain PII columns" },
"domain": { "type": "string", "description": "Filter by business domain" }
}
}
get_decision_context
Retrieve governance context for a table, including policy summary, business context, lineage, retention, and rule summaries.
{
"type": "object",
"properties": {
"table_name": { "type": "string", "description": "Fully qualified table name (DATABASE.SCHEMA.TABLE)" }
},
"required": ["table_name"]
}
inspect_data_meaning
Inspect column-level classifications, sensitivity, masking, and PII indicators.
{
"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"]
}
inspect_governance_rules
Inspect deployed usage, validation, and transfer rules with provenance for a governed table.
{
"type": "object",
"properties": {
"table_name": { "type": "string", "description": "Fully qualified table name (DATABASE.SCHEMA.TABLE)" },
"columns": {
"type": "array",
"items": { "type": "string" },
"description": "Optional columns used to scope column-governance facts"
}
},
"required": ["table_name"]
}
authorize_use
Check whether a proposed operation is authorized. Natural-language requests should be normalized through /v1/mcp/authorize/assist before direct SQL execution.
{
"type": "object",
"properties": {
"table_name": { "type": "string", "description": "Fully qualified table name (DATABASE.SCHEMA.TABLE)" },
"operation": { "type": "string", "description": "Canonical operation such as read, write, train, infer, export, share, or copy" },
"intended_use": { "type": "string", "description": "Canonical intended-use label such as analytics, reporting, marketing, ml_training, inference, external_sharing, or data_export" },
"actor_role": { "type": "string", "description": "Role performing the operation" },
"columns": { "type": "array", "items": { "type": "string" }, "description": "Specific columns involved in the operation" },
"destination": {
"type": "object",
"description": "Destination metadata for export, share, copy, or other transfer workflows",
"properties": {
"system": { "type": "string", "description": "Target system name" },
"jurisdiction": { "type": "string", "description": "Destination jurisdiction" }
}
},
"consumer_jurisdiction": { "type": "string", "description": "Consumer jurisdiction for transfer governance" },
"context": { "type": "object", "description": "Additional audit metadata logged with the decision" },
"raw_request_text": { "type": "string", "description": "Original natural-language request for audit" },
"normalized_request": { "type": "object", "description": "Structured normalized request for audit" },
"normalization_meta": { "type": "object", "description": "Normalization provider, model, and confidence metadata" }
},
"required": ["table_name", "operation", "intended_use"]
}
Responses include decision, decision_id, rationale fields, conditions, matched instructions, and agent_action.
validate_query_context
Validate SQL before execution. When operation is omitted, Metatate infers the operation where possible and reports extraction diagnostics.
{
"type": "object",
"properties": {
"sql": { "type": "string", "description": "The SQL query to validate" },
"operation": { "type": "string", "description": "Optional canonical operation for embedded authorization" },
"intended_use": { "type": "string", "description": "Canonical intended-use label for embedded authorization" },
"actor_role": { "type": "string", "description": "Role that will execute the query" },
"destination": { "type": "object", "description": "Destination metadata for embedded transfer authorization" },
"consumer_jurisdiction": { "type": "string", "description": "Consumer jurisdiction for embedded transfer authorization" }
},
"required": ["sql"]
}
Responses include validation_id, SQL findings, extracted columns, parser diagnostics, embedded authorization decisions, and agent_action.
explain_why
Retrieve a trace for a logged authorization decision or query validation.
{
"type": "object",
"properties": {
"decision_id": { "type": "string", "description": "The ID returned by authorize_use" },
"validation_id": { "type": "string", "description": "The ID returned by validate_query_context" }
}
}
Provide either decision_id or validation_id.