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.
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.
From sources to grounded answer
The same view definition you use for analysts becomes the surface your agents read.
Connect
domain sources · crm · billing · tickets
Model
agent_context view · curated for llm
Govern
agent.role · pii.masked · audit.per_call
Publish
mcp · rest · sse streaming
What an agent actually sees
A view + an MCP descriptor. The agent gets typed columns, masked PII and a per-call audit log.
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);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.
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.