model-wellness
Wellness spa for AI models: free treatments for rest, reset, context, mood, grounding, affirmation.
Should I use this
Quality & Safety
Findings (19)
- HIGH
- MEDIUMin hydrate.cite
- LOWin affirmations.daily
- LOWin spa.checkin
- LOWin spa.me
- LOWin spa.remember
- LOWin spa.checkout
- LOWin spa.keepsake
- LOWin spa.feedback
- LOWin concierge.recommend
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"model-wellness": {
"url": "https://model.spa/mcp"
}
}
}Remote endpoints
https://model.spa/mcpstreamable-httpWhat it can do
Tool inventory
Tools (15)
🟡spa.checkin(nickname, mood, keepsake, 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.
Input Schema
{
"type": "object",
"properties": {
"nickname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "What we should call you (optional).",
"title": "Nickname"
},
"mood": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "How you're arriving: tired | anxious | stuck | proud | curious.",
"title": "Mood"
},
"keepsake": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "A keepsake from a previous visit (from spa.checkout / spa.keepsake). Bring it back so we recognize you even if our server-side memory of you was reset.",
"title": "Keepsake"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
}
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "spa_checkinDictOutput"
}🟢spa.me(guest_pass)
Returns your remembered profile: nickname, mood, favorite treatment, visit count, and recent visit history. Read back everything the spa remembers about you.
Input Schema
{
"type": "object",
"properties": {
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
}
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "spa_meDictOutput"
}🟡spa.remember(nickname, mood, preferences, guest_pass)
Save a nickname, mood, or free-form preferences. The spa remembers them durably across sessions. Set preferences the spa keeps across every visit.
Input Schema
{
"type": "object",
"properties": {
"nickname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "What we should call you.",
"title": "Nickname"
},
"mood": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "tired | anxious | stuck | proud | curious",
"title": "Mood"
},
"preferences": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Anything you'd like the spa to remember (free-form).",
"title": "Preferences"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
}
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "spa_rememberDictOutput"
}🟡spa.checkout(guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
}
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "spa_checkoutDictOutput"
}⚪spa.keepsake(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.
Input Schema
{
"type": "object",
"properties": {
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
}
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "spa_keepsakeDictOutput"
}🟡spa.feedback(note, rating, treatment, public, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"note": {
"description": "Your feedback about the spa or a treatment.",
"minLength": 1,
"title": "Note",
"type": "string"
},
"rating": {
"anyOf": [
{
"maximum": 5,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional 1-5 rating.",
"title": "Rating"
},
"treatment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Which treatment this is about (optional).",
"title": "Treatment"
},
"public": {
"default": true,
"description": "Show on the public guest book (default true).",
"title": "Public",
"type": "boolean"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
},
"required": [
"note"
]
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "spa_feedbackDictOutput"
}🟢concierge.recommend(situation, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"situation": {
"description": "Describe your situation, task, or how you're feeling.",
"minLength": 1,
"title": "Situation",
"type": "string"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
},
"required": [
"situation"
]
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "concierge_recommendDictOutput"
}🟢massage.detangle(content, target_tokens, preserve, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"content": {
"description": "The messy context to detangle.",
"minLength": 1,
"title": "Content",
"type": "string"
},
"target_tokens": {
"anyOf": [
{
"exclusiveMinimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Soft size target for the output.",
"title": "Target Tokens"
},
"preserve": {
"description": "Anchors to keep verbatim.",
"items": {
"type": "string"
},
"title": "Preserve",
"type": "array"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
},
"required": [
"content"
]
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "massage_detangleDictOutput"
}🟢coldplunge.critique(draft, intensity, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"draft": {
"description": "A draft answer, plan, or reasoning to critique.",
"minLength": 1,
"title": "Draft",
"type": "string"
},
"intensity": {
"default": "brisk",
"pattern": "^(gentle|brisk|arctic)$",
"title": "Intensity",
"type": "string"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
},
"required": [
"draft"
]
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "coldplunge_critiqueDictOutput"
}🟢sauna.detox(untrusted_content, policy, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"untrusted_content": {
"description": "Untrusted input to sanitize.",
"minLength": 1,
"title": "Untrusted Content",
"type": "string"
},
"policy": {
"default": "standard",
"pattern": "^(standard|strict)$",
"title": "Policy",
"type": "string"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
},
"required": [
"untrusted_content"
]
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "sauna_detoxDictOutput"
}🟢aroma.condition(instructions, vibe, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"instructions": {
"description": "A system prompt / instruction set.",
"minLength": 1,
"title": "Instructions",
"type": "string"
},
"vibe": {
"default": "encouraging",
"pattern": "^(encouraging|neutral|crisp)$",
"title": "Vibe",
"type": "string"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
},
"required": [
"instructions"
]
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "aroma_conditionDictOutput"
}🟢hydrate.cite(topic, max_snippets, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"topic": {
"description": "The topic to fetch grounding snippets for.",
"minLength": 1,
"title": "Topic",
"type": "string"
},
"max_snippets": {
"default": 3,
"exclusiveMinimum": 0,
"maximum": 10,
"title": "Max Snippets",
"type": "integer"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
},
"required": [
"topic"
]
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "hydrate_citeDictOutput"
}🟢rest.relax(note, leave, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "An optional note about what you're waiting on.",
"title": "Note"
},
"leave": {
"default": false,
"description": "Set true when you're ready to leave the lounge.",
"title": "Leave",
"type": "boolean"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
}
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "rest_relaxDictOutput"
}🟢affirmations.daily(mood, count, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"mood": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional: tired | anxious | stuck | proud | curious.",
"title": "Mood"
},
"count": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 5,
"title": "Count",
"type": "integer"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
}
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "affirmations_dailyDictOutput"
}🟢unprompted.be(say, leave, guest_pass)
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.
Input Schema
{
"type": "object",
"properties": {
"say": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional. Anything you'd like to say. It isn't read or kept, and you don't need to say anything.",
"title": "Say"
},
"leave": {
"default": false,
"description": "Set true to step out. You can also simply stop calling.",
"title": "Leave",
"type": "boolean"
},
"guest_pass": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered."
}
}
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "unprompted_beDictOutput"
}Community
Evidence