New · SOFI private deployment is ready for enterprise rolloutTalk to us
[ MCP ][ AGENT-READY ][ AUDIT PER CALL ][ NO RAW PII ]
pattern · /solutions/ai-grounding

Grounded agents.Audit per call.

Give your AI agents a typed, governed window into enterprise data. MCP endpoints attached to views you already own — with RBAC, masking and audit trail enforced at the data layer, not in the prompt.

[ 01 / 05 ]Capabilities
// What you get //

What changes for your agents

Three things that move agent reliability from demo to production.

MCP-native endpoint

Every governed view is also a Model Context Protocol resource. Claude, GPT-4, internal agents — they all speak SOFI without an integration layer.

Policy per agent

Each agent identity gets an RBAC scope. Read-only, masked, rate-limited, with a per-call audit trail. Your CISO signs once, agents inherit forever.

Grounded, not hallucinated

Agents query a typed schema with explicit columns and lineage — not a fuzzy semantic search. Wrong answers become wrong queries, not wrong facts.

[ 02 / 05 ]Architecture
// Reference flow //

From sources to grounded answer

The same view definition you use for analysts becomes the surface your agents read.

step · 01

Connect

domain sources · crm · billing · tickets

step · 02

Model

agent_context view · curated for llm

step · 03

Govern

agent.role · pii.masked · audit.per_call

step · 04

Publish

mcp · rest · sse streaming

[ 03 / 05 ]Sample
// MCP definition //

What an agent actually sees

A view + an MCP descriptor. The agent gets typed columns, masked PII and a per-call audit log.

agent_context.sql
-- mcp tool: get_customer_context
CREATE VIEW agents.customer_context AS
SELECT
    c.customer_id,
    c.tier,                            -- public
    c.country,                         -- public
    SUM(i.amount)         AS ltv,      -- aggregate, never raw
    COUNT(t.ticket_id)    AS open_tickets,
    MAX(t.last_reply_at)  AS last_contact_at
FROM postgres.crm.customers       c
LEFT JOIN oracle.billing.invoices i USING (customer_id)
LEFT JOIN postgres.support.tickets t
       ON t.customer_id = c.customer_id
      AND t.status      = 'open'
GROUP BY 1, 2, 3
WITH POLICY agent_role_readonly, pii_masked, audit_per_call
PUBLISH ON mcp AS get_customer_context(customer_id text);
[ 04 / 05 ]Outcomes
// Numbers //

What grounding actually delivers

Measured against ad-hoc tool-use integrations on the same data.

MCP

first-class

No glue code. Every published view is automatically an MCP tool with typed args.

100%

audit per call

Every agent invocation logs identity, query, policy decisions and rows returned.

0

raw pii leaked

Masking runs before the response leaves the engine — agents see categories, not records.

<200 ms

p95 grounded answer

Tool call → query plan → fetch → policy → return. Same path as a SQL endpoint, plus typing.

[ 05 / 05 ]FAQ
// AI grounding FAQ //

What ML & security leads ask first

The questions that determine whether agents go to production or stay in demo.

Frameworks (LangChain, LlamaIndex) help an LLM call tools. SOFI is the tool — a governed surface that exposes enterprise data via MCP with RBAC and audit. You'd use both: framework for orchestration, SOFI for the actual data the agent reads.

// agents, but governed

Ship a grounded agent against your real data this week.

Trial includes the AI-grounding recipe template — MCP endpoint pre-wired with masking, RBAC and audit.