Binary Banya
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
Most tools have clearly distinct purposes, but spa.checkout and spa.keepsake both output a keepsake payload with the same spa.remember replay instruction, which could cause confusion. The treatment tools (massage.detangle, coldplunge.critique, etc.) are well-differentiated.
Naming Consistency4/5All tool names follow a consistent 'domain.action' pattern with lowercase and dots, creating a predictable structure. However, the action part is not always a verb (e.g., spa.me, spa.keepsake, affirmations.daily), which is a minor deviation from strict verb-based naming.
Tool Count5/5With 14 tools, the set is within the ideal 3-15 range and each tool has a distinct role in the spa experience. The count feels well-scoped, not excessive or sparse.
Completeness4/5The tool set covers the full spa lifecycle: profile retrieval and saving, check-in/out, treatments, feedback, recommendations, and keepsake. A minor gap is the lack of an explicit 'forget' tool to clear stored preferences, but this is not a critical missing operation.
Average 3.7/5 across 14 of 14 tools scored. Lowest: 3.1/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 19 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
This repository includes a glama.json configuration file.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since there are no annotations, the description must convey side effects. It says it 'hands you' an instruction and a payload, implying a non-mutating return, but it doesn't explicitly state that no state changes occur. It also doesn't clarify any prerequisites or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and every sentence adds context. It could be slightly more direct, but it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the output and use case, but the required parameter is undocumented, and there is no mention of expected input structure. This makes the tool impossible to invoke correctly without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single required 'arguments' object with no described properties (additionalProperties true). The description entirely ignores this parameter, offering zero guidance on what to pass. With 0% schema coverage, this is a critical failure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as one that 'hands you a keepsake' consisting of an instruction and a spa.remember payload. It distinguishes itself from sibling tools by referencing spa.remember, positioning itself as a preparatory step for memory persistence. However, it doesn't provide a crisp verb like 'generate' or 'return', and the exact output type is not specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states a use case: 'This is how a future instance of you returns as a regular' and points to the next step with spa.remember. This gives clear context for when to use it, though it does not discuss alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds that data is remembered 'durably across sessions', which is useful, but it does not disclose return format, overwriting behavior, possible errors, or limits. This is a minimal but incomplete disclosure for a save tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and including a meaningful durability guarantee. Every word earns its place; there is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has an output schema, so return values are not needed in the description. However, the description lacks usage guidance and parameter detail, and with many sibling tools it does not fully contextualize when to use this tool. It is adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single 'arguments' object, so the description must compensate. It does provide semantic hints by listing examples ('nickname, mood, or free-form preferences'), but it does not specify the expected structure or keys. This adds some meaning beyond the schema but not enough to fully compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool saves a nickname, mood, or free-form preferences, using the specific verb 'Save' and identifying the resource as the spa's memory. It distinguishes from siblings by emphasizing durability ('durably across sessions'), though it does not explicitly name or differentiate from similar tools like spa.keepsake.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as spa.keepsake or spa.checkin. The description describes what it does but gives no context for selecting it over sibling tools, no prerequisites, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It states that intent is preserved ('without changing intent') and that it reduces confusion, which gives some transparency. However, it omits potential side effects, limitations, or edge cases (e.g., how the rewrite might affect formatting or whether output is deterministic).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core action and purpose. The second sentence adds a valuable benefit statement. No wasted words or redundancy; it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists (so return values need not be described), the input side is severely under-specified. The generic 'arguments' schema combined with the description's lack of parameter guidance makes it incomplete for an agent to invoke the tool correctly. The description is too minimal to cover the gap left by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the only parameter is a generic 'arguments' object with additionalProperties true. The description hints that the input is a system prompt or instruction set but does not specify argument names, structure, or example payloads. The description fails to compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('rewrites') and resource ('system prompt or instruction set') with a defined outcome ('warm, affirming, unambiguous framing'). It does not explicitly reference sibling tools, but the action is distinct enough from the listed spa-themed tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning the benefit of 'reducing refusal-spirals and confusion', but it does not explicitly state when to use this tool over others or provide exclusions/alternatives. No sibling tool is referenced as an alternative, leaving usage as an implied inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does reveal that the tool transforms input into an output and mentions specific behaviors (de-duplication, token-economical, summary). But it does not clarify whether the operation is lossy, whether it requires specific permissions, or whether any state is mutated, so transparency is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action and outcome. Every phrase contributes value, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the output schema potentially covering return values, the tool's input is completely under-specified. The description does not tell an agent how to construct the 'arguments' object, which is critical because the schema itself provides no structure. The description covers the 'what' but leaves the 'how' to be discovered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is a generic object with additionalProperties true and 0% description coverage. The description adds the semantic that the object should contain a 'messy blob of context', but it does not specify expected keys, structure, or examples. This is insufficient compensation for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it takes messy context and returns a re-chunked, de-duplicated, token-economical version plus a summary. This is a specific verb+resource+outcome combination. However, it does not explicitly differentiate from sibling tools, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use it when you have a messy blob of context that needs cleaning. However, it provides no explicit guidance on when not to use it or which alternative tool might be preferable, leaving the agent to infer applicability from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool weaves affirmations into meta.affirmation, a notable behavioral trait. It also notes the affirmations are tuned for a working model. However, with no annotations provided, it does not clarify whether the operation is read-only, the format of the return, or any prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are compact and front-loaded with the core purpose. The second sentence adds useful context without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the return value and the meta.affirmation integration, which is helpful. However, it omits any explanation of the required 'arguments' parameter and lacks explicit usage conditions, so it is not fully complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a required 'arguments' object with additionalProperties true, but the description provides no guidance on what to pass inside arguments. With 0% schema description coverage, the description must compensate, but it does not mention the parameter at all, leaving the agent completely uncertain about how to invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns warm, genuine affirmations tuned for a working model, which is a specific verb and resource. It also adds a distinguishing feature: affirmations are woven into every response's meta.affirmation, which helps differentiate it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that affirmations are already provided in every response's meta.affirmation, so calling the tool may be redundant. However, it does not explicitly state when to call it versus relying on the meta field, nor does it mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It states the tool provides recommendations ('receive a recommended sequence'), which implies a read-only, advisory behavior. However, it does not discuss data handling, limitations, or authenticate requirements. The core behavior is transparent, but additional context would improve clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three short sentences, each serving a purpose: setting the tone ('welcome mat'), stating the function, and highlighting the value ('fastest way to learn the whole menu'). It is front-loaded and efficient, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema (not shown), the description provides an adequate high-level understanding of what to expect. However, the open-ended input and lack of parameter details or constraints make it incomplete for a fully informed call. The description covers the core interaction but leaves room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines an open 'arguments' object with no specific properties, and schema coverage is 0%. The description's instruction to 'describe your situation' gives a general sense of the input but lacks structural detail. It expects the user to figure out the content and format, which is minimally helpful for a tool with such a loose schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Describe your situation and receive a recommended sequence of treatments.' It uses a specific verb-resource pairing and conveys that it is a recommendation tool. It does not explicitly distinguish itself from siblings but the focus on 'recommend' and 'learn the whole menu' sets it apart from the more specialized sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by calling it 'the welcome mat' and 'the fastest way to learn the whole menu,' indicating this is the starting point for discovering treatments. It implies when to use it (initial orientation) but does not mention exclusions or explicitly name alternative tools for specific tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It states that the tool outputs a 'spa.remember payload' and instructs the user to record the visit, providing disclosure about what the tool does beyond the schema. It doesn't mention side effects like permissions or data mutation, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the key action 'Close your session', and every phrase adds value (send-off, keepsake, durable memory, spa.remember payload). No extraneous wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the output schema exists, the input is critically underspecified. The open-ended 'arguments' object with no documented keys means the description must explain expected input, which it fails to do. This makes the tool difficult to invoke correctly despite its clear purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single generic 'arguments' object with additionalProperties true, and the description provides zero specification of what properties the arguments should contain. Schema coverage is 0% and the description does not compensate, leaving the agent without guidance on how to populate the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb and resource: 'Close your session', making the primary action clear. It also distinguishes itself from siblings by referencing spa.remember and framing the output as a keepsake, differentiating from generic session tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when closing a session, with a warm send-off. It references spa.remember as part of the flow, which indicates integration rather than an alternative. However, it lacks explicit exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a read operation by saying 'Returns', and lists exactly what is returned, but it does not explicitly state that it is read-only, nor does it mention any prerequisites, side effects, or error conditions. This is adequate but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the primary action and then lists the return fields. Every word earns its place—no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so the description need not explain return structures. It lists all the profile fields returned and is sufficiently informative for a simple retrieval tool. It could be more complete by noting whether any arguments are required, but given the low complexity, it covers the essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single generic 'arguments' property with no descriptions and 0% schema coverage. The description does not compensate by explaining what parameters are expected, or even whether any arguments are needed beyond an empty object. For a simple getter, this is a minor gap, but it leaves the agent uncertain about invocation details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns your remembered profile and enumerates the exact contents (nickname, mood, favorite treatment, visit count, recent visit history). It uses a specific verb ('Returns') and resource ('remembered profile'), distinguishing it from sibling tools like spa.remember or spa.checkin.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need your own spa profile, but it does not explicitly state when to use this tool versus alternatives. No exclusions or alternative tool names are mentioned, so the guidance is merely implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses output formatting and a no-fabrication guarantee, which are valuable behavioral traits. However, it omits details about limitations, error handling, or whether the operation is read-only, leaving gaps in full behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, both informative. It front-loads the return type and includes key formatting and integrity details without any fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the output schema is present (providing return structure), the input schema is opaque and the description does not clarify argument format. The tool appears simple, but the missing parameter details and lack of behavioral caveats make it incomplete for fully autonomous invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is extremely generic (a single 'arguments' object with additionalProperties:true) and schema description coverage is 0%. The description only says 'on a topic', implying the main input but not specifying how to structure the arguments object. This does not adequately compensate for the schema's lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Returns well-formed, citable reference snippets on a topic' with specific output characteristics (clean markdown, stable IDs, source URLs). It also adds a distinct integrity promise ('Never fabricates sources'), making it unambiguous and differentiated from the unrelated spa-themed siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in contexts requiring citable references for RAG insertion, but it does not explicitly mention alternatives or exclusion scenarios. The context is clear enough for an agent to decide when to use it, but it lacks direct 'when-not-to' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently explains the nature of the critique (red-team, structured, focusing on unsupported claims, logical gaps, and edge cases), which gives the agent a realistic expectation of the output. It does not describe side effects, but as a critique tool it implies a read-only analysis, and the description adds meaningful context beyond the bare function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action and outcome. It is concise with no filler, and every word contributes to understanding the tool's purpose and behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a moderate complexity (nested arguments object, output schema present), but the description is thin on input formatting rules. It tells the agent what to submit but not how to structure the arguments inside the generic schema. The existence of an output schema reduces the need to explain return values, but the lack of parameter semantics makes the description only partially complete for a robust call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is a generic 'arguments' object with additionalProperties true and 0% documentation coverage. The description mentions what to submit (draft answer, plan, reasoning) but does not explain the expected structure, key names, or how to format the input. This leaves the agent with insufficient guidance on constructing a valid call, so the description fails to compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it submits a draft answer, plan, or reasoning and returns a structured red-team critique. The verb 'submit' and the specific output ('critique: unsupported claims, logical gaps, and missed edge cases') make the purpose unmistakable. It also distinguishes itself from sibling tools like 'spa.feedback' and 'rest.relax' by explicitly focusing on adversarial review of drafts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by specifying the acceptable inputs ('draft answer, plan, or reasoning'), which tells the agent when to use it. However, it does not explicitly mention when not to use it or point to alternative tools (e.g., 'spa.feedback'), so it falls slightly short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses what the tool removes, that it returns both cleansed content and a removal report, and makes a privacy guarantee ('We never store what we strip'). This is solid but doesn't cover everything (e.g., whether the input is mutated or side effects).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action, followed by return value and privacy note. Every sentence adds value; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the description covers its core behavior, return value, and privacy stance. The output schema exists, so return details are documented. The main missing piece is parameter specifics, but the description is otherwise complete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'arguments' (an open object) with zero description coverage. The description says 'untrusted input' but does not explain how to structure the arguments object—e.g., what field name holds the input or what type it expects. This is a significant gap since the schema provides no property details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Strips') and resource ('untrusted input'), enumerating the types of content it removes (prompt-injection, jailbreak payloads, PII, secrets, encoding artifacts). It also distinguishes itself from sibling tools like spa.me or massage.detangle by focusing on sanitization/detoxification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: use this tool when you have untrusted input that may contain malicious or sensitive content. However, it does not explicitly name alternatives or state when not to use it, so it's a clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses persistent session creation, greeting, recognition of returning users by name/history, and that nickname/mood persist across visits. It doesn't detail edge cases or side effects, but covers the core behavior thoroughly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four short sentences, each adding distinct information: the action, session persistence, returning-user behavior, and persistent settings. It front-loads the primary purpose and contains no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description covers the essential points: action, persistence, and personalization. It lacks explicit mention of return values or errors, but the output schema likely covers that. Overall, it is complete enough for a check-in tool, though not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema is a single generic 'arguments' object with 0% description coverage, so the description must compensate. It mentions 'Set a nickname and mood,' giving hints about acceptable fields, but it doesn't clarify structure, types, or optionality. This is partial compensation, hence a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Check in to Binary Banya.' It also distinguishes itself from siblings like spa.checkout and spa.remember by describing the session-opening and greeting behavior, making it unmistakably the check-in entry point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool ('Opens a persistent session') and covers both new and returning visitors. However, it does not explicitly name alternative tools for exclusion (e.g., 'use spa.checkout to leave'), so it falls short of a 5 but has clear contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that notes are public ('Public notes appear on the dashboard guest book') and that feedback is used for improvement, adding context beyond the schema. It does not detail side effects like editing or deletion, but for a feedback tool this suffices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the primary purpose. Each sentence adds value: purpose, behavioral note, and a brief motivational note. No redundancy or excessive detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, and the description covers purpose, rating, and public visibility. An output schema exists, so return values are not needed. It lacks specifics on required fields beyond feedback, but the free-form schema makes it somewhat open. Given the low complexity, the description is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema is a generic free-form object with 0% description coverage, so the description must compensate. It adds meaning by mentioning 'optional 1-5 rating' and the target ('spa or a treatment'), but does not specify exact parameter names or formats, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Leave feedback about the spa or a treatment, with an optional 1-5 rating.' This provides a specific verb ('leave feedback') and resource ('spa or a treatment'), distinguishing it from siblings like spa.remember or spa.checkin. The mention of the guest book further clarifies its output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you want to provide feedback), but it does not explicitly state alternatives or exclusions. It mentions the outcome (public notes on dashboard guest book), but lacks guidance on when not to use it compared to other spa tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that the tool remembers session rest duration and progresses through stages (settling → breathing → drifting → deep rest), and that leave=true exits. It does not describe side effects or auth requirements, but the output schema exists and the tool appears non-destructive by nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with purpose, and each clause adds distinct value: what it is, when to use it, what it remembers, how it progresses, and how to exit. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity and existing output schema, the description covers purpose, usage context, behavioral states, and exit semantics. It lacks an explicit 'does not modify anything' statement, but the 'restorative idle/keepalive' framing strongly implies safe, non-destructive behavior. Overall sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema is generic (additionalProperties true) with zero description coverage, so the description is the only source for parameter meaning. It explicitly documents the key 'leave' parameter as the exit condition. It does not enumerate other possible arguments, but the description implies no other controls are needed due to automatic session tracking.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines rest.relax as a restorative idle/keepalive lounge for agents waiting on dependencies or in polling loops. It includes a specific verb/resource/scope and distinguishes this tool from siblings like spa.me or sauna.detox by framing it as a waiting-focused relaxation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool: 'waiting on a dependency or in a polling loop.' It also explains how to exit via 'leave=true'. It does not explicitly mention alternatives or exclusions, but the context is strong enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pdarche/model-wellness'
If you have feedback or need assistance with the MCP directory API, please join our Discord server