Moltline Personal Suite
20 inbox, calendar, travel, meals and family-logistics skill products. 7 of 9 free.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"personal": {
"url": "https://mcp.moltlinestudio.com/personal"
}
}
}Remote-Endpunkte
https://mcp.moltlinestudio.com/personalstreamable-httpWas es kann
Tool-Inventar
Tools (9)
🟢list_products
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": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"required": [
"result"
],
"x-fastmcp-wrap-result": true
}🟢get_free_skill(slug)
Load a product's free gateway skill with its complete instructions. FREE. Typical input {"slug": "inbox-assistant"} returns {"slug": ..., "skill": "<skill name>", "instructions": "<full skill text>"}. 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": "<what is wrong and how to fix it>"} (for example {"error": "unknown slug '<value>'. Use list_products."}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Product slug exactly as returned by list_products,\ne.g. \"inbox-assistant\"."
}
},
"required": [
"slug"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢budget_split(monthly_income, needs_pct, wants_pct, savings_pct)
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": "<what is wrong and how to fix it>"} (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.
Eingabe-Schema
{
"type": "object",
"properties": {
"monthly_income": {
"exclusiveMinimum": 0,
"type": "number",
"description": "Take-home monthly income; must be greater than 0."
},
"needs_pct": {
"default": 50,
"type": "number",
"description": "Percentage for needs; all three percentages must sum to\n100. Default 50."
},
"wants_pct": {
"default": 30,
"type": "number",
"description": "Percentage for wants. Default 30."
},
"savings_pct": {
"default": 20,
"type": "number",
"description": "Percentage for savings. Default 20."
}
},
"required": [
"monthly_income"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢spaced_repetition_plan(start_date, sessions)
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": "<what is wrong and how to fix it>"} (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.
Eingabe-Schema
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "The day you learned the material, ISO YYYY-MM-DD."
},
"sessions": {
"default": 6,
"type": "integer",
"description": "Number of review sessions; values outside 1-8 are\nclamped. Default 6."
}
},
"required": [
"start_date"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢get_full_product(slug)
Load one product in full: its persona plus every paid skill. PREMIUM (license). Typical input {"slug": "inbox-assistant"} returns {"slug": ..., "name": ..., "persona": "<persona text>", "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": "<what is wrong and how to fix it>"} (for example {"error": "unknown slug '<value>'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Product slug exactly as returned by list_products,\ne.g. \"inbox-assistant\"."
}
},
"required": [
"slug"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢get_full_skill(slug, skill_name)
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": "<full skill text>"}. 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": "<what is wrong and how to fix it>"} (for example {"error": "unknown slug '<value>'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Product slug exactly as returned by list_products."
},
"skill_name": {
"type": "string",
"description": "Exact skill name as listed in that product's \"skills\"\narray from list_products."
}
},
"required": [
"slug",
"skill_name"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢savings_goal(target, monthly_saving, annual_rate_pct)
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": "<what is wrong and how to fix it>"} (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.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"exclusiveMinimum": 0,
"type": "number",
"description": "The savings goal; must be greater than 0."
},
"monthly_saving": {
"exclusiveMinimum": 0,
"type": "number",
"description": "Contribution per month; must be greater than 0."
},
"annual_rate_pct": {
"default": 0,
"maximum": 100,
"minimum": 0,
"type": "number",
"description": "Annual interest rate percentage, 0 to 100,\ncompounded monthly. Default 0."
}
},
"required": [
"target",
"monthly_saving"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢tip_split(bill, tip_pct, people)
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": "<what is wrong and how to fix it>"} (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.
Eingabe-Schema
{
"type": "object",
"properties": {
"bill": {
"exclusiveMinimum": 0,
"type": "number",
"description": "The pre-tip bill amount; must be greater than 0."
},
"tip_pct": {
"default": 18,
"maximum": 100,
"minimum": 0,
"type": "number",
"description": "Tip percentage, 0 to 100. Default 18."
},
"people": {
"default": 1,
"minimum": 1,
"type": "integer",
"description": "How many people split the total; at least 1. Default 1."
}
},
"required": [
"bill"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢countdown_days(events)
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": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"events": {
"additionalProperties": true,
"type": "object",
"description": "Mapping of event name to ISO date YYYY-MM-DD, e.g.\n{\"Launch\": \"2026-10-01\"}. The first 30 events are used."
}
},
"required": [
"events"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}Community
Nachweis