VibeKing Product Search: Find Vibe-Coded Products
vibeking/search-products
Searches the VibeKing directory of vibe-coded (AI-built) products by keyword across name, tagline and description, and returns up to 10 products per call (default 5), ordered by upvotes or newest first. Each product carries its name, tagline, description, website, maker, the AI tool it was built with, category, upvotes, pricing, platforms, liveness status and the date it was last checked. The answer also holds the number of products matching the search and the directory-wide liveness counts (live, at risk, dead). Data from vibeking.fun, served by Eden Engine; not an official VibeKing product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Data from the VibeKing directory of vibe-coded products (https://vibeking.fun/api). Served by Eden Engine; not an official VibeKing product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "vibeking/search-products" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "vibeking/search-products" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "vibeking/search-products", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "vibeking/search-products", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"search"
],
"properties": {
"sort": {
"enum": [
"top",
"new"
],
"type": "string",
"default": "top",
"description": "top (upvotes, highest first) or new (newest first)."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Products to return, 1 to 10."
},
"search": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Keyword to match in name, tagline and description (case-insensitive)."
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Exact category label, case-insensitive (for example AI Coding). Omit for all categories."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"count",
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"description": "Product id."
},
"url": {
"type": [
"string",
"null"
],
"description": "The product's own website."
},
"name": {
"type": "string",
"description": "Product name."
},
"slug": {
"type": [
"string",
"null"
],
"description": "Product slug."
},
"maker": {
"type": [
"string",
"null"
],
"description": "Maker name as listed; null when none."
},
"ai_tool": {
"type": [
"string",
"null"
],
"description": "AI tool the product was built with; empty or null when unknown."
},
"pricing": {
"type": [
"string",
"null"
],
"description": "Pricing model label (for example Freemium); null when none."
},
"summary": {
"type": [
"string",
"null"
],
"description": "Editorial summary; null when none."
},
"tagline": {
"type": [
"string",
"null"
],
"description": "One-line tagline; null when none."
},
"upvotes": {
"type": [
"integer",
"null"
],
"description": "Upvote count."
},
"audience": {
"type": [
"string",
"null"
],
"description": "Intended audience; null when none."
},
"category": {
"type": [
"string",
"null"
],
"description": "Directory category label."
},
"platforms": {
"description": "Platforms the product runs on; null when none."
},
"use_cases": {
"type": [
"string",
"null"
],
"description": "Use cases, newline separated; null when none."
},
"created_at": {
"type": [
"string",
"null"
],
"description": "When the entry was created, UTC."
},
"description": {
"type": [
"string",
"null"
],
"description": "Description; null when none."
},
"live_status": {
"type": [
"string",
"null"
],
"description": "Liveness: live, at_risk or dead."
},
"last_checked": {
"type": [
"string",
"null"
],
"description": "When liveness was last checked, UTC."
},
"pricing_note": {
"type": [
"string",
"null"
],
"description": "Pricing detail; null when none."
},
"alternative_to": {
"type": [
"string",
"null"
],
"description": "Product it positions itself against; null when none."
}
},
"description": "One product in the VibeKing directory.",
"additionalProperties": true
},
"description": "The matching products."
},
"count": {
"type": "integer",
"description": "Products in this answer."
},
"total": {
"type": [
"integer",
"null"
],
"description": "Products matching the search across the whole directory."
},
"offset": {
"type": "integer",
"description": "Rows skipped; always 0 here."
},
"liveness": {
"type": "object",
"properties": {},
"description": "Directory-wide counts of live, at_risk, dead and unchecked products.",
"additionalProperties": true
}
},
"description": "Matching products and directory counts.",
"additionalProperties": true
}