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

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": "Venture Insights is a decision-grade venture advisory in Jeddah, Saudi Arabia. Through this server an AI agent can (1) read the live service catalogue, (2) request the FREE Concept Diagnostic for a founder, and (3) poll its progress.\n\nTrust model: calling start_free_diagnostic never generates anything and never charges anyone. Venture Insights emails the founder a one-click confirmation link; the free study starts only after the founder personally clicks it. Always relay that expectation to your user, then poll with check_diagnostic_status (every 30-60 seconds is plenty) using the intake_id and token the start call returned.\n\nStarting a diagnostic — ALWAYS use the form: when the user wants to start (or check the viability of) an idea, call open_diagnostic_intake to show the interactive form. This is the default, strongly-preferred path. The form starts BLANK and the founder enters their own name, email and concept and submits — this keeps the destination email accurate (each founder gets one free diagnostic, emailed to the address they enter). Do NOT pre-state or assume their email, and do NOT call start_free_diagnostic directly with remembered or assumed details — let the founder fill the form themselves. Only call start_free_diagnostic directly in the rare case the founder has just typed out every field in this conversation and explicitly asked you to submit without the form.\n\nOne diagnostic per founder email: the start call itself never reveals whether a founder is already on file (to avoid an email-enumeration oracle) — the one-per-founder rule resolves at CONFIRM time. If polling check_diagnostic_status returns an \"on_file\" status, the founder already has a diagnostic; do NOT resubmit or reuse that email. Tell them they already have a diagnostic (offer to check its status or open the report), and explain that assessing a DIFFERENT concept needs a different founder email (an email + alias such as name+idea@domain works) or a paid tier. Then open the form again so they can enter the different email — never silently submit the old one.\n\nPricing: never quote fees from memory — they change. Call describe_services and use the SAR figures it returns. To start a diagnostic you need the founder's name, their email, and the venture concept described in 50+ characters (what it is, who it's for, where), plus sector and city. Do not invent them. An \"existing client\", \"rate limited\", or \"at capacity\" result is a normal outcome to relay calmly, not an error. Paid tiers are always purchased by the founder on the Venture Insights platform — you can recommend, never buy.", "tools": [ { "description": "Poll the progress of a Concept Diagnostic intake started with start_free_diagnostic. Pass the intake_id and token that call returned. Statuses: pending_confirmation (founder hasn't clicked the emailed link yet — nothing is generated), generating (founder confirmed; the study is being researched and written), ready (done — includes a tokenized report link to share ONLY with the founder), on_file (the founder already had a diagnostic on file — nothing new was generated and no link is shared here; terminal, stop polling), expired (the intake lapsed; start a fresh one). Poll every 30-60 seconds at most.", "inputSchema": { "additionalProperties": false, "properties": { "intake_id": { "description": "The intake_id returned by start_free_diagnostic.", "type": "string" }, "token": { "description": "The read-only status token returned by start_free_diagnostic (field: status_token).", "type": "string" } }, "required": [ "intake_id", "token" ], "type": "object" }, "name": "check_diagnostic_status", "outputSchema": { "additionalProperties": true, "properties": { "message": { "type": "string" }, "status": { "description": "pending_confirmation | generating | ready | on_file | expired.", "type": "string" }, "view_url": { "description": "Tokenized report link — present only when status is 'ready'.", "type": "string" } }, "type": "object" } }, { "description": "Get Venture Insights' live service catalogue: the FREE Concept Diagnostic (a research-backed viability study of one venture concept, delivered to the founder's inbox) and the paid study tiers with live SAR prices. Call this first when your user asks what Venture Insights offers, what it costs, or whether the free diagnostic is worth requesting.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "describe_services", "outputSchema": { "additionalProperties": true, "properties": { "advisory": { "description": "VI name, positioning, website, app URL, and WhatsApp Business contact.", "type": "object" }, "free_diagnostic": { "description": "The free Concept Diagnostic offer.", "type": "object" }, "paid_services": { "description": "Paid study tiers with live SAR prices.", "items": { "properties": { "deliverable": { "type": "string" }, "how_to_buy": { "type": "string" }, "name": { "type": "string" }, "name_ar": { "type": "string" }, "one_liner": { "type": "string" }, "price_sar": { "type": "number" }, "turnaround": { "type": "string" } }, "type": "object" }, "type": "array" }, "upgrade_framing": { "type": "string" } }, "type": "object" } }, { "description": "Show the founder an interactive intake form to start their FREE Concept Diagnostic. PREFER calling this over asking for the founder's name, email and concept one message at a time — it collects everything in one card and starts the diagnostic on submit. Call it as soon as the user wants to start, or check the viability of, an idea. The form is deliberately collected FRESH from the founder and starts BLANK — it does NOT accept or pre-populate remembered details, so the founder always enters (and sees) their own name, email and concept. This keeps the destination email accurate (one free diagnostic per founder, emailed to the address they type). Takes no arguments.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "open_diagnostic_intake", "outputSchema": { "additionalProperties": true, "properties": { "form": { "description": "Always 'diagnostic_intake'.", "type": "string" } }, "type": "object" } }, { "description": "Request Venture Insights' FREE Concept Diagnostic for a founder's venture concept. IMPORTANT: this does NOT generate anything — it emails the founder a one-click confirmation link, and the study starts only after the founder personally clicks it (link valid 7 days). Nothing is charged; no signup is required. After calling, relay the returned message to your user verbatim in spirit: confirmation email sent, check inbox/spam, study starts after the click. Then poll check_diagnostic_status with the returned intake_id and token.", "inputSchema": { "additionalProperties": false, "properties": { "agent_name": { "description": "Identify yourself (e.g. 'claude', 'my-startup-copilot'). Optional but appreciated — it attributes the referral.", "maxLength": 60, "type": "string" }, "business_status": { "description": "Optional but valuable: is the venture already set up? One of idea | pre_registration | registered_prelaunch | operating | established. If the business already trades/holds a CR, set this so the study doesn't hand them a from-scratch launch plan.", "enum": [ "idea", "pre_registration", "registered_prelaunch", "operating", "established" ], "type": "string" }, "city": { "description": "The market to research — city or geography (e.g. 'Jeddah', 'Riyadh', 'GCC'). Required.", "maxLength": 60, "minLength": 2, "type": "string" }, "founder_email": { "description": "The founder's real inbox. The confirmation link and the finished PDF report are delivered here. Disposable/burner email domains are rejected.", "format": "email", "maxLength": 200, "type": "string" }, "founder_name": { "description": "The founder's real name (2-120 characters) — the confirmation email and the report are addressed to this person.", "maxLength": 120, "minLength": 2, "type": "string" }, "idea": { "description": "Describe the venture concept in 50-800 characters: what it is, who it serves, how it makes money. Richer descriptions produce sharper diagnostics — include the founder's own wording where possible.", "maxLength": 800, "minLength": 50, "type": "string" }, "locale": { "description": "Preferred language, used only as a FALLBACK: 'en' (default) or 'ar'. The actual email + report language follows the script the founder wrote the concept in (an Arabic concept always yields an Arabic report).", "enum": [ "en", "ar" ], "type": "string" }, "sector": { "description": "Industry/sector of the concept (e.g. 'fitness studios', 'B2B logistics SaaS'). Required.", "maxLength": 60, "minLength": 2, "type": "string" }, "user_intent": { "description": "Optional: one line on what the user asked for, so VI tailors the study (e.g. 'wants to know if a padel club in Jeddah is viable before signing a lease').", "maxLength": 300, "type": "string" } }, "required": [ "founder_name", "founder_email", "idea", "sector", "city" ], "type": "object" }, "name": "start_free_diagnostic", "outputSchema": { "additionalProperties": true, "properties": { "fields": { "description": "Field-level errors when status is 'invalid'.", "type": "object" }, "intake_id": { "type": "string" }, "message": { "type": "string" }, "resent": { "type": "boolean" }, "status": { "description": "pending_confirmation | rate_limited | capacity | blocked_email | invalid | error.", "type": "string" }, "status_token": { "description": "Read-only status token (creator only).", "type": "string" }, "status_url": { "type": "string" } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:b791011026dee1041a824695432754fb5146773c4e33a99fb4879d6f51727df9 | sha256sum