Skip to main content
Glama

Moltline Personal Suite

Server Details

20 inbox, calendar, travel, meals and family-logistics skill products. 7 of 9 free.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Server Listing
moltline-mcp

Available Tools

9 tools
budget_splitBudget SplitA
Read-onlyIdempotent
Inspect

Split monthly income into needs/wants/savings buckets with weekly equivalents. FREE.

Defaults to the 50/30/20 rule, fully customizable. Typical input {"monthly_income": 4000} returns {"needs": {"pct": 50, "monthly": 2000.0, "weekly": 461.54}, "wants": {...}, "savings": {...}, "note": "..."}.

Use when monthly income needs allocating across buckets. Not for how long a target takes to reach (savings_goal). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "monthly_income must be > 0"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
needs_pctNoPercentage for needs; all three percentages must sum to 100. Default 50.
wants_pctNoPercentage for wants. Default 30.
savings_pctNoPercentage for savings. Default 20.
monthly_incomeYesTake-home monthly income; must be greater than 0.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces these by stating 'Every call is read-only and idempotent, so after correcting the input it is always safe to retry.' It also adds the error return behavior, which is not covered by annotations. The mention of 'FREE' is extraneous, but overall the description adds meaningful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is approximately 120 words, highly focused, and front-loaded. The first sentence states the primary purpose. Each subsequent sentence adds distinct value: defaults, example, usage guidance, error handling, and safety. No redundant or unnecessary wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, 1 required, full schema coverage, output schema present, rich annotations), the description covers purpose, usage differentiation, error behavior, idempotency, and provides a concrete example. It addresses all key aspects an agent needs to correctly invoke the tool, leaving no obvious gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema already documents all parameters with descriptions and defaults. The description adds a typical input example and mentions the '50/30/20 rule', which provides context but does not significantly enhance understanding beyond what the schema already provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'split' and the resource 'monthly income', and provides a concrete example of the output format. It also explicitly distinguishes itself from the sibling tool 'savings_goal' by stating 'Not for how long a target takes to reach (savings_goal)'. This leaves no ambiguity about the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use the tool ('Use when monthly income needs allocating across buckets') and when not to use it, naming the specific alternative ('savings_goal'). It also provides error handling guidance, stating that the tool never raises protocol errors but returns a structured error object, which helps the agent decide to retry after correcting input.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

countdown_daysCountdown DaysA
Read-onlyIdempotent
Inspect

Count the days until each named event, soonest first. FREE.

Typical input {"events": {"Launch": "2026-10-01", "Trip": "2026-09-05"}} returns {"today": "YYYY-MM-DD", "events": [{"event": "Trip", "date": "2026-09-05", "days_away": 20}, ...]}; a bad date gets a per-event error entry instead of failing the whole call.

Use to rank named dates by how soon they arrive. Not for working-day math, which the timeops server's business_days handles, and not for building a review schedule (spaced_repetition_plan). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventsYesMapping of event name to ISO date YYYY-MM-DD, e.g. {"Launch": "2026-10-01"}. The first 30 events are used.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds value by stating 'Every call is read-only and idempotent' and detailing error behavior: 'a bad date gets a per-event error entry' and 'on invalid input never raises a protocol error — it returns an error message'. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a one-line purpose, a typical input/output example, usage guidelines, and error handling. Every sentence adds value, and it is concise without being overly long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter and the presence of an output schema, the description covers input format, output format with sample, error handling, limit of 30 events, and comparisons to sibling tools. It is fully complete for the agent to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema description already includes the limit of 30 events. The description goes further by providing a concrete input/output example, clarifying the return format with per-event error entries, and explaining the error structure. This adds significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Count the days until each named event, soonest first.' It gives a typical input/output example and explicitly distinguishes from siblings like 'business_days' and 'spaced_repetition_plan', making the tool's specific purpose clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'Use to rank named dates by how soon they arrive' and provides exclusions: 'Not for working-day math...' and 'not for building a review schedule...', naming alternatives. It also explains error handling behavior, guiding the agent on when and how to use the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_free_skillGet Free SkillA
Read-onlyIdempotent
Inspect

Load a product's free gateway skill with its complete instructions. FREE.

Typical input {"slug": "inbox-assistant"} returns {"slug": ..., "skill": "", "instructions": ""}.

Returns exactly one skill - the product's free gateway skill - chosen automatically from the slug, with no plan required. Use when the caller wants usable instructions immediately. Not for the product's other skills: those are named and need get_full_skill with a skill_name, which requires a paid plan. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "unknown slug ''. Use list_products."}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesProduct slug exactly as returned by list_products, e.g. "inbox-assistant".

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable context beyond these: it explains that the tool never raises protocol errors but returns an error object with fix guidance, that it always returns exactly one skill chosen automatically, and that every call is read-only and idempotent. There is no contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured in three paragraphs: purpose (with example), sibling distinction, and error/behavioral details. Every sentence earns its place. A slight reduction from 5 because the example could be integrated more tersely, but overall concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (indicated by context signals), the description does not need to detail return fields. It adequately covers the return shape (slug, skill, instructions), error format, usage boundaries, and safety. For a single-parameter tool with full annotations and an output schema, the description is fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter with a clear description). The description adds a typical input example but does not provide additional semantic constraints or format details beyond what the schema already includes. Baseline score of 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb-resource pairs: 'Load a product's free gateway skill with its complete instructions.' It clearly identifies the tool's unique scope (free gateway skill) and distinguishes it from the sibling get_full_skill by stating 'Not for the product's other skills: those are named and need get_full_skill with a skill_name, which requires a paid plan.' The example further clarifies the return structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use ('Use when the caller wants usable instructions immediately.') and when not to use ('Not for the product's other skills'), naming the alternative tool (get_full_skill) and its prerequisites (paid plan). It also explains error handling and retry safety, guiding the agent on correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_full_productGet Full ProductA
Read-onlyIdempotent
Inspect

Load one product in full: its persona plus every paid skill. PREMIUM (license).

Typical input {"slug": "inbox-assistant"} returns {"slug": ..., "name": ..., "persona": "", "skills": [{"name": ..., "instructions": ...}, ...], "free_skill": {...}}.

Returns persona plus every skill for one product. Use when the caller wants the whole product. Not for a single skill (get_full_skill) and not for a free look, which list_products and get_free_skill provide with no plan. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "unknown slug ''"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesProduct slug exactly as returned by list_products, e.g. "inbox-assistant".

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, idempotentHint), the description discloses error handling behavior: 'on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ...}.' It also mentions the 'PREMIUM (license)' prerequisite, adding useful context without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, front-loading the core purpose, then providing a concrete example, usage guidance, error handling, and idempotency note. It is efficient, though a few phrases could be trimmed without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (one parameter, comprehensive annotations, output schema exists), the description covers purpose, usage, errors, and idempotency. The mention of 'PREMIUM (license)' is brief but sufficient for context. Overall, it provides enough information for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the 'slug' parameter with high coverage (100%). The description adds a typical input example and shows the output shape, but does not significantly extend the semantic meaning of the parameter itself. Baseline 3 is appropriate as schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Load one product in full: its persona plus every paid skill.' It uses a specific verb ('load') and resource ('product'), and explicitly distinguishes from sibling tools like get_full_skill and get_free_skill, making its scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Use when the caller wants the whole product.' It also specifies when not to use it, naming alternative tools: 'Not for a single skill (get_full_skill) and not for a free look, which list_products and get_free_skill provide with no plan.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_full_skillGet Full SkillA
Read-onlyIdempotent
Inspect

Load one paid skill's complete instructions from a product. PREMIUM (license).

Typical input {"slug": "inbox-assistant", "skill_name": "Zero Sweep"} returns {"slug": ..., "skill": ..., "instructions": ""}.

Returns one named skill, selected by skill_name. Use when the caller wants one specific paid skill. Not for the free gateway skill, which get_free_skill returns with no plan, and not for every skill at once (get_full_product). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "unknown slug ''"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesProduct slug exactly as returned by list_products.
skill_nameYesExact skill name as listed in that product's "skills" array from list_products.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnlyHint, idempotentHint, and destructiveHint. The description adds that the tool returns an error object instead of raising protocol errors, and confirms idempotency and retry safety. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: first sentence states purpose, then example, then usage guidance, then error behavior, then safety note. It is concise, front-loaded, and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description covers purpose, usage, error handling, and safety. It is fully complete for a read-only, idempotent tool with clear error responses.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters are fully described in the schema (100% coverage). The description adds an example with specific values, explains constraints (slug from list_products, skill_name from skills array), and provides error handling context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Load' and the resource 'one paid skill's complete instructions from a product'. It differentiates from siblings by explicitly naming get_free_skill and get_full_product, and provides an example input/output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use when the caller wants one specific paid skill' and 'Not for the free gateway skill... not for every skill at once'. It also covers error handling and retry safety.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_productsList ProductsA
Read-onlyIdempotent
Inspect

List every product in the Personal Suite line with its included skills. FREE.

Takes no arguments. Returns a list of 20 product objects, each {"slug": "inbox-assistant", "name": ..., "tagline": ..., "skills": ["Skill A", ...], "free_skill": "Gateway Skill Name"}. Use the returned slug values with get_free_skill, get_full_product, or get_full_skill.

Returns metadata only - no persona text and no skill instructions. Use when the caller wants to see what this server covers. Not for keyword search across the whole 138-product catalog, which the catalog server's search_catalog does, and not for instructions the caller can act on (get_free_skill). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds significant context beyond annotations: confirms read-only and idempotent nature (matching annotations), specifies that it returns metadata only (no persona or skill instructions), and explicitly describes error handling behavior (never raises protocol error, returns error object). This goes beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is several sentences long but every sentence adds value: purpose, input, output structure, use cases, exclusions, error handling. It is front-loaded with the primary purpose and free status. Slightly longer than strictly necessary, but highly informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, strong annotations, and the presence of an output schema, the description covers everything an agent needs: what the tool returns, how to use the returned data, when to call it, and error behavior. It is fully complete for decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the description explicitly states 'Takes no arguments.' With no parameters to document, the baseline is 4, and the description handles it appropriately without needing to add param details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'every product in the Personal Suite line with its included skills'. It distinguishes from sibling tools like get_free_skill, get_full_product, and get_full_skill by noting that this tool returns only metadata and is for overview, not details or instructions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('Use when the caller wants to see what this server covers') and when not to use ('Not for keyword search... search_catalog' and 'not for instructions... get_free_skill'). Provides clear exclusions and alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

savings_goalSavings GoalA
Read-onlyIdempotent
Inspect

Compute months to reach a savings target at a monthly contribution. FREE.

Optionally compounds interest monthly. Administrative math only — not financial advice. Typical input {"target": 10000, "monthly_saving": 400, "annual_rate_pct": 4} returns {"months": 24, "years": 2.0, "final_balance": 10021.94, "interest_earned": 421.94, "note": "..."}.

Use when a target amount and a monthly contribution are known. Not for allocating income across categories (budget_split) and not for loan repayment, which the business server's loan_payment computes. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "target and monthly_saving must be > 0"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesThe savings goal; must be greater than 0.
monthly_savingYesContribution per month; must be greater than 0.
annual_rate_pctNoAnnual interest rate percentage, 0 to 100, compounded monthly. Default 0.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, idempotentHint), the description adds behavioral details: error handling ('never raises a protocol error — returns error object'), safety of retry, and the disclaimer that it is 'administrative math only — not financial advice.' This provides rich context that annotations alone do not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact (approx. 150 words) and well-structured: purpose, optional feature, example, usage guidance, error handling, idempotency. Every sentence serves a clear purpose. It is front-loaded with the main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 parameters, output schema exists), the description covers all needed aspects: input requirements, output format (via example), error behavior, idempotency, and differentiation from siblings. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description includes a typical example and mentions optional compounding, but does not add semantic meaning to the parameters beyond what the schema already provides (e.g., target >0, monthly_saving >0, annual_rate_pct 0-100). The example is helpful but not a semantic enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a clear verb+resource: 'Compute months to reach a savings target at a monthly contribution.' It explicitly distinguishes itself from sibling tools budget_split and loan_payment, making the tool's unique scope evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Use when a target amount and a monthly contribution are known.' It also clearly states what not to use it for (income allocation, loan repayment) and names the alternative tools (budget_split, loan_payment), giving the agent strong decision-making context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spaced_repetition_planSpaced Repetition PlanA
Read-onlyIdempotent
Inspect

Build a spaced-repetition review schedule with expanding intervals. FREE.

Intervals follow 1, 3, 7, 14, 30, 60, 120, 240 days. Typical input {"start_date": "2026-09-01", "sessions": 4} returns {"start": "2026-09-01", "reviews": [{"session": 1, "day_offset": 1, "date": "2026-09-02"}, ...]}.

Use when material must be reviewed on expanding intervals. Not for timing a single session, which the educator server's lesson_timer handles. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "start_date must be YYYY-MM-DD"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionsNoNumber of review sessions; values outside 1-8 are clamped. Default 6.
start_dateYesThe day you learned the material, ISO YYYY-MM-DD.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by detailing the error behavior ('never raises a protocol error'), the exact interval schedule, and the return format. It confirms the readOnlyHint and idempotentHint annotations with plain language, and adds that it's safe to retry after correction. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a short opening, a code example, usage rules, and error handling. Every sentence adds value, but there is minor redundancy (e.g., the interval list and example overlap slightly). It could be trimmed slightly without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 params, simple output), the description fully covers purpose, usage, parameters, errors, and idempotency. The output schema exists, so the description doesn't need to detail return values. The combination of description, annotations, and schema is complete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers both parameters with descriptions and defaults, so the baseline is 3. The description adds value by showing a concrete example input and output (e.g., 'sessions': 4 returns 4 review dates), and hints at clamping behavior. However, it does not fully explain the 'sessions' default or clamping range beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool builds a spaced-repetition review schedule with expanding intervals, which is a specific verb+resource combination. It distinguishes itself from siblings by providing explicit interval details and a usage example, and none of the sibling tools appear to overlap with this functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use it ('material must be reviewed on expanding intervals') and when not to ('not for timing a single session'), and names the alternative tool ('lesson_timer'). It also provides guidance on error handling and retry behavior, making usage boundaries exceptionally clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tip_splitTip SplitA
Read-onlyIdempotent
Inspect

Compute the tip and per-person split for a bill. FREE.

Typical input {"bill": 86.40, "tip_pct": 20, "people": 4} returns {"tip": 17.28, "total": 103.68, "per_person": 25.92}.

Use for one bill shared among a group. Not for recurring household budgeting (budget_split). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "bill must be > 0 and people >= 1"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
billYesThe pre-tip bill amount; must be greater than 0.
peopleNoHow many people split the total; at least 1. Default 1.
tip_pctNoTip percentage, 0 to 100. Default 18.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces these with 'Every call is read-only and idempotent' and adds critical behavioral context about error handling: 'on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}.' This goes beyond annotations to inform the agent about error recovery. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and each sentence adds value: purpose, example, usage guidance, and error behavior. It is slightly longer than necessary due to the example and the standalone 'FREE.' line, which is somewhat distracting but doesn't harm clarity. Overall, it is concise and front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters (1 required), full schema coverage, annotations, and an output schema (evidenced by the example), the description is complete. It covers purpose, usage boundaries, error handling, safety profile, and example output. Nothing critical is missing for an agent to correctly select and invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for each parameter. The description adds a concrete example showing typical input and output ('Typical input {"bill": 86.40, ...} returns {"tip": 17.28, ...}'), which helps the agent understand how parameters map to results, providing meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with 'Compute the tip and per-person split for a bill,' which clearly states the verb and resource. It explicitly distinguishes from the sibling tool 'budget_split' by saying 'Not for recurring household budgeting (budget_split).' This meets the highest criteria for specificity and differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'Use for one bill shared among a group. Not for recurring household budgeting (budget_split).' This tells the agent exactly when to use this tool and when to use the alternative, satisfying the requirements for when-to-use and when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updates
    • First observedbudget_split
    • First observedcountdown_days
    • First observedget_free_skill
    • First observedget_full_product
    • First observedget_full_skill
    • First observedlist_products
    • First observedsavings_goal
    • First observedspaced_repetition_plan
    • First observedtip_split

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Turn any calendar, contact book, or task list into an AI-orchestrated system. Platform-independent via CalDAV/CardDAV works with Nextcloud, Baikal, Fastmail, and any standards-compliant DAV server. 26 tools with field-agnostic updates.
    27
    213
    31
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation4/5

Most tools target distinct purposes (budgeting, counting days, skills, finances, scheduling, bill splitting). However, budget_split and savings_goal both deal with personal finance and could be confused by an agent, though their descriptions clarify the difference. Also, get_free_skill, get_full_skill, and get_full_product are related but clearly distinguished by access level and scope.

Naming Consistency4/5

Tool names use a consistent snake_case verb_noun pattern (e.g., budget_split, countdown_days, savings_goal). The only minor deviation is that some verbs are adjectives (free, full) rather than actions, but the pattern is still predictable and readable.

Tool Count5/5

With 9 tools, the set is well-scoped for a personal finance and productivity assistant. Each tool addresses a distinct, useful function without overwhelming the agent or leaving trivial gaps.

Completeness4/5

The tool surface covers key personal tasks: budgeting, savings goals, event countdowns, spaced repetition, bill splitting, and product exploration. A minor gap is the lack of a tool for expense tracking or recurring bills, but the domain is well-covered for the stated purpose.

Resources