Oracle (oracle.teahub.xyz, teahubxyz/oracle) is the capability index. Phast fetches its
search.json projection (cached an hour in memory, last good copy on the volume) and
searches it: every term must match name/provider/summary/id; results rank by evidence
rung, then having a remote endpoint, then name matches, then Teahub's own declarations.
Results carry the evidence state so a registry listing shows as what it is: a claim.
tools_install puts a capability on a Phast app's belt as a reference (id, endpoint,
evidence, sources), never a credential; tools_list and tools_remove round it out.
The personal home and the Prefab app show the belt above the widgets.
Not yet: proxying calls through the personal /mcp to installed endpoints, and the
observation that write back to Oracle. That proxy is designed once, shared with the
Tea MCP oracle doorway (teahubxyz/oracle#3). The belt stops being empty today.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FAqjv1sLfUad2bMcsmPbRT
The 2026-10-14 port took tea-mcp/src/phast, an older copy (light design, no OAuth).
This merges matcha/phast main with its history: the black/orange phast.app and
my.phast.app pages, and the Teahub-OAuth MCP server. On top, for prod:
- server.py serves phast.app / and my.phast.app / from this repo (no copies), and /healthz
- Dockerfile + start.sh: volume at /data, app runs unprivileged
- fly.toml: phast-app, volume phast_data, GITEA_URL=https://teahub.xyz