Metatate × Claude

When Claude reads your data’s instructions.

Metatate is a programmable decision layer for Claude. Whether you’re writing code, asking a question, or building an agent, Claude reads the policies your data already carries.

claude code · metatate-mcp
Live preview. Claude reviewing your backend.

Three ways Claude reads your decision layer

Same MCP toolkit. Different surface. Pick where Claude lives in your workflow.

Scenario

Write your backend, then ask Claude to lint it against the policies your data carries.

What you get

Treat Metatate like a governance linter, or let Claude consult it inline as you write. Either way, authorize_use, validate_query_context, and inspect_data_meaning read from the structured context already attached to your data.

.claude/mcp.json
# .claude/mcp.json
{
  "mcpServers": {
    "metatate": {
      "command": "npx",
      "args": ["-y", "@metatate/mcp-server"]
    }
  }
}
The MCP toolkit

Decision-grade answers, programmatically.

Claude calls these tools the way an engineer reads a spec. Except Claude does it on every query, every pipeline run, every agent step.

discover_context

Find governed tables, owners, and policies attached to a domain.

decide

Resolve allow / modify / deny for a given intent against active rules.

inspect_data_meaning

Read column-level meaning, sensitivity, and tags.

authorize_use

Authorize an intended use against current policies and roles.

validate_query_context

Check a query plan against deployed instructions before execution.

explain_why

Return the policy, version, and rule that produced any decision.

search_decisions

Query the audit trail of past decisions across agents and pipelines.

Add your own MCP tools.
Metatate’s schema is open.

How it fits together

Context that travels with data.

Versioned. Queryable. Auditable. The same decision layer powers Claude Code, Claude Desktop, your data pipelines, and any agent that speaks MCP.

Layer 1
Claude (any surface)
Claude CodeClaude DesktopAnthropic SDKCustom agent
Layer 2
Metatate MCP server
discover
decide
inspect
authorize
validate
explain
search
All tools agent-queryable. Every call audit-logged.
Layer 3a
Versioned decision layer

Instructions, policies, and column-level meaning as versioned operational metadata. Plan/apply workflow. Diffable. Reviewable.

Layer 3b
Your data, where it lives

Snowflake-native today. Cross-platform tomorrow. Your data stays where it lives, and Metatate gives Claude the instructions to read it.

Try it in 5 minutes

Drop in. Restart Claude. You’re in.

Add the MCP server to your config, restart Claude, and your decision layer is live in every session. Writing code, reviewing it, or asking questions.

~/.claude/mcp.json
{
  "mcpServers": {
    "metatate": {
      "command": "npx",
      "args": ["-y", "@metatate/mcp-server"],
      "env": {
        "METATATE_ENDPOINT": "https://your-account.snowflakecomputing.com",
        "METATATE_AUTH": "<your-token>"
      }
    }
  }
}
  1. 1Paste the snippet into mcp.json.
  2. 2Set METATATE_ENDPOINT and METATATE_AUTH from your Metatate console.
  3. 3Restart Claude Code. Ask: “What policies apply to the customers table?”

Don’t have a Metatate account yet? Join the cross-platform beta →

Already on Snowflake?

Metatate’s tools are already SQL functions in your account.

Cortex Code and Cortex Agents read the same decision layer with zero data egress.

See Snowflake setup