New · SOFI private deployment is ready for enterprise rolloutTalk to us
[ PUBLISH ][ SQL · REST · MCP ][ JDBC ][ ODATA ]
endpoint · /publish

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.

https://private.sofi.local/api/v1/data/customer_360
200 OK · 87 ms
live

SQL · pgwire

private.sofi.local:5556

SELECT * FROM customer_360 LIMIT 100;
live

REST · JSON

GET /api/v1/data/customer_360

Authorization: Bearer sgk_•••
live

AI · MCP tool

tool surface · scoped

{ "name": "query_customer_360" }

rps

1.2k

p95

87 ms

cache

94%

uptime

99.99%

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

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.

[ 02 / 06 ]How it works
// Flow //

Defined, authorized, distributed

Four steps from view definition to production-grade endpoints.

step · 01

Define

view + policy in studio or sdk

step · 02

Authorize

roles · tenants · api keys

step · 03

Cache

redis · stale-while-revalidate

step · 04

Distribute

sql · rest · odata · mcp · jdbc

[ 03 / 06 ]Developer surface
// Connect any consumer //

Pick the protocol, not the rewrite

SQL, REST, MCP — same data surface, same governance, same audit trail.

-- via psql / pgwire @ :5556
-- 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;
[ 04 / 06 ]Use cases
// What teams build //

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.

0warehouse copies

// pattern

Internal data APIs

Product teams consume views as REST or OData. Versioning, rate limiting and authn are handled — not redone per service.

1.2krps per view

// pattern

AI agents on enterprise data

Drop SOFI into your MCP config. Agents call typed tools, respect RBAC, and stay scoped to approved views.

Toolper view, automatically

// pattern

Partner data sharing

Issue scoped API keys to partners. Audit each call, revoke instantly, mask whatever shouldn't leave.

Scopedper partner key
[ 05 / 06 ]Performance
// Numbers //

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.

[ 06 / 06 ]FAQ
// FAQ //

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.