Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 1 min ago
teppi

Server definition

Hash
sha256:fee4de1435cd9b4427daaf46735ed388c27b5c88d0fab7b1ab06796a37501a45
What it is
What a remote MCP server returned when asked what it offers: 10 tools

The blob, as servednamed by its sha256

{ "instructions": "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.", "tools": [ { "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.", "inputSchema": { "additionalProperties": false, "properties": { "slug": { "description": "Product slug exactly as returned by search_catalog,\ne.g. \"inbox-zero-assistant\".", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_free_skill", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "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.", "inputSchema": { "additionalProperties": false, "properties": { "slug": { "description": "Kit slug exactly as returned by list_kits, e.g. \"founder-kit\".", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_full_kit", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "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.", "inputSchema": { "additionalProperties": false, "properties": { "slug": { "description": "Product slug exactly as returned by search_catalog.", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_full_persona", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "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.", "inputSchema": { "additionalProperties": false, "properties": { "slug": { "description": "Product slug exactly as returned by search_catalog.", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_full_product", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "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.", "inputSchema": { "additionalProperties": false, "properties": { "skill_name": { "description": "Exact skill name as shown in preview_product's \"skills\"\nlist for that product.", "type": "string" }, "slug": { "description": "Product slug exactly as returned by search_catalog.", "type": "string" } }, "required": [ "slug", "skill_name" ], "type": "object" }, "name": "get_full_skill", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "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.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_kits", "outputSchema": { "properties": { "result": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" } }, "required": [ "result" ], "type": "object", "x-fastmcp-wrap-result": true } }, { "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.", "inputSchema": { "additionalProperties": false, "properties": { "slug": { "description": "Product slug exactly as returned by search_catalog or\nrecommend_products, e.g. \"inbox-zero-assistant\".", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "preview_product", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "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.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 5, "description": "Maximum recommendations; values outside 1-10 are clamped.\nDefault 5.", "type": "integer" }, "need": { "description": "The job or problem in plain language, a few words or a\nsentence, e.g. \"help answering customer support emails\".", "type": "string" } }, "required": [ "need" ], "type": "object" }, "name": "recommend_products", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "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.", "inputSchema": { "additionalProperties": false, "properties": { "area": { "default": "", "description": "Optional focus-area filter; one of \"productivity\",\n\"developertools\", \"personalassistant\", \"creative\",\n\"industryspecific\", \"educational\". Empty means all areas.", "type": "string" }, "limit": { "default": 15, "description": "Maximum results to return; values outside 1-100 are clamped.\nDefault 15.", "type": "integer" }, "query": { "default": "", "description": "Space-separated keywords matched against name, tagline, slug,\nand segment, e.g. \"email inbox\".", "type": "string" } }, "type": "object" }, "name": "search_catalog", "outputSchema": { "properties": { "result": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" } }, "required": [ "result" ], "type": "object", "x-fastmcp-wrap-result": true } }, { "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.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "upgrade_info", "outputSchema": { "additionalProperties": true, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:fee4de1435cd9b4427daaf46735ed388c27b5c88d0fab7b1ab06796a37501a45 | sha256sum