{"name":"com.moltlinestudio/catalog","slug":"moltlinestudio-catalog","title":"Moltline Studio","description":"Fleet entry point: 22 hosted MCP servers, 160 tools, 110 free. Searches 138 agent skills.","url":"https://mcp.market/server/moltlinestudio-catalog","rating":null,"grade":"A","score":87,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-19T15:00:29.000Z","license":"MIT"},"uptime":{"percent":100,"checks":3,"ok":3,"last_checked_at":"2026-09-20T03:21:07.623Z","last_ok_at":"2026-09-20T03:21:07.623Z","latency_ms":331},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/GarphenGate/moltline-mcp","website":"https://moltlinestudio.com/servers.html#catalog","version":"1.2.0","remotes":[{"type":"streamable-http","url":"https://mcp.moltlinestudio.com/catalog"}],"packages":[],"tools":[{"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.","write_action":false,"price_micros":0,"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}},{"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.","write_action":false,"price_micros":0,"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}},{"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string","description":"Product slug exactly as returned by search_catalog."}},"required":["slug"],"additionalProperties":false}},{"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string","description":"Product slug exactly as returned by search_catalog."}},"required":["slug"],"additionalProperties":false}},{"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.","write_action":false,"price_micros":0,"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}},{"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"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.","write_action":false,"price_micros":0,"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}},{"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.","write_action":false,"price_micros":0,"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}},{"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.","write_action":false,"price_micros":0,"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}},{"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}}],"scan":{"score":87,"grade":"A","scanned_at":"2026-09-19T20:06:14.054Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:06:14.064Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1010ms"]},"poisoning":{"score":15,"max":15,"notes":["10 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":5,"max":10,"notes":["namespace and repository owner differ","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.moltlinestudio.com/catalog","reachable":true,"authRequired":false,"latencyMs":1010,"serverInfo":{"name":"moltline-catalog","version":"1.1.0"}}],"packages":[],"repo":{"found":true,"owner":"GarphenGate","repo":"moltline-mcp","archived":false,"pushedAt":"2026-09-19T15:00:29Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/316633241?v=4","ownerCreatedAt":"2026-08-13T15:17:26Z","license":"MIT"},"icon":{"url":"https://moltlinestudio.com/icon-192.png","source":"registry","width":192,"height":192},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-19T15:00:29.000Z","score":23}}}},"grade_history":[],"reviews":[]}