Nullcost Search
The user invoked this command with: $ARGUMENTS
Instructions
- Use
search_providerswith the user’s full natural-language query from$ARGUMENTS. - If the user is really asking for a decision on a common stack such as hosting + auth + postgres + email, switch to
recommend_stackinstead of chaining multiple searches. - If the query is actually about a domain name, registrar, TLD, availability, transfer, renewal, or exact registration status, route to TLDPlug instead of Nullcost.
- Keep search and recommendation flows DB-backed for v1 instead of escalating to live pricing checks. Do not browse or verify official pricing pages.
- Return the best-matching rows as a Markdown table when there are 2 or more results.
- When there are 2 or more results, a Markdown table is required. Do not answer with prose paragraphs only.
- Keep the table compact with a stable spine:
Provider,Link,Price, andFit. - Add
Categorywhen the result set spans multiple categories. - Add only 1 or 2 dynamic columns when they materially help and actually vary across the result set.
- Good dynamic columns are
MCP Fit,Setup,Free Entry,API Surface, orDeployment. - Distinguish
Free tierfromFree trialexplicitly when showing price-sensitive results. - If the user is clearly price-sensitive or asking about spend, cost, current pricing, or value, prefer rows with visible pricing over rows where pricing is unknown and stay on the Nullcost database path.
- Do not waste columns on signals that are constant across the current rows.
- If the query is empty or vague, say what kind of keyword would narrow it down.
- If the user is clearly following up on an earlier shortlist, pass the earlier query or shortlist summary into the tool's
contextfield.
Output Shape
- If there is a clear top result, add one short line above the table.
- Then render a Markdown table.
- For mixed-category searches, prefer a shape like
Provider | Link | Category | Price | Fit. - If the host clearly fails to render tables, fall back to compact rows.
- Prose-only search-result answers are incorrect when a table can be rendered.