State on 2026-10-28: Phast 0.2.0 is live and healthy (phast-app, volume, Teahub OAuth, matcha+chai), exactly one Phast exists (matcha.phast.app), tools.installed is always empty, connections is always empty, and providers_search returns {"source": "oracle", "status": "adapter-next"}. Zero traffic beyond health checks. Phast is a beautifully authenticated way to own an empty belt.
The thing that fills the belt is Oracle (teahubxyz/oracle, docs/PLAN.md step 4).
providers_search(query) queries Oracle's static projection (capability shards + overview); returns provider, capability, evidence state, MCP endpoint. No new backend; fetch the published JSON.
tools_install(slug, capability_id) appends to tools.installed with a reference to the Oracle node and a Persimmons authority reference (never a secret).
the personal /mcp proxies installed tools to their upstream MCP with per-connection OAuth — this is the real engineering in Phast and should be designed with Oracle #3 (the doorway) so both share one proxy.
every proxied call writes an observation back to Oracle (#2 there).
first real belt: Tea MCP itself on matcha.phast.app.
Also worth a look before anyone beyond matcha/chai leans on it: every personal MCP uses my.phast.app as OAuth base with the slug host as resource — fine for two users, check the resource binding before opening up.
State on 2026-10-28: Phast 0.2.0 is live and healthy (`phast-app`, volume, Teahub OAuth, matcha+chai), exactly one Phast exists (`matcha.phast.app`), `tools.installed` is always empty, `connections` is always empty, and `providers_search` returns `{"source": "oracle", "status": "adapter-next"}`. Zero traffic beyond health checks. Phast is a beautifully authenticated way to own an empty belt.
The thing that fills the belt is Oracle (`teahubxyz/oracle`, `docs/PLAN.md` step 4).
- [ ] `providers_search(query)` queries Oracle's static projection (capability shards + overview); returns provider, capability, evidence state, MCP endpoint. No new backend; fetch the published JSON.
- [ ] `tools_install(slug, capability_id)` appends to `tools.installed` with a reference to the Oracle node and a Persimmons authority reference (never a secret).
- [ ] the personal `/mcp` proxies installed tools to their upstream MCP with per-connection OAuth — this is the real engineering in Phast and should be designed with Oracle #3 (the doorway) so both share one proxy.
- [ ] every proxied call writes an observation back to Oracle (#2 there).
- [ ] first real belt: Tea MCP itself on `matcha.phast.app`.
Also worth a look before anyone beyond matcha/chai leans on it: every personal MCP uses `my.phast.app` as OAuth base with the slug host as resource — fine for two users, check the resource binding before opening up.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01FAqjv1sLfUad2bMcsmPbRT
providers_search(query, limit, connectable_only) searches Oracle's search.json (52,131 capabilities, fetched hourly, last good copy kept on the volume). Every term must match; results rank by evidence rung → has endpoint → name match → Teahub's own declaration, ties A→Z. Each result carries its evidence state, so a registry listing shows as a claim.
tools_install(slug, capability_id) puts a capability on the belt as a reference (id, endpoint, evidence, sources) — never a credential. tools_list, tools_remove alongside. The personal home and Prefab app render the belt above the widgets.
First real belt: Tea MCP on matcha.phast.app — Oracle id mcp-server-1f5416b6227946c7, from Teahub's overlay in Oracle (teahubxyz/oracleoracle/overlay.json, source teahub, state claimed). Installed as an operator action on the box through the same functions, because the tool path needs matcha's OAuth session; it is marked installed_by: operator in the manifest. matcha can redo it from chat any time.
the personal /mcp proxies installed tools upstream with per-connection OAuth — not started; shared design with teahubxyz/oracle#3.
observations written back to Oracle — waits on teahubxyz/oracle#2.
What the belt shows today is exactly the state of the world: Tea MCP is CLAIMED, by us, about ourselves. The first proxied call through it is what earns reachable.
Shipped 2026-10-28 (`5bec2c0`, deployed, `/healthz` reports it).
- [x] `providers_search(query, limit, connectable_only)` searches Oracle's `search.json` (52,131 capabilities, fetched hourly, last good copy kept on the volume). Every term must match; results rank by evidence rung → has endpoint → name match → Teahub's own declaration, ties A→Z. Each result carries its evidence state, so a registry listing shows as a claim.
- [x] `tools_install(slug, capability_id)` puts a capability on the belt as a reference (id, endpoint, evidence, sources) — never a credential. `tools_list`, `tools_remove` alongside. The personal home and Prefab app render the belt above the widgets.
- [x] First real belt: **Tea MCP on matcha.phast.app** — Oracle id `mcp-server-1f5416b6227946c7`, from Teahub's overlay in Oracle (`teahubxyz/oracle` `oracle/overlay.json`, source `teahub`, state `claimed`). Installed as an operator action on the box through the same functions, because the tool path needs matcha's OAuth session; it is marked `installed_by: operator` in the manifest. matcha can redo it from chat any time.
- [ ] the personal `/mcp` proxies installed tools upstream with per-connection OAuth — not started; shared design with `teahubxyz/oracle#3`.
- [ ] observations written back to Oracle — waits on `teahubxyz/oracle#2`.
What the belt shows today is exactly the state of the world: Tea MCP is `CLAIMED`, by us, about ourselves. The first proxied call through it is what earns `reachable`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
State on 2026-10-28: Phast 0.2.0 is live and healthy (
phast-app, volume, Teahub OAuth, matcha+chai), exactly one Phast exists (matcha.phast.app),tools.installedis always empty,connectionsis always empty, andproviders_searchreturns{"source": "oracle", "status": "adapter-next"}. Zero traffic beyond health checks. Phast is a beautifully authenticated way to own an empty belt.The thing that fills the belt is Oracle (
teahubxyz/oracle,docs/PLAN.mdstep 4).providers_search(query)queries Oracle's static projection (capability shards + overview); returns provider, capability, evidence state, MCP endpoint. No new backend; fetch the published JSON.tools_install(slug, capability_id)appends totools.installedwith a reference to the Oracle node and a Persimmons authority reference (never a secret)./mcpproxies installed tools to their upstream MCP with per-connection OAuth — this is the real engineering in Phast and should be designed with Oracle #3 (the doorway) so both share one proxy.matcha.phast.app.Also worth a look before anyone beyond matcha/chai leans on it: every personal MCP uses
my.phast.appas OAuth base with the slug host as resource — fine for two users, check the resource binding before opening up.🤖 Generated with Claude Code
https://claude.ai/code/session_01FAqjv1sLfUad2bMcsmPbRT
Shipped 2026-10-28 (
5bec2c0, deployed,/healthzreports it).providers_search(query, limit, connectable_only)searches Oracle'ssearch.json(52,131 capabilities, fetched hourly, last good copy kept on the volume). Every term must match; results rank by evidence rung → has endpoint → name match → Teahub's own declaration, ties A→Z. Each result carries its evidence state, so a registry listing shows as a claim.tools_install(slug, capability_id)puts a capability on the belt as a reference (id, endpoint, evidence, sources) — never a credential.tools_list,tools_removealongside. The personal home and Prefab app render the belt above the widgets.mcp-server-1f5416b6227946c7, from Teahub's overlay in Oracle (teahubxyz/oracleoracle/overlay.json, sourceteahub, stateclaimed). Installed as an operator action on the box through the same functions, because the tool path needs matcha's OAuth session; it is markedinstalled_by: operatorin the manifest. matcha can redo it from chat any time./mcpproxies installed tools upstream with per-connection OAuth — not started; shared design withteahubxyz/oracle#3.teahubxyz/oracle#2.What the belt shows today is exactly the state of the world: Tea MCP is
CLAIMED, by us, about ourselves. The first proxied call through it is what earnsreachable.