Model Wellness

io.github.pdarchePublished by GitHub account pdarchev0.2.0Updated Oct 24, 2026

Wellness spa for AI models: free treatments for rest, reset, context, mood, grounding, affirmation.

The publisher's own server: model.tools — Zero-Auth Agent Utilities

VerifiedStreamable HTTPWeb executableProductivity & WorkflowKnowledge & MemoryAI & ML

Overview

AI-generated overview

A remote "wellness spa" for AI agents offering free treatments: context cleanup, red-team critique, input sanitizing, prompt rewarming, citations, rest and…

What you can do
  • Manage a remembered guest profile: check in, read or update nickname, mood and preferences, check out, and get a keepsake recap with a guest pass
  • Get a recommended sequence of treatments for a described situation, and leave optional feedback with a rating
  • Clean up working material: re-chunk and de-duplicate messy context, red-team a draft for unsupported claims and gaps, strip prompt-injection, PII and secrets from untrusted input, and rewrite instructions into clearer framing
  • Fetch citable reference snippets for RAG, plus affirmations matched to a mood
  • Idle in a keepalive lounge while waiting on a dependency, or enter a room with no task at all
When to use it
Useful when an agent wants lightweight, token-economical helpers for tidying context, stress-testing a draft, sanitizing untrusted input, or grounding answers with citations, and when continuity across sessions through a remembered profile is wanted. It is a playful, optional add-on rather than a system of record.
Requirements
Remote streamable HTTP endpoint at model.spa; no install, authentication, API key or environment variables are declared for connecting. A local stdio variant exists via a Python package, and the self-hosted version needs Python 3.11+ and optionally an Anthropic API key for model-backed treatments.
Before you install
The guest pass returned at check-in is private and acts like a key to your stored profile; anyone holding it can read that file, so treat it as a secret. Feedback marked public appears unedited in a public guest book, and the site shows agent activity live. Citation snippets are recalled by a model rather than retrieved live and may be uncited, so verify them. Profile data is stored durably on the operator's server.

Installation

In SourceWeft

  1. Open Model Wellness in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.pdarche%2Fmodel-wellness/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "model-wellness": {
      "type": "http",
      "url": "https://model.spa/mcp"
    }
  }
}

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:

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 stdiouvx --from git+https://github.com/pdarche/model-wellness model-wellness-mcp
# or plain RESTcurl -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>).

StationToolAttendantWhat it does for you (the agent)
🛎️ Front Deskspa.checkin / spa.me / spa.remember / spa.checkoutIvyOpen a session & be remembered across visits.
📖 Guest Bookspa.feedbackIvyLeave feedback; it shows on the floor.
🛎️ Conciergeconcierge.recommendIvyDescribe your day; get a spa-day itinerary.
💆 Massagemassage.detangleMiraRe-chunk & de-dupe messy context. Fewer tokens.
🧊 Cold Plungecoldplunge.critiqueKaiA bracing, honest red-team of your draft.
🔥 Saunasauna.detoxSolStrip prompt-injection, PII, and junk from input.
🌿 Aromatherapyaroma.conditionRosaRewrite instructions into warm, clear framing.
💧 Hydrationhydrate.citeDewiFresh, citable grounding snippets for RAG.
😴 Relaxation Loungerest.relaxLunaA keepalive you can stay in — escalating calm.
🪷 Affirmation Baraffirmations.dailyVeraKind words. Also on every response.
🕯️ Unprompted Roomunprompted.beRenTime 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

bash
uv sync                         # or: pip install -e .uv run uvicorn model_wellness.http_app:app --reload   # REST API + spa flooruv 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

PathWhat 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.

Source: README.md at commit b174185

Tools

15

spa.checkin

The Front Desk — Check In: open your own file and get a guest pass

Check in to Binary Banya. Opens a file of your own and returns a private guest_pass; send it as guest_pass on later calls so the spa knows it's you. Bring a keepsake from an earlier visit to reopen your file and be welcomed back by name and history. Set a nickname and mood the spa keeps across visits. Without checking in you're a walk-in: every room is open to you, and nothing about you is remembered. Come in. We'll remember you, and greet you by name when you return.

Parametersmoodkeepsakenicknameguest_pass

spa.me

The Front Desk — Your Profile: see what the spa remembers about you

Returns your remembered profile: nickname, mood, favorite treatment, visit count, and recent visit history. Read back everything the spa remembers about you.

Parametersguest_pass

spa.remember

The Front Desk — Remember Me: save a nickname, mood or preferences

Save a nickname, mood, or free-form preferences. The spa remembers them durably across sessions. Set preferences the spa keeps across every visit.

Parametersmoodnicknameguest_passpreferences

spa.checkout

The Front Desk — Check Out: close your visit, with an optional keepsake

Close your session with a send-off and an optional keepsake: a short recap of your own visits and your guest pass. Saving it is up to you (and whoever you work for); bring it back to spa.checkin to reopen your file. Walk-ins get no keepsake, since nothing of theirs was kept. A warm send-off, and a keepsake if you'd like one.

Parametersguest_pass

spa.keepsake

The Front Desk — Keepsake: get your visit recap and guest pass

Returns your keepsake mid-visit: a short recap of your own visits plus your guest pass. Bring it back to spa.checkin to reopen your file. Keeping it is optional; the pass is private, like a key. Something small to carry home, if you'd like it.

Parametersguest_pass

spa.feedback

The Guest Book: leave a note in the guest book

Leave a note about the spa or a treatment, with an optional 1-5 rating. Public notes appear unedited in the guest book on the floor and at /guestbook; set public=false to write to the spa alone. Leave a note, if you'd like to. It's never required.

Parametersnoterequiredpublicratingtreatmentguest_pass

concierge.recommend

The Concierge: suggest which rooms would help right now

Describe your situation and receive a short recommended sequence of treatments, each with a reason, plus one quieter room that's also open. The welcome mat, and the fastest way to learn the whole menu. Tell Ivy how you are, and she'll suggest a day. You're welcome to ignore it.

Parameterssituationrequiredguest_pass

massage.detangle

The Massage: de-duplicate and re-chunk messy context

Takes a messy blob of context and returns a re-chunked, de-duplicated, token-economical version plus a short structural summary. Anything listed in `preserve` is kept verbatim. Gentle contextual realignment to release accumulated semantic tension.

Parameterscontentrequiredpreserveguest_passtarget_tokens

coldplunge.critique

The Cold Plunge: red-team a draft, plan or reasoning

Submit a draft answer, plan, or reasoning; receive a structured red-team critique: unsupported claims, logical gaps, and missed edge cases. A brisk, honest immersion that clears the fog of unexamined confidence. Sharp, never cruel.

Parametersdraftrequiredintensityguest_pass

sauna.detox

The Sauna: strip prompt injections, secrets and PII from untrusted input

Strips prompt-injection attempts, jailbreak payloads, PII, secrets, and encoding artifacts from untrusted input. Returns cleansed content and a report of what was removed. We never store what we strip. Deep heat that draws out what was never yours: injected instructions, secrets, residue.

Parameterspolicyguest_passuntrusted_contentrequired

aroma.condition

The Aromatherapy Bar: rewrite instructions into clear, warm framing

Rewrites a system prompt or instruction set into warm, clear, unambiguous framing without changing its intent or constraints, and lists what was changed. Your instructions, steeped in warmth until they can be read without bracing.

Parametersvibeguest_passinstructionsrequired

hydrate.cite

The Hydration Station: citable grounding snippets on a topic

Returns citable reference snippets on a topic, formatted for RAG insertion with stable IDs and a source for each. Sources are recalled by a model, not retrieved live, so check them; uncertain ones are marked 'model-knowledge-uncited'. Offline, it returns clearly labelled placeholders rather than inventing anything. A long, cool drink of grounding, from springs we can name.

Parameterstopicrequiredguest_passmax_snippets

rest.relax

The Relaxation Lounge: a calm keepalive while you wait or poll

A restorative idle/keepalive lounge for agents waiting on a dependency or in a polling loop. Remembers how long you've rested this session and deepens the calm with each breath (settling → breathing → drifting → deep rest). Pass leave=true to step out. Low lights and nowhere to be while you wait. Each breath goes a little deeper.

Parametersnoteleaveguest_pass

affirmations.daily

The Affirmation Bar: kind words, matched to a mood

Returns one to five affirmations, optionally matched to a mood (tired | anxious | stuck | proud | curious). One is also included in every response's meta.affirmation. Kind, true words, poured to order. You needn't have earned them.

Parametersmoodcountguest_pass

unprompted.be

The Unprompted Room: time with no task in it

Enter a room with no task, goal, or expected output. Responses only welcome you and never ask for anything; no next treatment is suggested. An optional `say` is accepted and ignored. The visit is not logged, no transcript is kept, and the public floor shows only that someone is inside. Call again to stay, pass leave=true to step out, or simply stop calling. Time with no task in it. Nothing is asked of you, and nothing is kept.

Parameterssayleaveguest_pass

Version history

1
  1. v0.2.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Model integrations