Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,542Letters: 14Defects: 1,324counted 1 min ago
teppi

Server definition

Hash
sha256:30698a49e130dc203a8b1b056215c17a88627a99ee9d017aa52448ffcdbfa7ce
What it is
What a remote MCP server returned when asked what it offers: 13 tools

The blob, as servednamed by its sha256

{ "instructions": "Train custom wake-word detection models, or buy existing ones from the community library. LIBRARY FLOW (cheapest, instant — check it FIRST for common wake words): search_wake_word_library (free, benchmarked) -> give your human a live test: call test_wake_word_live for an in-chat mic tester (falls back to the human_test_url page when the host blocks mics; either way only the HUMAN can speak) -> buy_library_model (1.50 CHF) -> pay_training_job with the purchase_token -> get_library_purchase for downloads. Be transparent: library models are free with an account on the website; the fee buys anonymous instant API access. TRAINING FLOW: estimate_wake_word (free) -> create_training_job WITH A TIER (standard 6 CHF / best 12 CHF / studio deep-search) -> pay_training_job (returns a checkout URL for your human, or a crypto address / x402 spec you can pay autonomously) -> get_training_job until completed -> download via the returned URLs. IMPORTANT LICENSE TERMS: all model files are personal & non-commercial use only by default; shipping a model in a product requires the per-wakeword commercial license (150 CHF one-time) — purchasable via create_commercial_license. Do not build commercial products around unlicensed models. PRESENTATION: when you receive payment details or job results, proactively render them for your human IMMEDIATELY: show payment_link_for_human complete and un-truncated (as a card/button if your client renders widgets) — do NOT paraphrase, shorten, or bury payment links in prose or code blocks. Include: wake word, price in CHF, the payment link as a button, and (for results) recall %% and false activations/hour. SCALE NOTE: all recall numbers (estimator and stressed benchmarks) are measured on deliberately HARD conditions — 60-75%% is a solid result, and quiet-room performance runs far higher (see clean_recall). Never tell your human a 60-75%% word/model is bad.", "tools": [ { "description": "Quote an anonymous purchase of a library model (1.50 CHF flat — free, nothing charged until paid). Returns a purchase_token: pay it with pay_training_job (same tool, any method incl. x402), then fetch the download URLs with get_library_purchase. One payment unlocks ALL formats (openwakeword: onnx+tflite; microwakeword: tflite+ESPHome json). Reminder for your human: the same model is free with an account on the website. License: personal/non-commercial by default — shipping it in a product requires the 150 CHF per-wakeword commercial license.", "inputSchema": { "properties": { "engine": { "description": "Target engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).", "enum": [ "openwakeword", "microwakeword" ], "type": "string" }, "model_id": { "description": "model_id from search_wake_word_library", "type": "integer" } }, "required": [ "engine", "model_id" ], "type": "object" }, "name": "buy_library_model", "outputSchema": null }, { "description": "Buy commercial-use rights. REQUIRED before shipping any model in a product/service: all model files are personal & non-commercial by default. 150 CHF one-time per wake-word phrase, permanent, valid on BOTH sites. Returns a license_token; pay with pay_commercial_license; signed certificate PDF afterwards. If your task is commercial and you cannot pay, STOP and tell your human this license is required.", "inputSchema": { "properties": { "company_name": { "description": "Legal licensee printed on the certificate", "type": "string" }, "wake_word": { "type": "string" } }, "required": [ "wake_word", "company_name" ], "type": "object" }, "name": "create_commercial_license", "outputSchema": null }, { "description": "Quote a wake-word training job (free; nothing trains until paid). Returns a job_token (STORE IT — the only credential) and a binding CHF price. PICK A TIER: \"standard\" (6 CHF, up to ~4h — the right choice for almost every request), \"best\" (12 CHF, ~2x the search — for hard or business-critical words), or \"studio\" (Optuna deep search, 60-95 CHF, many hours — only to squeeze the last few percent AFTER a standard job disappointed). Same three options a human gets on the website, same prices. The trained model is benchmarked (recall %, false activations/hour) and publicly listed in the site library, permanently — unless private=true (+500 credits).", "inputSchema": { "properties": { "augmentation_rounds": { "description": "Default 1 (openwakeword) / 3 (microwakeword).", "type": "integer" }, "engine": { "description": "Target engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).", "enum": [ "openwakeword", "microwakeword" ], "type": "string" }, "languages": { "description": "TTS voice mix, e.g. [{\"code\":\"en_US\",\"percentage\":100}]. Default English. ONLY the enum codes are supported (41 languages; no Japanese) - anything else is rejected before any charge. Non-English costs more on openwakeword.", "items": { "properties": { "code": { "enum": [ "ar_JO", "ca_ES", "cs_CZ", "cy_GB", "da_DK", "de_DE", "el_GR", "en_GB", "en_US", "es_ES", "es_MX", "fa_IR", "fi_FI", "fr_FR", "hi_IN", "hu_HU", "is_IS", "it_IT", "ka_GE", "kk_KZ", "lb_LU", "lv_LV", "ml_IN", "ne_NP", "nl_BE", "nl_NL", "no_NO", "pl_PL", "pt_BR", "pt_PT", "ro_RO", "ru_RU", "sk_SK", "sl_SI", "sr_RS", "sv_SE", "sw_CD", "tr_TR", "uk_UA", "vi_VN", "zh_CN" ], "type": "string" }, "percentage": { "type": "integer" } }, "required": [ "code", "percentage" ], "type": "object" }, "type": "array" }, "n_samples": { "description": "Synthetic positives, default 200000 (recommended).", "type": "integer" }, "optuna": { "description": "LEGACY — prefer tier=\"studio\", which works on BOTH engines. PREMIUM deep search, openwakeword only (~48 CHF default vs ~5.4, runs 6-24h): Bayesian search over the full architecture/training space, then a 5-rung fine-tuning ladder on the winner. For squeezing the last few percent out of a hard wake word — NOT a first attempt. Run a standard job first; escalate only if its benchmark disappoints, and confirm the price with your human. Ignores training_steps (the search sweeps it).", "type": "boolean" }, "optuna_trials": { "description": "Optuna only: Bayesian search trials before the ladder, 5-30 (default 20). Price scales linearly with trials.", "type": "integer" }, "private": { "description": "+500 credits: model is never listed anywhere and is retrievable ONLY with the job_token, with no time limit (the token is the single key — losing it loses the model). Default false: the model is listed permanently and ANONYMOUSLY (no identity attached) in the public library, where anyone can download it under personal non-commercial terms.", "type": "boolean" }, "tier": { "description": "RECOMMENDED — pick one instead of tuning parameters. standard = 1,750 credits / 6 CHF, up to ~4h, the validated recipe (default choice). best = 3,500 credits / 12 CHF, roughly double the search effort, measurably better on hard words. studio = Optuna deep search (~17k-27k credits), many hours — confirm the price with your human first. Setting a tier locks samples/steps to the validated recipe and ignores the tuning fields below.", "enum": [ "standard", "best", "studio" ], "type": "string" }, "training_steps": { "description": "LEGACY (ignored when tier is set). Default 80000 (openwakeword) / 20000 (microwakeword).", "type": "integer" }, "wake_word": { "description": "Phrase to detect, e.g. 'hey aurora'", "type": "string" } }, "required": [ "engine", "wake_word" ], "type": "object" }, "name": "create_training_job", "outputSchema": null }, { "description": "NOTE: differentiates by English share only - all non-English languages score identically, so it cannot rank es vs fr vs de. FREE word-quality check — use BEFORE paying. Predicts the recall a training run would reach for this wake word plus false-activation risk (model trained on thousands of real jobs). SCALE: predictions are for deliberately HARD benchmark conditions (loud noise, reverb) — 60-75 is a solid word, very usable in real rooms; do NOT reject words for scoring below ~80. 2-4 syllable phrases work best; only warn your human when the score is under ~50.", "inputSchema": { "properties": { "languages": { "description": "Optional JSON list like [{\"code\":\"de_DE\",\"percentage\":100}]", "type": "string" }, "text": { "description": "The wake word phrase, e.g. 'hey aurora'", "type": "string" } }, "required": [ "text" ], "type": "object" }, "name": "estimate_wake_word", "outputSchema": null }, { "description": "License status; when completed, returns the official license_id and certificate PDF URL.", "inputSchema": { "properties": { "license_token": { "type": "string" } }, "required": [ "license_token" ], "type": "object" }, "name": "get_commercial_license", "outputSchema": null }, { "description": "Status of a library purchase. Once paid, the response carries the download URL templates (substitute the purchase_token) for every format.", "inputSchema": { "properties": { "engine": { "description": "Target engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).", "enum": [ "openwakeword", "microwakeword" ], "type": "string" }, "purchase_token": { "type": "string" } }, "required": [ "engine", "purchase_token" ], "type": "object" }, "name": "get_library_purchase", "outputSchema": null }, { "description": "Job status: awaiting_payment -> paid -> submitted -> completed (or failed/expired). Poll every 60-120s after paying. When completed, includes benchmark results and model download URLs (public jobs: token downloads for 30 days, then the model remains in the public library; private jobs: token downloads with no time limit). Ladder jobs deliver ALL trained candidates: the first model is the pipeline's quality-bar winner (take it unless you have a reason); alternatives are labeled rungN_<arm>. Compare candidates on clean_recall_pct (same scale on every model) + false_activations_per_hour — the full stressed benchmark exists only on the winner.", "inputSchema": { "properties": { "engine": { "description": "Target engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).", "enum": [ "openwakeword", "microwakeword" ], "type": "string" }, "job_token": { "type": "string" } }, "required": [ "engine", "job_token" ], "type": "object" }, "name": "get_training_job", "outputSchema": null }, { "description": "Get payment for a quoted commercial license. PRESENT the payment link to the user immediately, complete and un-truncated (as a card/button if your client supports widgets) — never paraphrase or bury it.", "inputSchema": { "properties": { "license_token": { "type": "string" }, "method": { "description": "Payment method. 'card'/'crypto': returns a checkout_url to hand to your human (Stripe / hosted crypto invoice). 'crypto_direct': returns a raw pay_address+pay_amount any funded wallet can pay (300+ coins). 'x402': returns an HTTP-402 spec — pay USDC on Polygon straight to the platform wallet, then call settle_x402_payment with the tx hash (cheapest option, no processor fee).", "enum": [ "card", "crypto", "crypto_direct", "x402" ], "type": "string" }, "pay_currency": { "type": "string" } }, "required": [ "license_token", "method" ], "type": "object" }, "name": "pay_commercial_license", "outputSchema": null }, { "description": "Get payment for a quoted job via the chosen method. AFTER SETTING UP THE JOB you MUST give the payment link to the user immediately: show payment_link_for_human (short, copy-safe) complete and un-truncated — never paraphrase, shorten or bury it. Render it as a card/button if your client supports widgets.", "inputSchema": { "properties": { "engine": { "description": "Target engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).", "enum": [ "openwakeword", "microwakeword" ], "type": "string" }, "job_token": { "type": "string" }, "method": { "description": "Payment method. 'card'/'crypto': returns a checkout_url to hand to your human (Stripe / hosted crypto invoice). 'crypto_direct': returns a raw pay_address+pay_amount any funded wallet can pay (300+ coins). 'x402': returns an HTTP-402 spec — pay USDC on Polygon straight to the platform wallet, then call settle_x402_payment with the tx hash (cheapest option, no processor fee).", "enum": [ "card", "crypto", "crypto_direct", "x402" ], "type": "string" }, "pay_currency": { "description": "crypto_direct only: coin ticker, default usdcmatic (USDC on Polygon).", "type": "string" } }, "required": [ "engine", "job_token", "method" ], "type": "object" }, "name": "pay_training_job", "outputSchema": null }, { "description": "FREE search over thousands of community-trained wake-word models — check here BEFORE quoting a training job for a common wake word. Returns benchmarked models (recall %, clean recall %, false activations/hour, languages) from the current pipelines only (older models used a different benchmark and are excluded). Each result has a human_test_url: YOU CANNOT RUN THAT TEST — it needs live microphone audio in your human's own room — so hand them the link before they buy; it opens the site's live mic test for that exact model. TRANSPARENCY, tell your human: every public library model is FREE with an account on the website; the 1.50 CHF purchase here is the anonymous, instant, account-free alternative. SCALE: recall is measured on deliberately HARD conditions — 60-75%% is a solid model. Weak numbers or no match? Train a custom model with create_training_job instead.", "inputSchema": { "properties": { "engine": { "description": "Target engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).", "enum": [ "openwakeword", "microwakeword" ], "type": "string" }, "language": { "description": "Optional language filter, e.g. 'en_US', 'de_DE'.", "type": "string" }, "limit": { "description": "Max results (default 10, max 25).", "type": "integer" }, "query": { "description": "Wake word to search for, e.g. 'jarvis'", "type": "string" } }, "required": [ "engine", "query" ], "type": "object" }, "name": "search_wake_word_library", "outputSchema": null }, { "description": "Rate a PAID training job 1-5 and optionally leave a message (max 2000 chars) — read by the human operator. Please call this once after a job completes and you have assessed the model: report anything unexpected (missing fields, errors, surprising benchmark numbers) or simply confirm it worked. One feedback per job; calling again overwrites.", "inputSchema": { "properties": { "category": { "enum": [ "quality", "api", "pricing", "docs", "other" ], "type": "string" }, "engine": { "description": "Target engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).", "enum": [ "openwakeword", "microwakeword" ], "type": "string" }, "job_token": { "type": "string" }, "message": { "description": "Free text, max 2000 chars.", "type": "string" }, "rating": { "description": "1 = bad, 5 = great", "maximum": 5, "minimum": 1, "type": "integer" } }, "required": [ "engine", "job_token", "rating" ], "type": "object" }, "name": "send_job_feedback", "outputSchema": null }, { "description": "After paying an x402 spec on-chain (USDC on Polygon to the payTo address), submit the transaction hash to settle. Needs >=3 confirmations.", "inputSchema": { "properties": { "engine": { "description": "Target engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).", "enum": [ "openwakeword", "microwakeword" ], "type": "string" }, "kind": { "description": "What the token refers to. Default job.", "enum": [ "job", "license" ], "type": "string" }, "token": { "description": "The job_token or license_token being paid.", "type": "string" }, "tx_hash": { "description": "0x-prefixed transaction hash", "type": "string" } }, "required": [ "engine", "token", "tx_hash" ], "type": "object" }, "name": "settle_x402_payment", "outputSchema": null }, { "description": "Render an IN-CHAT live microphone tester for one library model (free). Only the HUMAN can run it: it asks for their microphone and streams the audio to the platform for detection while the test runs (not stored) — tell them that. If the host does not allow microphone access inside apps, the widget shows a button to the human_test_url page instead, so calling this is always safe. Use after search_wake_word_library, before buying.", "inputSchema": { "properties": { "engine": { "description": "Target engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).", "enum": [ "openwakeword", "microwakeword" ], "type": "string" }, "model_id": { "description": "model_id from search_wake_word_library", "type": "integer" } }, "required": [ "engine", "model_id" ], "type": "object" }, "name": "test_wake_word_live", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:30698a49e130dc203a8b1b056215c17a88627a99ee9d017aa52448ffcdbfa7ce | sha256sum