{"name":"moltline-catalog","description":"Moltline Studio's catalog of 138 OpenClaw personas & skills and 12 kits. Free: search_catalog, preview_product, get_free_skill, list_kits, upgrade_info. Premium (paid plan): get_full_persona, get_full_skill, get_full_product, get_full_kit.","url":"https://mcp.moltlinestudio.com/catalog","transport":"streamable-http","homepage":"https://moltlinestudio.com/servers.html","serverInfo":{"name":"moltline-catalog","version":"1.1.0"},"toolCounts":{"total":10,"free":6,"premium":4},"protocolVersion":"2025-11-25","protocolVersions":["2024-11-05","2025-03-26","2025-06-18","2025-11-25"],"pricing":{"freeTier":{"tools":6,"price":"0","currency":"USD","description":"Free forever. No account, no registration and no credentials are required to call them."},"details":"https://moltlinestudio.com/.well-known/pricing","terms":"https://moltlinestudio.com/terms.html","agentPayment":{"protocol":"x402","resource":"https://moltlinestudio.com/api","network":"eip155:8453","asset":"USDC","amount":"19000000","discovery":"https://moltlinestudio.com/.well-known/x402","description":"GET or POST the resource to receive an HTTP 402 carrying a machine-readable payment demand; retry with the transaction hash in the X-PAYMENT header and the licence key is returned in the response."},"premium":{"tools":4,"plan":"All-Access","price":"19.00","currency":"USD","period":"month","description":"One licence key unlocks the premium tools on every Moltline server. Billed monthly, cancellable at any time.","purchaseUrl":"https://moltlinestudio.com/#allaccess"}},"authentication":{"required":false},"tools":[{"name":"search_catalog","description":"Search all 138 catalog products by keyword and/or focus area. FREE.\n\nTypical input {\"query\": \"email inbox\", \"limit\": 5} returns a ranked list\nof product objects [{\"slug\": ..., \"name\": ..., \"area\": ..., \"segment\":\n..., \"tagline\": ...}]. An empty query with an area set browses that area.\n\nUse when the caller names a keyword, product, or focus area to look up.\nNot for bundles (list_kits) and not for plain-language problem statements,\nwhich 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.","tier":"free","inputSchema":{"additionalProperties":false,"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."}},"type":"object"}},{"name":"preview_product","description":"Preview one product: metadata, persona teaser, and paid-skill teasers. FREE.\n\nTypical input {\"slug\": \"inbox-zero-assistant\"} returns {\"slug\": ...,\n\"name\": ..., \"tagline\": ..., \"persona_preview\": ..., \"skills\":\n[{\"name\": ..., \"preview\": ...}], \"free_skill\": ..., \"note\": ...}.\n\nReturns teasers only, never full text. Use to judge a product before\ncommitting. Not for the complete persona or skill bodies\n(get_full_persona, get_full_product), and not when the caller wants\ninstructions 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.","tier":"free","inputSchema":{"additionalProperties":false,"properties":{"slug":{"type":"string","description":"Product slug exactly as returned by search_catalog or\nrecommend_products, e.g. \"inbox-zero-assistant\"."}},"required":["slug"],"type":"object"}},{"name":"get_free_skill","description":"Load a product's free gateway skill with its complete instructions. FREE.\n\nTypical input {\"slug\": \"inbox-zero-assistant\"} returns {\"slug\": ...,\n\"skill\": \"<skill name>\", \"instructions\": \"<full skill text>\"}.\n\nReturns exactly one skill - the product's free gateway skill - chosen\nautomatically from the slug, with no plan required. Use when the caller\nwants usable instructions immediately. Not for the product's other skills:\nthose are named and need get_full_skill with a skill_name, which requires\na 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.","tier":"free","inputSchema":{"additionalProperties":false,"properties":{"slug":{"type":"string","description":"Product slug exactly as returned by search_catalog,\ne.g. \"inbox-zero-assistant\"."}},"required":["slug"],"type":"object"}},{"name":"list_kits","description":"List the 12 themed kits with pricing and member products. FREE.\n\nTakes no arguments. Returns a list of kit objects, each {\"slug\": ...,\n\"name\": ..., \"price_usd\": N, \"tagline\": ..., \"members\": [\"product-slug\",\n...], \"availability\": ...}. Use a kit's slug with get_full_kit (premium).\nKits are not sold standalone on any marketplace: price_usd is the bundle's\nreference value, and All-Access is how a caller actually unlocks one.\n\nUse when the caller asks about bundles or bundle pricing. Not for\nindividual products (search_catalog) and not for a kit's full contents\n(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.","tier":"free","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"}},{"name":"upgrade_info","description":"Explain how to unlock full personas, paid skills, and kits. FREE.\n\nTakes no arguments. Returns {\"message\": ..., \"how\": ..., \"free_tier\":\n...} describing the upgrade path and what stays free.\n\nUse when a premium tool has been refused or the caller asks what a plan\ncovers. Not for per-bundle or per-product pricing (list_kits,\npreview_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.","tier":"free","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"}},{"name":"get_full_persona","description":"Load a product's complete persona definition. PREMIUM (paid plan).\n\nTypical input {\"slug\": \"inbox-zero-assistant\"} returns {\"slug\": ...,\n\"persona\": \"<full persona text>\"}.\n\nReturns the persona text alone, with no skill bodies. Use when the caller\nneeds the product's voice and operating rules only. Not when skills are\nalso wanted - get_full_product returns persona and every skill in one\ncall. 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.","tier":"premium","inputSchema":{"additionalProperties":false,"properties":{"slug":{"type":"string","description":"Product slug exactly as returned by search_catalog."}},"required":["slug"],"type":"object"}},{"name":"get_full_skill","description":"Load one paid skill's complete instructions from a product. PREMIUM (paid plan).\n\nTypical input {\"slug\": \"inbox-zero-assistant\", \"skill_name\": \"Deep\nTriage\"} returns {\"slug\": ..., \"skill\": ..., \"instructions\": \"<full\nskill text>\"}.\n\nReturns one named skill, selected by skill_name. Use after preview_product\nhas shown the skill list and the caller wants one specific paid skill. Not\nfor the free gateway skill, which get_free_skill returns with no plan, and\nnot 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.","tier":"premium","inputSchema":{"additionalProperties":false,"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"],"type":"object"}},{"name":"get_full_product","description":"Load one product in full: persona plus every skill's instructions. PREMIUM (paid plan).\n\nTypical input {\"slug\": \"inbox-zero-assistant\"} returns {\"slug\": ...,\n\"name\": ..., \"persona\": ..., \"skills\": [{\"name\": ..., \"instructions\":\n...}], \"free_skill\": {...}}.\n\nReturns persona plus every skill for one product. Use when the caller\nwants the whole product. Not for a single skill (get_full_skill) and not\nfor 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.","tier":"premium","inputSchema":{"additionalProperties":false,"properties":{"slug":{"type":"string","description":"Product slug exactly as returned by search_catalog."}},"required":["slug"],"type":"object"}},{"name":"get_full_kit","description":"Load a themed kit and every member product in full. PREMIUM (paid plan).\n\nTypical input {\"slug\": \"founder-kit\"} returns {\"slug\": ..., \"name\": ...,\n\"products\": [{\"slug\": ..., \"name\": ..., \"persona\": ..., \"skills\":\n[...]}, ...]}.\n\nReturns every member product of one bundle in full, so the payload is\nlarge. Use only after list_kits has confirmed the kit slug. Not for a\nsingle 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.","tier":"premium","inputSchema":{"additionalProperties":false,"properties":{"slug":{"type":"string","description":"Kit slug exactly as returned by list_kits, e.g. \"founder-kit\"."}},"required":["slug"],"type":"object"}},{"name":"recommend_products","description":"Recommend catalog products for a need described in plain language. FREE.\n\nTypical input {\"need\": \"help answering customer support emails\"} returns\n{\"need\": ..., \"recommendations\": [{\"slug\": ..., \"name\": ..., \"why\": ...,\n\"area\": ..., \"try_free\": \"<free skill name>\"}], \"next\": \"...\"}.\n\nUse when the caller describes a problem instead of naming a product;\nranking is by fit to the described need. Not for exact keyword or slug\nlookups (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.","tier":"free","inputSchema":{"additionalProperties":false,"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"],"type":"object"}}],"resources":[],"prompts":[]}