Moltline Studio
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Fleet entry point: 22 hosted MCP servers, 160 tools, 110 free. Searches 138 agent skills.
| Author | com.moltlinestudio |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 175 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Moltline Studio": {
"url": "https://mcp.moltlinestudio.com/catalog",
"transport": "streamable-http"
}
}
}
Measured tools (10)
search_catalogread-onlySearch 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.
Parameters:
area— string — Optional focus-area filter; one of "productivity", "developertools", "personalassistant", "creative", "industryspecific", "educational". Empty means all areas.limit— integer — Maximum results to return; values outside 1-100 are clamped. Default 15.query— string — Space-separated keywords matched against name, tagline, slug, and segment, e.g. "email inbox".
Hints: read-only yes · destructive no · idempotent yes · open-world no
preview_productread-onlyPreview 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.
Parameters:
slug(required) — string — Product slug exactly as returned by search_catalog or recommend_products, e.g. "inbox-zero-assistant".
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_free_skillread-onlyLoad 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.
Parameters:
slug(required) — string — Product slug exactly as returned by search_catalog, e.g. "inbox-zero-assistant".
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_kitsread-onlyList 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.
Hints: read-only yes · destructive no · idempotent yes · open-world no
upgrade_inforead-onlyExplain 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.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_full_personaread-onlyLoad 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.
Parameters:
slug(required) — string — Product slug exactly as returned by search_catalog.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_full_skillread-onlyLoad 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.
Parameters:
slug(required) — string — Product slug exactly as returned by search_catalog.skill_name(required) — string — Exact skill name as shown in preview_product's "skills" list for that product.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_full_productread-onlyLoad 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.
Parameters:
slug(required) — string — Product slug exactly as returned by search_catalog.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_full_kitread-onlyLoad 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.
Parameters:
slug(required) — string — Kit slug exactly as returned by list_kits, e.g. "founder-kit".
Hints: read-only yes · destructive no · idempotent yes · open-world no
recommend_productsread-onlyRecommend 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.
Parameters:
need(required) — string — The job or problem in plain language, a few words or a sentence, e.g. "help answering customer support emails".limit— integer — Maximum recommendations; values outside 1-10 are clamped. Default 5.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.