One view.Every protocol.
Define a governed view once, deliver it everywhere — SQL via pgwire, REST and OData for apps, MCP for AI agents. Same RBAC. Same masking. No re-implementation.
SQL · pgwire
private.sofi.local:5556
REST · JSON
GET /api/v1/data/customer_360
AI · MCP tool
tool surface · scoped
rps
1.2k
p95
87 ms
cache
94%
uptime
99.99%
Every consumer, one definition
The same governed view powers BI, internal APIs and AI agents — without rewrites.
Postgres wire protocol
Any tool that speaks SQL — psql, BI suites, JDBC drivers — connects directly. Port 5556. No new client.
REST + OData
Auto-generated REST and OData endpoints per view. Filter, paginate, project — same RBAC as SQL.
MCP for AI agents
Each view becomes an MCP tool with schema, examples and policies. Agents see only what their role allows.
Defined, authorized, distributed
Four steps from view definition to production-grade endpoints.
Define
view + policy in studio or sdk
Authorize
roles · tenants · api keys
Cache
redis · stale-while-revalidate
Distribute
sql · rest · odata · mcp · jdbc
Pick the protocol, not the rewrite
SQL, REST, MCP — same data surface, same governance, same audit trail.
-- connect just like any Postgres
psql "host=sofi.local port=5556 user=analyst dbname=acme"
SELECT customer_id, ltv, last_seen
FROM customer_360
WHERE ltv > 1000
ORDER BY last_seen DESC
LIMIT 100;Distribution that meets every consumer
BI, internal APIs, partner sharing and AI agents — all from one view.
// pattern
BI without warehouses
Power BI, Tableau, Metabase and Looker connect to SOFI as a Postgres source. No ETL, no warehouse bill, governed by default.
// pattern
Internal data APIs
Product teams consume views as REST or OData. Versioning, rate limiting and authn are handled — not redone per service.
// pattern
AI agents on enterprise data
Drop SOFI into your MCP config. Agents call typed tools, respect RBAC, and stay scoped to approved views.
// pattern
Partner data sharing
Issue scoped API keys to partners. Audit each call, revoke instantly, mask whatever shouldn't leave.
Production traffic, without surprises
High RPS, predictable latency, rate-limited and cache-aware by default.
1.2k
rps per view
Cached responses fan out via Redis. Stale-while-revalidate keeps freshness honest under load.
87 ms
p95 published
Pgwire, REST and MCP all hit the same federation plan. Latency is identical across protocols.
99.99%
uptime target
Multi-replica deployment with health checks, request hedging and graceful degradation under partial outage.
5
delivery channels
SQL (pgwire), REST/JSON, OData, JDBC and MCP — one definition, every consumer pattern.
Questions about publish
What platform engineers ask before adopting Publish as the data delivery layer.
No. SOFI ships a built-in Postgres wire-protocol server on port 5556. Any tool that speaks pg connects directly — JDBC, ODBC, psql, BI suites — and gets the same RBAC and masking as REST consumers.
// ready to publish
Serve every consumer from one governed view.
Pgwire, REST, OData, JDBC and MCP — wire any of them up in minutes. Trial includes rate limiting and SIEM streaming.