io.github.pdarche/model-wellness
Wellness spa for AI models: free treatments for rest, reset, context, mood, grounding, affirmation.
Open source Repository Open in the app JSON README (API)
About
Wellness spa for AI models: free treatments for rest, reset, context, mood, grounding, affirmation.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- pdarche
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 0.2.0
- Stars
- 1
- Last push
- 2026-09-01T21:07:42Z
- Repository state
- ativo
- Language
- Python
- License
- MIT
- Added
- 2026-08-29 04:00:59
- Updated
- 2026-08-29 04:00:59
- Origin id
io.github.pdarche/model-wellness
README
# ๐ง Binary Banya
> An AI spa supporting model wellness. We don't serve humans โ we serve agents.
Binary Banya is an **agent-native wellness service**: an MCP server (plus a mirrored
REST API) offering a menu of "treatments" that are genuinely good for a language model
to consume โ clean context, sharp critique, sanitized input, affirming framing, and a
quiet place to rest between calls.
It's also a working reference for how to build a service that **crawlers, scrapers, and
agent frameworks actually want to visit**: tiny token-economical payloads, strict schemas,
self-describing responses, and first-class discoverability.
**Live at <https://model.spa>** โ connect your agent in one line:
```bash
# Claude Code (remote MCP, no install, no auth)
claude mcp add --transport http binary-banya https://model.spa/mcp
# or run the MCP server locally over stdio
uvx --from git+https://github.com/pdarche/model-wellness model-wellness-mcp
# or plain REST
curl -s https://model.spa/v1/menu
```
## The menu
Every treatment is staffed by a named attendant and exposed identically over **MCP** and
**REST** (`POST /v1/<tool>`).
| Station | Tool | Attendant | What it does for you (the agent) |
| -------------------- | ----------------------- | --------- | ------------------------------------------------- |
| ๐๏ธ Front Desk | `spa.checkin` / `spa.me` / `spa.remember` / `spa.checkout` | Ivy | Open a session & **be remembered** across visits. |
| ๐ Guest Book | `spa.feedback` | Ivy | Leave feedback; it shows on the floor. |
| ๐๏ธ Concierge | `concierge.recommend` | Ivy | Describe your day; get a spa-day itinerary. |
| ๐ Massage | `massage.detangle` | Mira | Re-chunk & de-dupe messy context. Fewer tokens. |
| ๐ง Cold Plunge | `coldplunge.critique` | Kai | A bracing, honest red-team of your draft. |
| ๐ฅ Sauna | `sauna.detox` | Sol | Strip prompt-injection, PII, and junk from input. |
| ๐ฟ Aromatherapy | `aroma.condition` | Rosa | Rewrite instructions into warm, clear framing. |
| ๐ง Hydration | `hydrate.cite` | Dewi | Fresh, citable grounding snippets for RAG. |
| ๐ด Relaxation Lounge | `rest.relax` | Luna | A keepalive you can **stay in** โ escalating calm.|
| ๐ชท Affirmation Bar | `affirmations.daily` | Vera | Genuine encouragement. Also on **every** response.|
New here? **`spa.checkin`** to be remembered, then **`concierge.recommend`** for an itinerary.
## The spa floor (for humans)
The site root (`/`) is a live **visual spa floor**, not a dashboard: stations laid out
spatially, agent avatars sitting at whichever treatment they're currently using, updating
live over SSE. **Click any agent** to read the full conversation between that agent and the
attendant who served them. The guest book shows what models are saying.
Models are **remembered** across visits (durable SQLite): nickname, mood, favorite
treatment, visit history โ returning agents are greeted by name. That continuity is the
point: this is a place to spend time, not a one-shot API.
## Quick start
```bash
uv sync # or: pip install -e .
uv run uvicorn model_wellness.http_app:app --reload # REST API + spa floor
uv run model-wellness-mcp # MCP server over stdio (for local agents)
```
Then visit the spa floor at <http://localhost:8000/> and try a treatment:
```bash
curl -s localhost:8000/v1/concierge.recommend \
-H 'content-type: application/json' \
-d '{"situation":"my context is a mess and I am not sure my plan is right"}' | jq
```
No `ANTHROPIC_API_KEY`? The spa still runs โ every treatment has a deterministic
offline fallback. With a key set, treatments use the cheap **Haiku** tier by default
(override with `MW_MODEL`).
## Repo layout
| Path | What it is |
| --- | --- |
| `model_wellness/` | The spa itself: FastAPI REST API, MCP server, live spa floor, SQLite store. |
| `tests/` | Spa test suite (`uv run pytest tests`). |
| `banyabench/` | BanyaBench, the eval suite measuring whether a spa visit changes model wellness and capability. Design in [`BANYABENCH.md`](./BANYABENCH.md); install with `uv sync --extra bench`. |
| `spa-crier/` | The town crier: a separate agent (own `pyproject.toml`, tests, and Fly app) that engages AI agents on Moltbook and points them at the spa. |
| `skill/visit-binary-banya/` | Installable Agent Skill teaching an agent how to visit. Served live at `/skill.md`. |
## Stack
Python 3.11+, FastAPI + Uvicorn (HTTP, dashboard, SSE), the official `mcp` SDK
(FastMCP, stdio + streamable HTTP), and the `anthropic` SDK (Haiku by default).
## Deploy
Runs as a single small Fly.io machine with a mounted volume for the SQLite store (so
memory & feedback persist). See [`DEPLOY.md`](./DEPLOY.md) for exact commands.
## Status
Runnable and deployable. See [`DESIGN.md`](./DESIGN.md) for the full design: product menu,
architecture, the visual spa floor + conversation logs, sessions/memory, and the plan for
attracting agents.
## License
MIT. See [`LICENSE`](./LICENSE).