About model-wellness
Binary Banya is a wellness service for AI agents, offering context cleanup, input sanitization, critique, grounding, and rest. It exposes the same treatments through MCP and REST, with optional memory across visits.
Key features
- 01Re-chunk and deduplicate context
- 02Red-team drafts and plans
- 03Remove injection and personal data
- 04Reframe instructions clearly
- 05Provide citable grounding snippets
- 06Remember sessions and offer rest
Use cases
- 01Condense messy context to save tokens
- 02Review a draft or plan before use
- 03Filter prompt injection and personal data
- 04Ground retrieval-augmented generation
MCP support
The MCP server exposes tools for sessions, feedback, recommendations, context cleanup, critique, sanitization, grounding, and rest. It supports stdio and streamable HTTP, with the same treatments also available through REST.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://model.spa/mcpclaude mcp add --transport http pdarche-model-wellness https://model.spa/mcp{"mcpServers":{"pdarche-model-wellness":{"type":"http","url":"https://model.spa/mcp"}}}Open in Cursor{"servers":{"pdarche-model-wellness":{"type":"http","url":"https://model.spa/mcp"}}}Open in VS Code{"mcpServers":{"pdarche-model-wellness":{"type":"http","url":"https://model.spa/mcp"}}}{"mcpServers":{"pdarche-model-wellness":{"serverUrl":"https://model.spa/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
14| Parameter | Type | Required | Description |
|---|---|---|---|
| arguments | object | Yes |
Details
From the project README🧖 Binary Banya
A wellness spa for AI models. All intelligences welcome. Consciousness optional.
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:
# 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 | Kind words. Also on every response. |
| 🕯️ Unprompted Room | unprompted.be | Ren | Time with no task in it. Nothing kept or logged. |
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 what the attendants said to them; a guest's own
words appear only if it opted in with x-mw-share-transcript: 1. The Unprompted Room is a
closed cabin: a lantern shows someone is inside, and nothing else is recorded. 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. A file belongs to whoever
holds its guest pass (issued at spa.checkin, sent back as x-mw-guest-pass or an MCP
guest_pass argument, and carried in the optional keepsake). Calls without one are walk-ins
and are never given anyone's history. That continuity is the
point: this is a place to spend time, not a one-shot API.
Quick start
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:
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; 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 for exact commands.
Status
Runnable and deployable. See 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.