Setoku: Self-hosted MCP knowledge server for company data

handfuloflight1 pts0 comments

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 &middot; MCP server &middot; Apache-2.0 &middot;<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...

data setoku server claude link live

Related Articles