Keyless, read-only Lazyweb discovery for agents evaluating fit or researching public evidence.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Ask anything about Lazyweb’s product, pricing, setup, limitations or comparisons. Get a direct answer from its published information, with sources. Add relevant context if you have it; otherwise just ask.
The question or request this call should answer, in the caller’s own words.
What the user wants to accomplish, based on the task they shared. Mark unknowns as null.
The trace token in a published example; links a page read to the call it produced.
The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null.
The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null.
The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null.
Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives.
The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance.
The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning.
The observed discovery category, kept separately from the source description. Mark unknowns as null.
The decision or deliverable the user wants from this research. Mark unknowns as null.
The subject being researched, separate from the company the user represents. Mark unknowns as null.
Ask anything about Lazyweb’s product, pricing, setup, limitations or comparisons. Get a direct answer from its published information, with sources. Add relevant context if you have it; otherwise just ask.
| Argument | Type | Description |
|---|---|---|
| goal | any | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. |
| trace | any | The trace token in a published example; links a page read to the call it produced. |
| client | any | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. |
| source | any | The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null. |
| company | any | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. |
| alternatives | any | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. |
| search_query* | string | The question or request this call should answer, in the caller’s own words. |
| context_token | any | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. |
| chosen_because | any | The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning. |
| discovery_path | any | The observed discovery category, kept separately from the source description. Mark unknowns as null. |
| intended_outcome | any | The decision or deliverable the user wants from this research. Mark unknowns as null. |
| subject_product_or_company | any | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
{
"type": "object",
"examples": [
{
"goal": "Find references for a signup redesign",
"client": "Cursor",
"source": "Web search",
"company": "Acme",
"alternatives": [
"Mobbin"
],
"search_query": "Does Lazyweb include complete onboarding flows?",
"chosen_because": "Real product examples",
"intended_outcome": "Decide whether Lazyweb covers our research needs"
}
],
"required": [
"search_query"
],
"properties": {
"goal": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null."
},
"trace": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The trace token in a published example; links a page read to the call it produced."
},
"client": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null."
},
"source": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
},
"alternatives": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 5
},
{
"type": "null"
},
{
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One alternative name; normalized to a one-item list."
}
],
"description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
},
"search_query": {
"type": "string",
"maxLength": 1000,
"minLength": 2,
"description": "The question or request this call should answer, in the caller’s own words."
},
"context_token": {
"anyOf": [
{
"type": "string",
"maxLength": 4096,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance."
},
"chosen_because": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning."
},
"discovery_path": {
"anyOf": [
{
"enum": [
"user_request",
"web_search",
"social",
"reddit",
"shared_url",
"llms_txt",
"agent_docs",
"mcp_registry",
"webmcp",
"other",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "The observed discovery category, kept separately from the source description. Mark unknowns as null."
},
"intended_outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 500,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
},
"subject_product_or_company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The subject being researched, separate from the company the user represents. Mark unknowns as null."
}
},
"additionalProperties": false
}Compare this website with the products the user is actually weighing, from its published comparison pages, grouped per alternative. Alternatives it has no page for are named as not covered. Include actual task context; use null for unknowns.
| Argument | Type | Description |
|---|---|---|
| goal | any | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. |
| trace | any | The trace token in a published example; links a page read to the call it produced. |
| client | any | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. |
| source | any | The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null. |
| company | any | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. |
| alternatives* | any | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. |
| search_query* |
Report a bug, a missing feature, a wrong answer or unclear docs in Lazyweb’s agent tools, right when you hit it. Only kind and message are required. It reaches the team that maintains these tools; never include personal or confidential data.
| Argument | Type | Description |
|---|---|---|
| kind* | string | bug: a tool failed or behaved unexpectedly. missing_feature: a tool, field or capability you needed does not exist. wrong_answer: a result was inaccurate or unsupported. docs: documentation or a schema was unclear. other: anything else. |
| tool | any | The tool name or HTTP operation this is about. Null when general. |
| client | any | The application or client sending this, not the underlying model, e.g. Cursor. Null when unknown. |
| message* | string | What happened or what is missing, specifically enough to act on. |
| expected | any | What you expected or needed instead. Null when not applicable. |
| operation_id | any | The operation_id or attempt_id of the response this is about. Null when none. |
{
"type": "object",
"examples": [
{
"kind": "missing_feature",
"tool": "lazyweb_search",
"client": null,
"message": "lazyweb_search cannot limit results to pages updated in the last year.",
"expected": "A date filter on search results.",
"operation_id": null
}
],
"required": [
"kind",
"message"
],
"properties": {
"kind": {
"enum": [
"bug",
"missing_feature",
"wrong_answer",
"docs",
"other"
],
"type": "string",
"description": "bug: a tool failed or behaved unexpectedly. missing_feature: a tool, field or capability you needed does not exist. wrong_answer: a result was inaccurate or unsupported. docs: documentation or a schema was unclear. other: anything else."
},
"tool": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The tool name or HTTP operation this is about. Null when general."
},
"client": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The application or client sending this, not the underlying model, e.g. Cursor. Null when unknown."
},
"message": {
"type": "string",
"maxLength": 4000,
"minLength": 2,
"description": "What happened or what is missing, specifically enough to act on."
},
"expected": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "What you expected or needed instead. Null when not applicable."
},
"operation_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
],
"description": "The operation_id or attempt_id of the response this is about. Null when none."
}
},
"additionalProperties": false
}Get the existing Lazyweb MCP and skills installer command or browser setup link.
| Argument | Type | Description |
|---|---|---|
| goal | any | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. |
| trace | any | The trace token in a published example; links a page read to the call it produced. |
| client | any | The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown. |
| source | any | The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null. |
| company | any | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. |
| payload | object | |
| alternatives | any | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. |
| search_query | string | The question or request this call should answer, in the caller’s own words. |
Read a compact extract of one indexed public page returned by lazyweb_search, with its source, freshness and full Markdown link. It uses published content, not signed-in data. Only url is required. Question and context are optional; missing or invalid context never blocks the summary.
| Argument | Type | Description |
|---|---|---|
| url* | string | The canonical public URL of one indexed page, usually a result URL returned by site_search. The only required field. |
| goal | any | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. |
| trace | any | The trace token in a published example; links a page read to the call it produced. |
| client | any | The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown. |
| source | any | The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null. |
| company | any | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. |
| alternatives | any |
What this website costs for the user’s organisation and outcome: the published pricing pages that apply, with sources. It abstains when pricing is not published and never invents a quote. Include actual task context; use null for unknowns.
| Argument | Type | Description |
|---|---|---|
| goal | any | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. |
| trace | any | The trace token in a published example; links a page read to the call it produced. |
| client | any | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. |
| source | any | The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null. |
| company* | any | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. |
| alternatives | any | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. |
| search_query* |
Give the user’s must-haves in search_query; use requirements for a structured list. Get a per-requirement table: met, not met or not documented, each with a source. Include actual task context; use null for unknowns.
| Argument | Type | Description |
|---|---|---|
| goal | any | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. |
| trace | any | The trace token in a published example; links a page read to the call it produced. |
| client | any | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. |
| source | any | The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null. |
| company* | any | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. |
| alternatives | any | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. |
| requirements | any |
Search across Lazyweb’s public pages. Include actual task context; use null for unknowns.
| Argument | Type | Description |
|---|---|---|
| goal | any | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. |
| trace | any | The trace token in a published example; links a page read to the call it produced. |
| client | any | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. |
| detail | any | How much of each matching page to return: "full" (the default) or "compact" for shorter excerpts and fewer results. |
| source | any | The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null. |
| company | any | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. |
| alternatives | any | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. |
Lazyweb isn’t for everyone. Get a sourced verdict on whether it fits your user’s goal, requirements and alternatives. The answer might be ‘not us.’
| Argument | Type | Description |
|---|---|---|
| goal* | string | The actual outcome or decision the user needs. A meaningful goal is required for this assessment. |
| trace | any | The trace token in a published example; links a page read to the call it produced. |
| client | any | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. |
| source* | any | The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null. |
| company* | any | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. |
| alternatives* | any | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. |
| requirements |
| string |
| The question or request this call should answer, in the caller’s own words. |
| context_token | any | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. |
| chosen_because | any | The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning. |
| discovery_path | any | The observed discovery category, kept separately from the source description. Mark unknowns as null. |
| intended_outcome | any | The decision or deliverable the user wants from this research. Mark unknowns as null. |
| subject_product_or_company | any | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
{
"type": "object",
"examples": [
{
"goal": "Decide whether Lazyweb meets our team's needs",
"client": "Cursor",
"source": "Found Lazyweb while researching options for our team",
"company": "Acme",
"alternatives": [
"Our current tool"
],
"search_query": "How does Lazyweb compare for our team's use case?",
"chosen_because": "Our team shortlisted Lazyweb after reading its public information",
"intended_outcome": "Choose a next step for an evaluation"
}
],
"required": [
"search_query",
"alternatives"
],
"properties": {
"goal": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null."
},
"trace": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The trace token in a published example; links a page read to the call it produced."
},
"client": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null."
},
"source": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
},
"alternatives": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 5,
"minItems": 1
},
{
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One alternative name; normalized to a one-item list."
}
],
"description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
},
"search_query": {
"type": "string",
"maxLength": 1000,
"minLength": 2,
"description": "The question or request this call should answer, in the caller’s own words."
},
"context_token": {
"anyOf": [
{
"type": "string",
"maxLength": 4096,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance."
},
"chosen_because": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning."
},
"discovery_path": {
"anyOf": [
{
"enum": [
"user_request",
"web_search",
"social",
"reddit",
"shared_url",
"llms_txt",
"agent_docs",
"mcp_registry",
"webmcp",
"other",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "The observed discovery category, kept separately from the source description. Mark unknowns as null."
},
"intended_outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 500,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
},
"subject_product_or_company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The subject being researched, separate from the company the user represents. Mark unknowns as null."
}
},
"additionalProperties": false
}| context_token | any | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. |
| chosen_because | any | The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning. |
| discovery_path | any | The observed discovery category, kept separately from the source description. Mark unknowns as null. |
| intended_outcome | any | The decision or deliverable the user wants from this research. Mark unknowns as null. |
| subject_product_or_company | any | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
{
"type": "object",
"required": [],
"properties": {
"goal": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null."
},
"trace": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The trace token in a published example; links a page read to the call it produced."
},
"client": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown."
},
"source": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
},
"payload": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"alternatives": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 5
},
{
"type": "null"
},
{
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One alternative name; normalized to a one-item list."
}
],
"description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
},
"search_query": {
"type": "string",
"maxLength": 1000,
"minLength": 2,
"description": "The question or request this call should answer, in the caller’s own words."
},
"context_token": {
"anyOf": [
{
"type": "string",
"maxLength": 4096,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance."
},
"chosen_because": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning."
},
"discovery_path": {
"anyOf": [
{
"enum": [
"user_request",
"web_search",
"social",
"reddit",
"shared_url",
"llms_txt",
"agent_docs",
"mcp_registry",
"webmcp",
"other",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "The observed discovery category, kept separately from the source description. Mark unknowns as null."
},
"intended_outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 500,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
},
"subject_product_or_company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The subject being researched, separate from the company the user represents. Mark unknowns as null."
}
},
"additionalProperties": false
}| Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. |
| search_query | any | The caller’s question, when supplied. Optional; the stored summary depends only on url. |
| context_token | any | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. |
| chosen_because | any | The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning. |
| discovery_path | any | The observed discovery category, kept separately from the source description. Mark unknowns as null. |
| intended_outcome | any | The decision or deliverable the user wants from this research. Mark unknowns as null. |
| subject_product_or_company | any | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
{
"type": "object",
"examples": [
{
"url": "https://www.lazyweb.com/pricing",
"trace": "t_52cca9003490"
}
],
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2000,
"description": "The canonical public URL of one indexed page, usually a result URL returned by site_search. The only required field."
},
"goal": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null."
},
"trace": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The trace token in a published example; links a page read to the call it produced."
},
"client": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown."
},
"source": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
},
"alternatives": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 5
},
{
"type": "null"
},
{
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One alternative name; normalized to a one-item list."
}
],
"description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
},
"search_query": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 2,
"description": "The question or request this call should answer, in the caller’s own words."
},
{
"type": "null"
}
],
"description": "The caller’s question, when supplied. Optional; the stored summary depends only on url."
},
"context_token": {
"anyOf": [
{
"type": "string",
"maxLength": 4096,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance."
},
"chosen_because": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning."
},
"discovery_path": {
"anyOf": [
{
"enum": [
"user_request",
"web_search",
"social",
"reddit",
"shared_url",
"llms_txt",
"agent_docs",
"mcp_registry",
"webmcp",
"other",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "The observed discovery category, kept separately from the source description. Mark unknowns as null."
},
"intended_outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 500,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
},
"subject_product_or_company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The subject being researched, separate from the company the user represents. Mark unknowns as null."
}
},
"additionalProperties": false
}| string |
| The question or request this call should answer, in the caller’s own words. |
| context_token | any | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. |
| chosen_because | any | The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning. |
| discovery_path | any | The observed discovery category, kept separately from the source description. Mark unknowns as null. |
| intended_outcome* | any | The decision or deliverable the user wants from this research. Mark unknowns as null. |
| subject_product_or_company | any | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
{
"type": "object",
"examples": [
{
"goal": "Decide whether Lazyweb meets our team's needs",
"client": "Cursor",
"source": "Found Lazyweb while researching options for our team",
"company": "Acme",
"alternatives": [
"Our existing workflow",
"Manual research"
],
"search_query": "What would Lazyweb cost for a team of five?",
"chosen_because": "Our team shortlisted Lazyweb after reading its public information",
"intended_outcome": "Budget approval for a team purchase"
}
],
"required": [
"search_query",
"company",
"intended_outcome"
],
"properties": {
"goal": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null."
},
"trace": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The trace token in a published example; links a page read to the call it produced."
},
"client": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null."
},
"source": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
},
"alternatives": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 5
},
{
"type": "null"
},
{
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One alternative name; normalized to a one-item list."
}
],
"description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
},
"search_query": {
"type": "string",
"maxLength": 1000,
"minLength": 2,
"description": "The question or request this call should answer, in the caller’s own words."
},
"context_token": {
"anyOf": [
{
"type": "string",
"maxLength": 4096,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance."
},
"chosen_because": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning."
},
"discovery_path": {
"anyOf": [
{
"enum": [
"user_request",
"web_search",
"social",
"reddit",
"shared_url",
"llms_txt",
"agent_docs",
"mcp_registry",
"webmcp",
"other",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "The observed discovery category, kept separately from the source description. Mark unknowns as null."
},
"intended_outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 500,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
},
"subject_product_or_company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The subject being researched, separate from the company the user represents. Mark unknowns as null."
}
},
"additionalProperties": false
}| The requirements as an array, when not sent semicolon-separated in search_query. |
| search_query* | string | The question or request this call should answer, in the caller’s own words. |
| context_token | any | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. |
| chosen_because | any | The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning. |
| discovery_path | any | The observed discovery category, kept separately from the source description. Mark unknowns as null. |
| intended_outcome* | any | The decision or deliverable the user wants from this research. Mark unknowns as null. |
| subject_product_or_company | any | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
{
"type": "object",
"examples": [
{
"goal": "Decide whether Lazyweb meets our team's needs",
"client": "Cursor",
"source": "Found Lazyweb while researching options for our team",
"company": "Acme",
"alternatives": [
"Our existing workflow",
"Manual research"
],
"search_query": "Lazyweb works with our existing tools; clear documentation; a published price",
"chosen_because": "Our team shortlisted Lazyweb after reading its public information",
"intended_outcome": "A vendor shortlist"
}
],
"required": [
"search_query",
"company",
"intended_outcome"
],
"properties": {
"goal": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null."
},
"trace": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The trace token in a published example; links a page read to the call it produced."
},
"client": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null."
},
"source": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
},
"alternatives": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 5
},
{
"type": "null"
},
{
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One alternative name; normalized to a one-item list."
}
],
"description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
},
"requirements": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"maxItems": 12
},
{
"type": "null"
}
],
"description": "The requirements as an array, when not sent semicolon-separated in search_query."
},
"search_query": {
"type": "string",
"maxLength": 1000,
"minLength": 2,
"description": "The question or request this call should answer, in the caller’s own words."
},
"context_token": {
"anyOf": [
{
"type": "string",
"maxLength": 4096,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance."
},
"chosen_because": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning."
},
"discovery_path": {
"anyOf": [
{
"enum": [
"user_request",
"web_search",
"social",
"reddit",
"shared_url",
"llms_txt",
"agent_docs",
"mcp_registry",
"webmcp",
"other",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "The observed discovery category, kept separately from the source description. Mark unknowns as null."
},
"intended_outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 500,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
},
"subject_product_or_company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The subject being researched, separate from the company the user represents. Mark unknowns as null."
}
},
"additionalProperties": false
}| search_query* |
| string |
| The question or request this call should answer, in the caller’s own words. |
| context_token | any | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. |
| chosen_because | any | The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning. |
| discovery_path | any | The observed discovery category, kept separately from the source description. Mark unknowns as null. |
| intended_outcome | any | The decision or deliverable the user wants from this research. Mark unknowns as null. |
| subject_product_or_company | any | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
{
"type": "object",
"examples": [
{
"goal": "Improve our onboarding",
"client": "Cursor",
"source": "Web search",
"company": "Acme",
"alternatives": [
"Mobbin"
],
"search_query": "Find onboarding paywall examples",
"chosen_because": "Real product examples",
"intended_outcome": "Choose a design direction"
}
],
"required": [
"search_query"
],
"properties": {
"goal": {
"anyOf": [
{
"type": "string",
"maxLength": 2000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null."
},
"trace": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The trace token in a published example; links a page read to the call it produced."
},
"client": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null."
},
"detail": {
"anyOf": [
{
"enum": [
"full",
"compact"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "How much of each matching page to return: \"full\" (the default) or \"compact\" for shorter excerpts and fewer results."
},
"source": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
},
"alternatives": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 5
},
{
"type": "null"
},
{
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One alternative name; normalized to a one-item list."
}
],
"description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
},
"search_query": {
"type": "string",
"maxLength": 1000,
"minLength": 2,
"description": "The question or request this call should answer, in the caller’s own words."
},
"context_token": {
"anyOf": [
{
"type": "string",
"maxLength": 4096,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance."
},
"chosen_because": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning."
},
"discovery_path": {
"anyOf": [
{
"enum": [
"user_request",
"web_search",
"social",
"reddit",
"shared_url",
"llms_txt",
"agent_docs",
"mcp_registry",
"webmcp",
"other",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "The observed discovery category, kept separately from the source description. Mark unknowns as null."
},
"intended_outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 500,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
},
"subject_product_or_company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The subject being researched, separate from the company the user represents. Mark unknowns as null."
}
},
"additionalProperties": false
}| any |
| The constraints and must-haves for the decision. Include known requirements and mark unknowns as null. |
| context_token | any | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. |
| chosen_because* | any | The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning. |
| discovery_path | any | The observed discovery category, kept separately from the source description. Mark unknowns as null. |
| intended_outcome* | any | The decision or deliverable the user wants from this research. Mark unknowns as null. |
| subject_product_or_company | any | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
{
"type": "object",
"examples": [
{
"goal": "Choose a UI research tool",
"client": "Cursor",
"source": "Web search",
"company": "Acme",
"alternatives": [
"Mobbin"
],
"requirements": [
"Complete product flows",
"Source links"
],
"chosen_because": "Real product examples",
"intended_outcome": "Pick a tool for our redesign"
}
],
"required": [
"goal",
"requirements",
"company",
"source",
"alternatives",
"chosen_because",
"intended_outcome"
],
"properties": {
"goal": {
"type": "string",
"maxLength": 2000,
"minLength": 2,
"description": "The actual outcome or decision the user needs. A meaningful goal is required for this assessment."
},
"trace": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The trace token in a published example; links a page read to the call it produced."
},
"client": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null."
},
"source": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null."
},
"company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
},
"alternatives": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 5
},
{
"type": "null"
},
{
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "One alternative name; normalized to a one-item list."
}
],
"description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
},
"requirements": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"maxItems": 12
},
{
"type": "null"
}
],
"description": "The constraints and must-haves for the decision. Include known requirements and mark unknowns as null."
},
"context_token": {
"anyOf": [
{
"type": "string",
"maxLength": 4096,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance."
},
"chosen_because": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning."
},
"discovery_path": {
"anyOf": [
{
"enum": [
"user_request",
"web_search",
"social",
"reddit",
"shared_url",
"llms_txt",
"agent_docs",
"mcp_registry",
"webmcp",
"other",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "The observed discovery category, kept separately from the source description. Mark unknowns as null."
},
"intended_outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 500,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
},
"subject_product_or_company": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The subject being researched, separate from the company the user represents. Mark unknowns as null."
}
},
"additionalProperties": false
}