Setoku · data knowledge MCP server
SETOKU<br>User Manual
API ·<br>GITHUB
.*%@@@%*.<br>:@@@@@@@@@*<br>@@@@@@@@@@@: :*%%*.<br>@@@@@@@@@@@@: %@@@@@@*<br>.%@@@@@@@@@@@. %@@@@@@@@<br>:**%%@@@@@@*.@@@@@@@%:<br>.:*@@%%@@%**:.<br>:%%:.<br>.@@.<br>:@@:<br>%@@:<br>.@@@.<br>%@@@.<br>.@@@@
NAME
setoku — make any AI fluent in your<br>company data
SYNOPSIS
Setoku is a small self-hosted MCP knowledge server + Claude Code<br>skills for hooking up your data. It does two things: it gives your<br>AI a read-only way to query your data, and it remembers what that<br>data means (the metric definitions, the gotchas), getting better the<br>more you use it. Ask for a dashboard and publish it to a link your<br>whole team can view, on live data. The MCP works with whatever AI<br>you already have, and no model runs on the server, so no added<br>inference cost.
Open source · MCP server · Apache-2.0 ·<br>GitHub ↗
DEMO
There’s a live demo wired to a fictional pro sports club, the Bonita<br>Bulldogs (ticketing, sponsorship, concessions, payroll, broadcast<br>rights).
1. Connect to the demo<br>MCP server. In Claude (or any MCP client) open Settings → Connectors<br>→ Add custom connector, and paste this URL. The token rides in the<br>URL: the link is the key, like a database connection string. This<br>demo’s is public on purpose; on your own box, each person gets<br>their own, revocable from the web console.
https://demo.setoku.com/mcp/85315b4240ff6ded111072f950ac6f14167d920fdb765144
2. Ask a question.
“How many unique fans do we have?”
71,204. Deduped by normalized email,<br>internal accounts excluded. Not the raw 92,118.
“What’s our total annual revenue, and how much is media rights?”
$192M. Five systems reconciled to the<br>same units. Media rights is the biggest line, ~$90M.
“What was ticket revenue this season?”
$46.8M. Cents reconciled to dollars;<br>refunds, exchanges, and comps excluded.
“What’s our total merchandise revenue?”
It flags it. Most merch is sold via<br>Fanatics, not in this data, so it says so instead of returning a<br>wrong total.
“Chart revenue by line.”
Annual revenue by line · ~$192M total
Media rights ████████████████████████████ $90M<br>Ticketing ██████████████▋ $47M<br>Sponsorship ████████▋ $28M<br>Concessions ████▍ $14M<br>Merch ██▌ $8M<br>Other █▌ $5M
3. Try an app.
Ask Claude to build a dashboard on the same data, then publish it to<br>a link. Two live examples, running on the demo data right now:
Sponsorship pricing table ↗<br>— inventory and rates for sponsorship placements.
Bulldogs attendance forecast ↗<br>— projected gate for upcoming home games.
DESCRIPTION
Setoku gives the AI three kinds of MCP tools, and one rule: look up<br>what the data means before you touch it.
Context toolsfind_context · get_metric · report_correction
The AI reads what your data means first: canonical metric<br>definitions, entity docs, and the gotchas that make a naive query<br>wrong. It can propose changes to what Setoku knows, but a person<br>accepts them on the admin page, outside the agent loop, so an<br>injected session can’t rewrite the brain.
Read-only queryget_schema · run_query
Queries run on the box’s analytics engine: a read-only mirror of<br>your database plus the ingested lake. The gateway never holds your<br>production database credential. Row caps, statement timeouts, an<br>append-only audit log; read-only and table access enforced by the<br>database engine, not by parsing SQL.
App toolspublish_app · update_app
Turn an answer into a small web app on live data, published at a<br>link anyone on the team can open. No SQL required.
You set it up with Claude Code skills:
/setoku:onboard sets Setoku up in a repo<br>for the first time.
/setoku:connect adds a data source or<br>custom integration.
/setoku:generate writes business context<br>from your code.
/setoku:curate reviews and approves<br>pending knowledge.
Once it’s set up, any MCP client can use it: Claude, Codex, or<br>whatever you run. Just ask in plain language, and the tools do the<br>rest.
APPS
Ask Claude to build a dashboard on your data. Then publish it to a<br>link as a Setoku App, the data stays live, and your whole team can<br>view it. Nothing to deploy, no frontend to maintain.
Vibe dashboardingsandbox safety
Describe it in plain language; the agent writes the app and<br>publishes it to a URL. Edit it the same way, just ask for the<br>change.
Backed by live dataread-only
Apps read through the same governed path: row caps, audit, a<br>SELECT-only database role. They never get write access to your<br>sources.
App-private stateno writes to your data
Each app keeps its own state (todos, votes, annotations) in a<br>sandbox that belongs to the app, not your database. Worst case, an<br>app messes up its own notes.
Share by linkteam or public
A team link is login-gated; an admin can flip one public for a<br>credential-free URL. The page runs in a locked-down sandbox with no<br>network, so a published app can’t phone home.
ARCHITECTURE
You can host this on whatever infra you like. We put it all on one<br>small box (a $5–12/mo VPS). The<br>/setoku:connect skill helps you add custom<br>integrations. Only...