Moltline Studio

Fleet entry point: 22 hosted MCP servers, 160 tools, 110 free. Searches 138 agent skills.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
85%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,064Tokens (tool definitions)
~909 BTypical response size
Significant attention impact (2.39% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "catalog": {
      "url": "https://mcp.moltlinestudio.com/catalog"
    }
  }
}

Remote endpoints

https://mcp.moltlinestudio.com/catalogstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_catalog(query, area, limit)

Search all 138 catalog products by keyword and/or focus area. FREE. Typical input {"query": "email inbox", "limit": 5} returns a ranked list of product objects [{"slug": ..., "name": ..., "area": ..., "segment": ..., "tagline": ...}]. An empty query with an area set browses that area. Use when the caller names a keyword, product, or focus area to look up. Not for bundles (list_kits) and not for plain-language problem statements, which recommend_products ranks by fit rather than keyword match. 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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "default": "",
      "type": "string",
      "description": "Space-separated keywords matched against name, tagline, slug,\nand segment, e.g. \"email inbox\"."
    },
    "area": {
      "default": "",
      "type": "string",
      "description": "Optional focus-area filter; one of \"productivity\",\n\"developertools\", \"personalassistant\", \"creative\",\n\"industryspecific\", \"educational\". Empty means all areas."
    },
    "limit": {
      "default": 15,
      "type": "integer",
      "description": "Maximum results to return; values outside 1-100 are clamped.\nDefault 15."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢preview_product(slug)

Preview one product: metadata, persona teaser, and paid-skill teasers. FREE. Typical input {"slug": "inbox-zero-assistant"} returns {"slug": ..., "name": ..., "tagline": ..., "persona_preview": ..., "skills": [{"name": ..., "preview": ...}], "free_skill": ..., "note": ...}. Returns teasers only, never full text. Use to judge a product before committing. Not for the complete persona or skill bodies (get_full_persona, get_full_product), and not when the caller wants instructions they can act on now (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>"} (for example {"error": "unknown slug '<value>'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Product slug exactly as returned by search_catalog or\nrecommend_products, e.g. \"inbox-zero-assistant\"."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_free_skill(slug)

Load a product's free gateway skill with its complete instructions. FREE. Typical input {"slug": "inbox-zero-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>'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Product slug exactly as returned by search_catalog,\ne.g. \"inbox-zero-assistant\"."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢list_kits

List the 12 themed kits with pricing and member products. FREE. Takes no arguments. Returns a list of kit objects, each {"slug": ..., "name": ..., "price_usd": N, "tagline": ..., "members": ["product-slug", ...], "availability": ...}. Use a kit's slug with get_full_kit (premium). Kits are not sold standalone on any marketplace: price_usd is the bundle's reference value, and All-Access is how a caller actually unlocks one. Use when the caller asks about bundles or bundle pricing. Not for individual products (search_catalog) and not for a kit's full contents (get_full_kit). 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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢upgrade_info

Explain how to unlock full personas, paid skills, and kits. FREE. Takes no arguments. Returns {"message": ..., "how": ..., "free_tier": ...} describing the upgrade path and what stays free. Use when a premium tool has been refused or the caller asks what a plan covers. Not for per-bundle or per-product pricing (list_kits, preview_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>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_full_persona(slug)

Load a product's complete persona definition. PREMIUM (paid plan). Typical input {"slug": "inbox-zero-assistant"} returns {"slug": ..., "persona": "<full persona text>"}. Returns the persona text alone, with no skill bodies. Use when the caller needs the product's voice and operating rules only. Not when skills are also wanted - get_full_product returns persona and every skill in one call. 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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Product slug exactly as returned by search_catalog."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_full_skill(slug, skill_name)

Load one paid skill's complete instructions from a product. PREMIUM (paid plan). Typical input {"slug": "inbox-zero-assistant", "skill_name": "Deep Triage"} returns {"slug": ..., "skill": ..., "instructions": "<full skill text>"}. Returns one named skill, selected by skill_name. Use after preview_product has shown the skill list and 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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Product slug exactly as returned by search_catalog."
    },
    "skill_name": {
      "type": "string",
      "description": "Exact skill name as shown in preview_product's \"skills\"\nlist for that product."
    }
  },
  "required": [
    "slug",
    "skill_name"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_full_product(slug)

Load one product in full: persona plus every skill's instructions. PREMIUM (paid plan). Typical input {"slug": "inbox-zero-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 bundle of products (get_full_kit). 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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Product slug exactly as returned by search_catalog."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_full_kit(slug)

Load a themed kit and every member product in full. PREMIUM (paid plan). Typical input {"slug": "founder-kit"} returns {"slug": ..., "name": ..., "products": [{"slug": ..., "name": ..., "persona": ..., "skills": [...]}, ...]}. Returns every member product of one bundle in full, so the payload is large. Use only after list_kits has confirmed the kit slug. Not for a single product (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 kit '<value>'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Kit slug exactly as returned by list_kits, e.g. \"founder-kit\"."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢recommend_products(need, limit)

Recommend catalog products for a need described in plain language. FREE. Typical input {"need": "help answering customer support emails"} returns {"need": ..., "recommendations": [{"slug": ..., "name": ..., "why": ..., "area": ..., "try_free": "<free skill name>"}], "next": "..."}. Use when the caller describes a problem instead of naming a product; ranking is by fit to the described need. Not for exact keyword or slug lookups (search_catalog). 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.

Input Schema

{
  "type": "object",
  "properties": {
    "need": {
      "type": "string",
      "description": "The job or problem in plain language, a few words or a\nsentence, e.g. \"help answering customer support emails\"."
    },
    "limit": {
      "default": 5,
      "type": "integer",
      "description": "Maximum recommendations; values outside 1-10 are clamped.\nDefault 5."
    }
  },
  "required": [
    "need"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools
verifiedversion not recorded10 tools
verifiedversion not recorded10 tools