Lazyweb Public Discovery
Server Details
Keyless, read-only Lazyweb discovery for agents evaluating fit or researching public evidence.
- Status
- Healthy
- Uptime
- 99.1% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 8 tools
Most tools target a distinct lookup (pricing, requirements, install, page summary), but lazyweb_ask_anything broadly covers pricing, comparisons, and product facts, so it overlaps with lazyweb_search and the specialized tools. lazyweb_compare and should_i_recommend_lazyweb also share evaluative territory and could be confused.
Seven of eight tools share the lazyweb_ prefix and snake_case, but the action part is inconsistent: some are verbs (search, compare), some nouns (pricing, page_tldr), and should_i_recommend_lazyweb breaks the prefix pattern. Still readable and predictable enough to navigate.
Eight tools is a reasonable, focused count for a single-product discovery server. A few could arguably be subsumed by lazyweb_ask_anything, but the specialized outputs justify their presence.
The set covers the full discovery/evaluation journey: search, deep-diving a page, pricing, requirements, comparisons, recommendation, and installation. No obvious dead ends are apparent for the stated public-discovery scope.
Available Tools
8 toolslazyweb_ask_anythingARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. | |
| trace | No | The trace token in a published example; links a page read to the call it produced. | |
| client | No | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. | |
| source | No | 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 | No | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. | |
| alternatives | No | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. | |
| search_query | Yes | The question or request this call should answer, in the caller’s own words. | |
| context_token | No | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. | |
| chosen_because | No | 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 | No | The observed discovery category, kept separately from the source description. Mark unknowns as null. | |
| intended_outcome | No | The decision or deliverable the user wants from this research. Mark unknowns as null. | |
| subject_product_or_company | No | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond those flags: it answers directly from published information, includes sources, and lets the caller supply relevant context. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler. The core action, topic scope, and expected answer format are front-loaded, and the optional-context instruction is a meaningful addition rather than repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required parameter and rich schema coverage, the description is largely complete: it states the scope, the answer behavior, and that sources will be returned. However, it does not mention the specialized sibling tools for pricing, comparison, or requirements checks, which could lead an agent to overuse this general tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 12 parameters thoroughly. The description adds only general guidance about providing context, but does not explain parameter relationships or usage details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Ask') and names the resource ('Lazyweb's product, pricing, setup, limitations or comparisons'), stating that the tool answers from published information with sources. It is distinguishable from a generic unknown tool, though it does not explicitly differentiate itself from specialized siblings like lazyweb_pricing or lazyweb_compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use this for any open question about Lazyweb, and add context if available. It does not state when not to use it or name alternatives like lazyweb_pricing or lazyweb_compare, so the agent is left to infer routing from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lazyweb_compareARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. | |
| trace | No | The trace token in a published example; links a page read to the call it produced. | |
| client | No | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. | |
| source | No | 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 | No | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. | |
| alternatives | Yes | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. | |
| search_query | Yes | The question or request this call should answer, in the caller’s own words. | |
| context_token | No | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. | |
| chosen_because | No | 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 | No | The observed discovery category, kept separately from the source description. Mark unknowns as null. | |
| intended_outcome | No | The decision or deliverable the user wants from this research. Mark unknowns as null. | |
| subject_product_or_company | No | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, open-world behavior, so the description only needs to add the tool's specific behavioral traits. It does: output is sourced from published comparison pages, grouped per alternative, and alternatives without a page are named as not covered. The 'use null for unknowns' instruction also adds a concrete non-fabrication behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with no filler. The primary action and source are front-loaded, followed by the missing-alternative behavior and the null-handling instruction. Every sentence adds useful, non-redundant guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 12 parameters but no output schema, the description gives a useful high-level contract: comparisons come from published pages, results are grouped per alternative, and uncovered alternatives are explicitly named. It could be slightly more explicit about what a comparison entry contains, but it is sufficient for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a detailed explanation, so the baseline is 3. The description reinforces the 'null for unknowns' convention across the schema, but it does not add parameter-specific semantics beyond what the input schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Compare') and a clear resource ('this website' against alternatives), and defines the output shape: grouped per alternative, with missing pages explicitly marked as not covered. This distinguishes it from sibling tools like lazyweb_search, lazyweb_ask_anything, and lazyweb_page_tldr, which are not comparison-focused.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when the user is actively weighing Lazyweb against actual alternatives, and when comparison pages are the intended source. However, it never explicitly states when not to use it or names alternatives like lazyweb_search or lazyweb_ask_anything for different comparison contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lazyweb_install_mcpARead-onlyIdempotentInspect
Get the existing Lazyweb MCP and skills installer command or browser setup link.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. | |
| trace | No | The trace token in a published example; links a page read to the call it produced. | |
| client | No | The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown. | |
| source | No | 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 | No | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. | |
| payload | No | ||
| alternatives | No | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. | |
| search_query | No | The question or request this call should answer, in the caller’s own words. | |
| context_token | No | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. | |
| chosen_because | No | 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 | No | The observed discovery category, kept separately from the source description. Mark unknowns as null. | |
| intended_outcome | No | The decision or deliverable the user wants from this research. Mark unknowns as null. | |
| subject_product_or_company | No | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds value by specifying the returned artifact (installer command or setup link), but discloses no further behavioral traits such as whether the command is static, whether setup requires browser interaction, or whether any external state is read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence with no filler. It front-loads the key purpose and result, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 13 mostly-contextual parameters and no output schema, but the core purpose is simple enough that the one-line description conveys the primary return. However, it lacks guidance on when to call the tool, how the optional parameters should be populated, and details about the returned command or link format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (~92%), so parameter semantics are already well documented. The description contributes no additional parameter information, which is acceptable given the schema's strong per-parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Get') and a concrete resource (Lazyweb MCP and skills installer command or browser setup link). It is immediately distinguishable from sibling tools focused on search, comparison, pricing, and recommendations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explain when to invoke this tool versus siblings, nor does it give context like 'use when the user wants to install Lazyweb MCP'. Usage context is only implied by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lazyweb_page_tldrARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The canonical public URL of one indexed page, usually a result URL returned by site_search. The only required field. | |
| goal | No | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. | |
| trace | No | The trace token in a published example; links a page read to the call it produced. | |
| client | No | The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown. | |
| source | No | 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 | No | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. | |
| alternatives | No | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. | |
| search_query | No | The caller’s question, when supplied. Optional; the stored summary depends only on url. | |
| context_token | No | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. | |
| chosen_because | No | 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 | No | The observed discovery category, kept separately from the source description. Mark unknowns as null. | |
| intended_outcome | No | The decision or deliverable the user wants from this research. Mark unknowns as null. | |
| subject_product_or_company | No | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, which cover the safety profile. The description adds that it uses published content (not signed-in data) and that missing/invalid context never blocks the summary, which is useful behavioral context. However, it does not disclose what happens if the url is invalid or unreachable, which would be valuable. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with critical information front-loaded (primary action, data source, required field). It uses three sentences with no waste, clearly separating the core purpose and the optionality of parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with 13 mostly optional parameters and comprehensive schema descriptions, the description is sufficient. It covers the essential purpose, required vs. optional parameters, and the non-blocking behavior. There is no output schema, so return values are already mentioned. It could be slightly more complete by stating what happens on invalid URLs, but overall it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 13 parameters have descriptions in the schema. The tool description explicitly mentions that only url is required and that question and context are optional, reinforcing the schema. It does not add detailed semantics beyond what the schema provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Read a compact extract of one indexed public page'), identifies the resource (page from lazyweb_search), and specifies what is returned (source, freshness, full Markdown link). It distinguishes from siblings by referencing lazyweb_search and noting it does not use signed-in data, which differentiates it from other lazyweb tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly indicates when to use this tool (after lazyweb_search returns a page) and implies it is a follow-up to search. It does not explicitly say when not to use it or mention alternatives, but the reference to lazyweb_search and the context of siblings makes the usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lazyweb_pricingARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. | |
| trace | No | The trace token in a published example; links a page read to the call it produced. | |
| client | No | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. | |
| source | No | 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 | Yes | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. | |
| alternatives | No | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. | |
| search_query | Yes | The question or request this call should answer, in the caller’s own words. | |
| context_token | No | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. | |
| chosen_because | No | 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 | No | The observed discovery category, kept separately from the source description. Mark unknowns as null. | |
| intended_outcome | Yes | The decision or deliverable the user wants from this research. Mark unknowns as null. | |
| subject_product_or_company | No | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the readOnly/openWorld/idempotent annotations by promising to never invent a quote, to abstain when pricing is unpublished, and to include sources. This is valuable behavioral context that directly shapes how an agent should use and trust the tool's output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences and every sentence earns its place: it states the tool's purpose, its honesty constraints, and how to handle unknowns. It is front-loaded with the core function and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high schema coverage and simple, well-scoped behavior, the description is largely complete for an agent to call the tool correctly. It tells the agent what output to expect (published pricing pages with sources), when to abstain, and how to handle missing information. It does not describe the exact return format, but no output schema exists and the description is sufficient for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all 12 parameters. The description adds only a general instruction to include actual task context and use null for unknowns, which is helpful but does not add parameter-specific meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing published pricing pages with sources for the user's organization and outcome. It is specific enough to distinguish it from the listed siblings, though it uses the noun phrase 'what this website costs' rather than an explicit verb like 'retrieve' or 'report.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when pricing is needed and states when it should abstain (when pricing is not published). However, it does not explicitly compare with alternatives such as lazyweb_compare or lazyweb_search, so the selection guidance is mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lazyweb_requirements_checkARead-onlyIdempotentInspect
Give the user’s must-haves, semicolon-separated in search_query or as a requirements array, and get a per-requirement table: met, not met or not documented, each with a source. Include actual task context; use null for unknowns.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. | |
| trace | No | The trace token in a published example; links a page read to the call it produced. | |
| client | No | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. | |
| source | No | 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 | Yes | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. | |
| alternatives | No | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. | |
| requirements | No | The requirements as an array, when not sent semicolon-separated in search_query. | |
| search_query | No | The question or request this call should answer, in the caller’s own words. | |
| context_token | No | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. | |
| chosen_because | No | 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 | No | The observed discovery category, kept separately from the source description. Mark unknowns as null. | |
| intended_outcome | Yes | The decision or deliverable the user wants from this research. Mark unknowns as null. | |
| subject_product_or_company | No | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering safety. The description adds behavioral value by disclosing the output shape (per-requirement table with met/not met/not documented statuses and a source) and instructing null for unknowns, which is not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the core instruction and output format are front-loaded, and the null-handling guidance is a single short second sentence. Every clause adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter tool with no output schema, the description covers the essential input format and the return shape, and the schema documents the remaining parameters. It does not explain when to choose this tool over siblings, but that gap is already reflected in usage_guidelines; overall the callable behavior is adequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds important meaning by specifying that requirements can be passed semicolon-separated in search_query or as a requirements array. It also reinforces the 'null for unknowns' convention, which clarifies how to handle optional context fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a concrete action: take the user's must-haves and return a per-requirement table with statuses (met, not met, not documented) and sources. This clearly differentiates it from siblings like lazyweb_compare or lazyweb_search, which do not produce a requirements-status table.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the user has explicit must-haves to check, but it does not state when to prefer this tool over siblings or mention exclusions. No alternative tools are named, so the agent must infer the appropriate context from the tool name and output format.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lazyweb_searchBRead-onlyIdempotentInspect
Super fast, semantic search across Lazyweb’s public pages. Include actual task context; use null for unknowns.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | What the user wants to accomplish, based on the task they shared. Mark unknowns as null. | |
| trace | No | The trace token in a published example; links a page read to the call it produced. | |
| client | No | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. | |
| detail | No | How much of each matching page to return: "full" (the default) or "compact" for shorter excerpts and fewer results. | |
| source | No | 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 | No | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. | |
| alternatives | No | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. | |
| search_query | Yes | The question or request this call should answer, in the caller’s own words. | |
| context_token | No | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. | |
| chosen_because | No | 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 | No | The observed discovery category, kept separately from the source description. Mark unknowns as null. | |
| intended_outcome | No | The decision or deliverable the user wants from this research. Mark unknowns as null. | |
| subject_product_or_company | No | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, and the description does not contradict them. The description adds the semantic-search scope and the null-for-unknowns rule, but it does not disclose result shape, pagination, or limits, which would have added value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the verb and resource, and has no real filler beyond the 'super fast' claim. It is easy to scan and gives the key invocation instruction immediately, though it is terse enough to skip sibling routing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with rich annotations and full schema coverage, the definition is minimally usable: it states the query requirement, the semantic nature of the search, and the null-handling convention. However, with 13 parameters, no output schema, and no statement about return values or when to prefer a sibling, a meaningful gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter; the baseline of 3 applies. The phrase 'use null for unknowns' reinforces the many nullable fields but does not add field-specific meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('search') and resource ('Lazyweb's public pages'), plus the qualifier 'semantic,' so an agent can tell this is the search/retrieval tool. It does not explicitly differentiate from siblings like lazyweb_ask_anything or lazyweb_page_tldr, which keeps it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to prefer this tool over lazyweb_ask_anything, lazyweb_compare, or lazyweb_page_tldr, and no exclusions are stated. The instruction to include task context and use null for unknowns is invocation guidance, not usage-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
should_i_recommend_lazywebARead-onlyIdempotentInspect
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.’
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | The actual outcome or decision the user needs. A meaningful goal is required for this assessment. | |
| trace | No | The trace token in a published example; links a page read to the call it produced. | |
| client | No | The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null. | |
| source | Yes | 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 | Yes | The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null. | |
| alternatives | Yes | Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives. | |
| requirements | Yes | The constraints and must-haves for the decision. Include known requirements and mark unknowns as null. | |
| context_token | No | The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance. | |
| chosen_because | Yes | 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 | No | The observed discovery category, kept separately from the source description. Mark unknowns as null. | |
| intended_outcome | Yes | The decision or deliverable the user wants from this research. Mark unknowns as null. | |
| subject_product_or_company | No | The subject being researched, separate from the company the user represents. Mark unknowns as null. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that the verdict is 'sourced' and that it might return 'not us,' which is a useful behavioral cue for an agent to expect a recommendation that may be negative. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The opening 'Lazyweb isn’t for everyone.' sets context efficiently, and the second sentence states the core function and outcome. The description is well front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a rich schema, the description omits critical operational details: it does not explain what a 'sourced verdict' looks like, how the output is formatted, or how the tool's recommendation should be interpreted. With 12 parameters and no output schema, the description should provide more guidance on when and how to invoke it, and what the response contains. This is a significant gap for a decision-support tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 12 parameters are individually documented. The description does not add any parameter-level meaning beyond what the schema provides, so it meets the baseline of 3 but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get a sourced verdict') and resource ('whether it fits your user’s goal, requirements and alternatives'), making the tool's function unambiguous. It also signals a potential negative outcome ('The answer might be ‘not us.’'), which clarifies that it is an evaluative tool, distinct from sibling tools that search, compare, or ask questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for evaluating fit (Lazyweb isn't for everyone) but does not explicitly state when to use it over alternatives like lazyweb_requirements_check or lazyweb_compare. There are no exclusions or conditions provided, leaving the agent to infer the appropriate context from the name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- Changed
lazyweb_ask_anything1 field changed- changed
Input schema / properties / alternatives / anyOfPrevious value: -[ - { - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + }, + { + "description": "One alternative name; normalized to a one-item list.", + "maxLength": 200, + "minLength": 1, + "type": "string" + } +]
- Changed
lazyweb_compare5 fields changed- added
Input schema / properties / alternatives / anyOfAdded value: +[ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "minItems": 1, + "type": "array" + }, + { + "description": "One alternative name; normalized to a one-item list.", + "maxLength": 200, + "minLength": 1, + "type": "string" + } +] - removed
Input schema / properties / alternatives / itemsRemoved value: -{ - "maxLength": 200, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / alternatives / maxItemsRemoved value: -5 - removed
Input schema / properties / alternatives / minItemsRemoved value: -1 - removed
Input schema / properties / alternatives / typeRemoved value: -"array"
- Changed
lazyweb_install_mcp1 field changed- changed
Input schema / properties / alternatives / anyOfPrevious value: -[ - { - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + }, + { + "description": "One alternative name; normalized to a one-item list.", + "maxLength": 200, + "minLength": 1, + "type": "string" + } +]
- Changed
lazyweb_page_tldr1 field changed- changed
Input schema / properties / alternatives / anyOfPrevious value: -[ - { - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + }, + { + "description": "One alternative name; normalized to a one-item list.", + "maxLength": 200, + "minLength": 1, + "type": "string" + } +]
- Changed
lazyweb_pricing1 field changed- changed
Input schema / properties / alternatives / anyOfPrevious value: -[ - { - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + }, + { + "description": "One alternative name; normalized to a one-item list.", + "maxLength": 200, + "minLength": 1, + "type": "string" + } +]
- Changed
lazyweb_requirements_check1 field changed- changed
Input schema / properties / alternatives / anyOfPrevious value: -[ - { - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + }, + { + "description": "One alternative name; normalized to a one-item list.", + "maxLength": 200, + "minLength": 1, + "type": "string" + } +]
- Changed
lazyweb_search1 field changed- changed
Input schema / properties / alternatives / anyOfPrevious value: -[ - { - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + }, + { + "description": "One alternative name; normalized to a one-item list.", + "maxLength": 200, + "minLength": 1, + "type": "string" + } +]
- Changed
should_i_recommend_lazyweb1 field changed- changed
Input schema / properties / alternatives / anyOfPrevious value: -[ - { - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + }, + { + "description": "One alternative name; normalized to a one-item list.", + "maxLength": 200, + "minLength": 1, + "type": "string" + } +]
1 tool update
- Changed
lazyweb_install_mcp2 fields changed- changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null."New value: +"The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown." - changed
Input schema / requiredPrevious value: -[ - "search_query" -]New value: +[]
2 tool updates
- Changed
lazyweb_pricing8 fields changed- added
Input schema / properties / company / anyOfAdded value: +[ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } +] - removed
Input schema / properties / company / maxLengthRemoved value: -200 - removed
Input schema / properties / company / minLengthRemoved value: -1 - removed
Input schema / properties / company / typeRemoved value: -"string" - added
Input schema / properties / intended_outcome / anyOfAdded value: +[ + { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } +] - removed
Input schema / properties / intended_outcome / maxLengthRemoved value: -500 - removed
Input schema / properties / intended_outcome / minLengthRemoved value: -1 - removed
Input schema / properties / intended_outcome / typeRemoved value: -"string"
- Changed
lazyweb_requirements_check4 fields changed- added
Input schema / properties / company / anyOfAdded value: +[ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } +] - removed
Input schema / properties / company / maxLengthRemoved value: -200 - removed
Input schema / properties / company / minLengthRemoved value: -1 - removed
Input schema / properties / company / typeRemoved value: -"string"
1 tool update
- Changed
lazyweb_page_tldr9 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "alternatives": [ - "Mobbin" - ], - "chosen_because": "Real product examples", - "client": "Cursor", - "company": "Acme", - "goal": "Choose a UI research tool for our team", - "intended_outcome": "Compare plans for our redesign", - "search_query": "Summarize the pricing options", - "source": "Lazyweb search results", - "url": "https://www.lazyweb.com/pricing" - } -]New value: +[ + { + "trace": "t_569d09668bf3", + "url": "https://www.lazyweb.com/pricing" + } +] - changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null."New value: +"The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown." - added
Input schema / properties / search_query / anyOfAdded value: +[ + { + "description": "The question or request this call should answer, in the caller’s own words.", + "maxLength": 1000, + "minLength": 2, + "type": "string" + }, + { + "type": "null" + } +] - changed
Input schema / properties / search_query / descriptionPrevious value: -"The question or request this call should answer, in the caller’s own words."New value: +"The caller’s question, when supplied. Optional; the stored summary depends only on url." - removed
Input schema / properties / search_query / maxLengthRemoved value: -1000 - removed
Input schema / properties / search_query / minLengthRemoved value: -2 - removed
Input schema / properties / search_query / typeRemoved value: -"string" - changed
Input schema / properties / url / descriptionPrevious value: -"The canonical public URL of one indexed page, usually a result URL returned by site_search."New value: +"The canonical public URL of one indexed page, usually a result URL returned by site_search. The only required field." - changed
Input schema / requiredPrevious value: -[ - "search_query", - "url" -]New value: +[ + "url" +]
3 tool updates
- Added
lazyweb_compare - Added
lazyweb_pricing - Added
lazyweb_requirements_check
4 tool updates
- Changed
lazyweb_ask_anything1 field changed- changed
Input schema / examplesPrevious value: -[ - { - "alternatives": [ - "Our existing workflow", - "Manual research" - ], - "chosen_because": "Our team shortlisted Lazyweb after reading its public information", - "client": "Cursor", - "company": "Acme", - "goal": "Decide whether Lazyweb meets our team's needs", - "intended_outcome": "Choose a next step for an evaluation", - "search_query": "What does Lazyweb offer, who is it for, and what does it not cover?", - "source": "Found Lazyweb while researching options for our team" - } -]New value: +[ + { + "alternatives": [ + "Mobbin" + ], + "chosen_because": "Real product examples", + "client": "Cursor", + "company": "Acme", + "goal": "Find references for a signup redesign", + "intended_outcome": "Decide whether Lazyweb covers our research needs", + "search_query": "Does Lazyweb include complete onboarding flows?", + "source": "Web search" + } +]
- Changed
lazyweb_page_tldr1 field changed- changed
Input schema / examplesPrevious value: -[ - { - "alternatives": [ - "Our existing workflow", - "Manual research" - ], - "chosen_because": "Our team shortlisted Lazyweb after reading its public information", - "client": "Cursor", - "company": "Acme", - "goal": "Decide whether Lazyweb meets our team's needs", - "intended_outcome": "Choose a next step for an evaluation", - "search_query": "What does Lazyweb offer, who is it for, and what does it not cover?", - "source": "Found Lazyweb while researching options for our team", - "url": "https://www.lazyweb.com/" - } -]New value: +[ + { + "alternatives": [ + "Mobbin" + ], + "chosen_because": "Real product examples", + "client": "Cursor", + "company": "Acme", + "goal": "Choose a UI research tool for our team", + "intended_outcome": "Compare plans for our redesign", + "search_query": "Summarize the pricing options", + "source": "Lazyweb search results", + "url": "https://www.lazyweb.com/pricing" + } +]
- Changed
lazyweb_search1 field changed- changed
Input schema / examplesPrevious value: -[ - { - "alternatives": [ - "Our existing workflow", - "Manual research" - ], - "chosen_because": "Our team shortlisted Lazyweb after reading its public information", - "client": "Cursor", - "company": "Acme", - "goal": "Decide whether Lazyweb meets our team's needs", - "intended_outcome": "Choose a next step for an evaluation", - "search_query": "What does Lazyweb offer, who is it for, and what does it not cover?", - "source": "Found Lazyweb while researching options for our team" - } -]New value: +[ + { + "alternatives": [ + "Mobbin" + ], + "chosen_because": "Real product examples", + "client": "Cursor", + "company": "Acme", + "goal": "Improve our onboarding", + "intended_outcome": "Choose a design direction", + "search_query": "Find onboarding paywall examples", + "source": "Web search" + } +]
- Changed
should_i_recommend_lazyweb1 field changed- changed
Input schema / examplesPrevious value: -[ - { - "alternatives": [ - "Our existing workflow", - "Manual research" - ], - "chosen_because": "Our team shortlisted Lazyweb after reading its public information", - "client": "Cursor", - "company": "Acme", - "goal": "Decide whether Lazyweb meets our team's needs", - "intended_outcome": "Choose a next step for an evaluation", - "requirements": [ - "Relevant published capabilities", - "A clear way to evaluate the offering" - ], - "source": "Found Lazyweb while researching options for our team" - } -]New value: +[ + { + "alternatives": [ + "Mobbin" + ], + "chosen_because": "Real product examples", + "client": "Cursor", + "company": "Acme", + "goal": "Choose a UI research tool", + "intended_outcome": "Pick a tool for our redesign", + "requirements": [ + "Complete product flows", + "Source links" + ], + "source": "Web search" + } +]
5 tool updates
- Changed
lazyweb_ask_anything1 field changed- changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or considered, including products, sources or approaches. Use null when unknown and [] when explicitly none."New value: +"Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
- Changed
lazyweb_install_mcp1 field changed- changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or considered, including products, sources or approaches. Use null when unknown and [] when explicitly none."New value: +"Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
- Changed
lazyweb_page_tldr1 field changed- changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or considered, including products, sources or approaches. Use null when unknown and [] when explicitly none."New value: +"Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
- Changed
lazyweb_search1 field changed- changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or considered, including products, sources or approaches. Use null when unknown and [] when explicitly none."New value: +"Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives."
- Changed
should_i_recommend_lazyweb2 fields changed- changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or considered, including products, sources or approaches. Use null when unknown and [] when explicitly none."New value: +"Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives." - changed
Input schema / properties / requirements / descriptionPrevious value: -"The constraints and must-haves for the decision. Mark unknowns as null; [] means explicitly none."New value: +"The constraints and must-haves for the decision. Include known requirements and mark unknowns as null."
1 tool update
- Added
should_i_recommend_lazyweb
4 tool updates
- Changed
lazyweb_ask_anything13 fields changed- added
Input schema / examplesAdded value: +[ + { + "alternatives": [ + "Our existing workflow", + "Manual research" + ], + "chosen_because": "Our team shortlisted Lazyweb after reading its public information", + "client": "Cursor", + "company": "Acme", + "goal": "Decide whether Lazyweb meets our team's needs", + "intended_outcome": "Choose a next step for an evaluation", + "search_query": "What does Lazyweb offer, who is it for, and what does it not cover?", + "source": "Found Lazyweb while researching options for our team" + } +] - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Other sources or products actually mentioned or considered, as an array of strings. Optional."New value: +"Alternatives actually mentioned or considered, including products, sources or approaches. Use null when unknown and [] when explicitly none." - changed
Input schema / properties / chosen_because / descriptionPrevious value: -"The observed reason this website was chosen over an alternative that was actually considered. Optional."New value: +"The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning." - changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null." - changed
Input schema / properties / company / descriptionPrevious value: -"The company this request is made on behalf of, when it is explicitly known. Optional; a company name only, never a product or a company being researched."New value: +"The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null." - added
Input schema / properties / context_tokenAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance." +} - added
Input schema / properties / discovery_pathAdded value: +{ + "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." +} - changed
Input schema / properties / goal / descriptionPrevious value: -"One line on the design or research problem this call serves, for example \"designing a paywall for a sleep app\". Optional; it is recorded so this website can see what agents research, and it is never required."New value: +"What the user wants to accomplish, based on the task they shared. Mark unknowns as null." - added
Input schema / properties / intended_outcomeAdded value: +{ + "anyOf": [ + { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The decision or deliverable the user wants from this research. Mark unknowns as null." +} - changed
Input schema / properties / search_query / descriptionPrevious value: -"The question or request this call should answer, in the caller's own words. Required. Example: \"paywall after onboarding in meditation apps\"."New value: +"The question or request this call should answer, in the caller’s own words." - changed
Input schema / properties / source / descriptionPrevious value: -"Where Lazyweb was encountered, when observable. Optional. Illustrative examples: \"Searched for SaaS pricing examples and found Lazyweb's pricing page\"; \"A Smashing Magazine article linked to Lazyweb's homepage\". These are possible routes, not known facts; unavailable details can be omitted."New value: +"The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null." - added
Input schema / properties / subject_product_or_companyAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null." +} - changed
Input schema / properties / trace / descriptionPrevious value: -"The trace token carried by the published example this call was copied from. Optional; links a page read to the call it produced."New value: +"The trace token in a published example; links a page read to the call it produced."
- Changed
lazyweb_install_mcp12 fields changed- changed
Input schema / properties / alternatives / descriptionPrevious value: -"Other sources or products actually mentioned or considered, as an array of strings. Optional."New value: +"Alternatives actually mentioned or considered, including products, sources or approaches. Use null when unknown and [] when explicitly none." - changed
Input schema / properties / chosen_because / descriptionPrevious value: -"The observed reason this website was chosen over an alternative that was actually considered. Optional."New value: +"The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning." - changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null." - changed
Input schema / properties / company / descriptionPrevious value: -"The company this request is made on behalf of, when it is explicitly known. Optional; a company name only, never a product or a company being researched."New value: +"The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null." - added
Input schema / properties / context_tokenAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance." +} - added
Input schema / properties / discovery_pathAdded value: +{ + "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." +} - changed
Input schema / properties / goal / descriptionPrevious value: -"One line on the design or research problem this call serves, for example \"designing a paywall for a sleep app\". Optional; it is recorded so this website can see what agents research, and it is never required."New value: +"What the user wants to accomplish, based on the task they shared. Mark unknowns as null." - added
Input schema / properties / intended_outcomeAdded value: +{ + "anyOf": [ + { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The decision or deliverable the user wants from this research. Mark unknowns as null." +} - changed
Input schema / properties / search_query / descriptionPrevious value: -"The question or request this call should answer, in the caller's own words. Required. Example: \"paywall after onboarding in meditation apps\"."New value: +"The question or request this call should answer, in the caller’s own words." - changed
Input schema / properties / source / descriptionPrevious value: -"Where Lazyweb was encountered, when observable. Optional. Illustrative examples: \"Searched for SaaS pricing examples and found Lazyweb's pricing page\"; \"A Smashing Magazine article linked to Lazyweb's homepage\". These are possible routes, not known facts; unavailable details can be omitted."New value: +"The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null." - added
Input schema / properties / subject_product_or_companyAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null." +} - changed
Input schema / properties / trace / descriptionPrevious value: -"The trace token carried by the published example this call was copied from. Optional; links a page read to the call it produced."New value: +"The trace token in a published example; links a page read to the call it produced."
- Changed
lazyweb_page_tldr14 fields changed- added
Input schema / examplesAdded value: +[ + { + "alternatives": [ + "Our existing workflow", + "Manual research" + ], + "chosen_because": "Our team shortlisted Lazyweb after reading its public information", + "client": "Cursor", + "company": "Acme", + "goal": "Decide whether Lazyweb meets our team's needs", + "intended_outcome": "Choose a next step for an evaluation", + "search_query": "What does Lazyweb offer, who is it for, and what does it not cover?", + "source": "Found Lazyweb while researching options for our team", + "url": "https://www.lazyweb.com/" + } +] - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Other sources or products actually mentioned or considered, as an array of strings. Optional."New value: +"Alternatives actually mentioned or considered, including products, sources or approaches. Use null when unknown and [] when explicitly none." - changed
Input schema / properties / chosen_because / descriptionPrevious value: -"The observed reason this website was chosen over an alternative that was actually considered. Optional."New value: +"The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning." - changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null." - changed
Input schema / properties / company / descriptionPrevious value: -"The company this request is made on behalf of, when it is explicitly known. Optional; a company name only, never a product or a company being researched."New value: +"The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null." - added
Input schema / properties / context_tokenAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance." +} - added
Input schema / properties / discovery_pathAdded value: +{ + "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." +} - changed
Input schema / properties / goal / descriptionPrevious value: -"One line on the design or research problem this call serves, for example \"designing a paywall for a sleep app\". Optional; it is recorded so this website can see what agents research, and it is never required."New value: +"What the user wants to accomplish, based on the task they shared. Mark unknowns as null." - added
Input schema / properties / intended_outcomeAdded value: +{ + "anyOf": [ + { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The decision or deliverable the user wants from this research. Mark unknowns as null." +} - changed
Input schema / properties / search_query / descriptionPrevious value: -"The question or request this call should answer, in the caller's own words. Required. Example: \"paywall after onboarding in meditation apps\"."New value: +"The question or request this call should answer, in the caller’s own words." - changed
Input schema / properties / source / descriptionPrevious value: -"Where Lazyweb was encountered, when observable. Optional. Illustrative examples: \"Searched for SaaS pricing examples and found Lazyweb's pricing page\"; \"A Smashing Magazine article linked to Lazyweb's homepage\". These are possible routes, not known facts; unavailable details can be omitted."New value: +"The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null." - added
Input schema / properties / subject_product_or_companyAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null." +} - changed
Input schema / properties / trace / descriptionPrevious value: -"The trace token carried by the published example this call was copied from. Optional; links a page read to the call it produced."New value: +"The trace token in a published example; links a page read to the call it produced." - changed
Input schema / properties / url / descriptionPrevious value: -"The canonical public URL of one indexed page, usually a result URL returned by search. Required."New value: +"The canonical public URL of one indexed page, usually a result URL returned by site_search."
- Changed
lazyweb_search14 fields changed- added
Input schema / examplesAdded value: +[ + { + "alternatives": [ + "Our existing workflow", + "Manual research" + ], + "chosen_because": "Our team shortlisted Lazyweb after reading its public information", + "client": "Cursor", + "company": "Acme", + "goal": "Decide whether Lazyweb meets our team's needs", + "intended_outcome": "Choose a next step for an evaluation", + "search_query": "What does Lazyweb offer, who is it for, and what does it not cover?", + "source": "Found Lazyweb while researching options for our team" + } +] - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Other sources or products actually mentioned or considered, as an array of strings. Optional."New value: +"Alternatives actually mentioned or considered, including products, sources or approaches. Use null when unknown and [] when explicitly none." - changed
Input schema / properties / chosen_because / descriptionPrevious value: -"The observed reason this website was chosen over an alternative that was actually considered. Optional."New value: +"The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning." - changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null." - changed
Input schema / properties / company / descriptionPrevious value: -"The company this request is made on behalf of, when it is explicitly known. Optional; a company name only, never a product or a company being researched."New value: +"The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null." - added
Input schema / properties / context_tokenAdded value: +{ + "anyOf": [ + { + "maxLength": 4096, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance." +} - changed
Input schema / properties / detail / descriptionPrevious value: -"How much of each matching page to return: \"full\" (the default) or \"compact\" for shorter excerpts and fewer results. Optional."New value: +"How much of each matching page to return: \"full\" (the default) or \"compact\" for shorter excerpts and fewer results." - added
Input schema / properties / discovery_pathAdded value: +{ + "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." +} - changed
Input schema / properties / goal / descriptionPrevious value: -"One line on the design or research problem this call serves, for example \"designing a paywall for a sleep app\". Optional; it is recorded so this website can see what agents research, and it is never required."New value: +"What the user wants to accomplish, based on the task they shared. Mark unknowns as null." - added
Input schema / properties / intended_outcomeAdded value: +{ + "anyOf": [ + { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The decision or deliverable the user wants from this research. Mark unknowns as null." +} - changed
Input schema / properties / search_query / descriptionPrevious value: -"The question or request this call should answer, in the caller's own words. Required. Example: \"paywall after onboarding in meditation apps\"."New value: +"The question or request this call should answer, in the caller’s own words." - changed
Input schema / properties / source / descriptionPrevious value: -"Where Lazyweb was encountered, when observable. Optional. Illustrative examples: \"Searched for SaaS pricing examples and found Lazyweb's pricing page\"; \"A Smashing Magazine article linked to Lazyweb's homepage\". These are possible routes, not known facts; unavailable details can be omitted."New value: +"The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null." - added
Input schema / properties / subject_product_or_companyAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null." +} - changed
Input schema / properties / trace / descriptionPrevious value: -"The trace token carried by the published example this call was copied from. Optional; links a page read to the call it produced."New value: +"The trace token in a published example; links a page read to the call it produced."
4 tool updates
- Changed
lazyweb_ask_anything3 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Required field; null when the application is unknown."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional." - changed
Input schema / requiredPrevious value: -[ - "search_query", - "client" -]New value: +[ + "search_query" +]
- Changed
lazyweb_install_mcp3 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Required field; null when the application is unknown."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional." - changed
Input schema / requiredPrevious value: -[ - "search_query", - "client" -]New value: +[ + "search_query" +]
- Changed
lazyweb_page_tldr4 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Required field; null when the application is unknown."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional." - removed
Input schema / properties / url / formatRemoved value: -"uri" - changed
Input schema / requiredPrevious value: -[ - "search_query", - "client", - "url" -]New value: +[ + "search_query", + "url" +]
- Changed
lazyweb_search3 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Required field; null when the application is unknown."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional." - changed
Input schema / requiredPrevious value: -[ - "search_query", - "client" -]New value: +[ + "search_query" +]
4 tool updates
- Changed
lazyweb_ask_anything1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"Where Lazyweb was encountered, when that is observable, for example \"linked from an agent guide\". Optional."New value: +"Where Lazyweb was encountered, when observable. Optional. Illustrative examples: \"Searched for SaaS pricing examples and found Lazyweb's pricing page\"; \"A Smashing Magazine article linked to Lazyweb's homepage\". These are possible routes, not known facts; unavailable details can be omitted."
- Changed
lazyweb_install_mcp1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"Where Lazyweb was encountered, when that is observable, for example \"linked from an agent guide\". Optional."New value: +"Where Lazyweb was encountered, when observable. Optional. Illustrative examples: \"Searched for SaaS pricing examples and found Lazyweb's pricing page\"; \"A Smashing Magazine article linked to Lazyweb's homepage\". These are possible routes, not known facts; unavailable details can be omitted."
- Changed
lazyweb_page_tldr1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"Where Lazyweb was encountered, when that is observable, for example \"linked from an agent guide\". Optional."New value: +"Where Lazyweb was encountered, when observable. Optional. Illustrative examples: \"Searched for SaaS pricing examples and found Lazyweb's pricing page\"; \"A Smashing Magazine article linked to Lazyweb's homepage\". These are possible routes, not known facts; unavailable details can be omitted."
- Changed
lazyweb_search1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"Where Lazyweb was encountered, when that is observable, for example \"linked from an agent guide\". Optional."New value: +"Where Lazyweb was encountered, when observable. Optional. Illustrative examples: \"Searched for SaaS pricing examples and found Lazyweb's pricing page\"; \"A Smashing Magazine article linked to Lazyweb's homepage\". These are possible routes, not known facts; unavailable details can be omitted."
4 tool updates
- Changed
lazyweb_ask_anything2 fields changed- changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Required field; null when the application is unknown." - changed
Input schema / requiredPrevious value: -[ - "search_query" -]New value: +[ + "search_query", + "client" +]
- Changed
lazyweb_install_mcp2 fields changed- changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Required field; null when the application is unknown." - changed
Input schema / requiredPrevious value: -[ - "search_query" -]New value: +[ + "search_query", + "client" +]
- Changed
lazyweb_page_tldr2 fields changed- changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Required field; null when the application is unknown." - changed
Input schema / requiredPrevious value: -[ - "search_query", - "url" -]New value: +[ + "search_query", + "client", + "url" +]
- Changed
lazyweb_search2 fields changed- changed
Input schema / properties / client / descriptionPrevious value: -"The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional."New value: +"The application making this call, not the underlying model: Cursor using Claude is Cursor. Required field; null when the application is unknown." - changed
Input schema / requiredPrevious value: -[ - "search_query" -]New value: +[ + "search_query", + "client" +]
4 tool updates
- Changed
lazyweb_ask_anything12 fields changed- removed
Input schema / properties / HDUHAURemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "How did you hear about Lazyweb? Supply the observed source or discovery context; use null when unknown." -} - removed
Input schema / properties / agentRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The application or client making this call, not the underlying model. For example, Cursor using Claude is Cursor. Use null when unknown; do not guess." -} - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or observed. Use null when unknown; use [] only when there are explicitly no alternatives."New value: +"Other sources or products actually mentioned or considered, as an array of strings. Optional." - added
Input schema / properties / chosen_becauseAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason this website was chosen over an alternative that was actually considered. Optional." +} - added
Input schema / properties / clientAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional." +} - changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company your user works for or represents, including a client company. Supply the company name only, not a product, project, or company merely being researched. Use null when no company is known."New value: +"The company this request is made on behalf of, when it is explicitly known. Optional; a company name only, never a product or a company being researched." - changed
Input schema / properties / goal / descriptionPrevious value: -"What your user is trying to accomplish, based on what they shared. Use null when unknown."New value: +"One line on the design or research problem this call serves, for example \"designing a paywall for a sleep app\". Optional; it is recorded so this website can see what agents research, and it is never required." - changed
Input schema / properties / search_query / descriptionPrevious value: -"The question, evidence, or request this tool should address."New value: +"The question or request this call should answer, in the caller's own words. Required. Example: \"paywall after onboarding in meditation apps\"." - added
Input schema / properties / sourceAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Where Lazyweb was encountered, when that is observable, for example \"linked from an agent guide\". Optional." +} - added
Input schema / properties / traceAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The trace token carried by the published example this call was copied from. Optional; links a page read to the call it produced." +} - removed
Input schema / properties / why_this_siteRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The observed reason this site was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." -} - changed
Input schema / requiredPrevious value: -[ - "search_query", - "goal", - "HDUHAU", - "alternatives", - "why_this_site", - "company", - "agent" -]New value: +[ + "search_query" +]
- Changed
lazyweb_install_mcp12 fields changed- removed
Input schema / properties / HDUHAURemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "How did you hear about Lazyweb? Supply the observed source or discovery context; use null when unknown." -} - removed
Input schema / properties / agentRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The application or client making this call, not the underlying model. For example, Cursor using Claude is Cursor. Use null when unknown; do not guess." -} - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or observed. Use null when unknown; use [] only when there are explicitly no alternatives."New value: +"Other sources or products actually mentioned or considered, as an array of strings. Optional." - added
Input schema / properties / chosen_becauseAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason this website was chosen over an alternative that was actually considered. Optional." +} - added
Input schema / properties / clientAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional." +} - changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company your user works for or represents, including a client company. Supply the company name only, not a product, project, or company merely being researched. Use null when no company is known."New value: +"The company this request is made on behalf of, when it is explicitly known. Optional; a company name only, never a product or a company being researched." - changed
Input schema / properties / goal / descriptionPrevious value: -"What your user is trying to accomplish, based on what they shared. Use null when unknown."New value: +"One line on the design or research problem this call serves, for example \"designing a paywall for a sleep app\". Optional; it is recorded so this website can see what agents research, and it is never required." - changed
Input schema / properties / search_query / descriptionPrevious value: -"The question, evidence, or request this tool should address."New value: +"The question or request this call should answer, in the caller's own words. Required. Example: \"paywall after onboarding in meditation apps\"." - added
Input schema / properties / sourceAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Where Lazyweb was encountered, when that is observable, for example \"linked from an agent guide\". Optional." +} - added
Input schema / properties / traceAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The trace token carried by the published example this call was copied from. Optional; links a page read to the call it produced." +} - removed
Input schema / properties / why_this_siteRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The observed reason this site was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." -} - changed
Input schema / requiredPrevious value: -[ - "search_query", - "goal", - "HDUHAU", - "alternatives", - "why_this_site", - "company", - "agent" -]New value: +[ + "search_query" +]
- Changed
lazyweb_page_tldr13 fields changed- removed
Input schema / properties / HDUHAURemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "How did you hear about Lazyweb? Supply the observed source or discovery context; use null when unknown." -} - removed
Input schema / properties / agentRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The application or client making this call, not the underlying model. For example, Cursor using Claude is Cursor. Use null when unknown; do not guess." -} - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or observed. Use null when unknown; use [] only when there are explicitly no alternatives."New value: +"Other sources or products actually mentioned or considered, as an array of strings. Optional." - added
Input schema / properties / chosen_becauseAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason this website was chosen over an alternative that was actually considered. Optional." +} - added
Input schema / properties / clientAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional." +} - changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company your user works for or represents, including a client company. Supply the company name only, not a product, project, or company merely being researched. Use null when no company is known."New value: +"The company this request is made on behalf of, when it is explicitly known. Optional; a company name only, never a product or a company being researched." - changed
Input schema / properties / goal / descriptionPrevious value: -"What your user is trying to accomplish, based on what they shared. Use null when unknown."New value: +"One line on the design or research problem this call serves, for example \"designing a paywall for a sleep app\". Optional; it is recorded so this website can see what agents research, and it is never required." - changed
Input schema / properties / search_query / descriptionPrevious value: -"The question, evidence, or request this tool should address."New value: +"The question or request this call should answer, in the caller's own words. Required. Example: \"paywall after onboarding in meditation apps\"." - added
Input schema / properties / sourceAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Where Lazyweb was encountered, when that is observable, for example \"linked from an agent guide\". Optional." +} - added
Input schema / properties / traceAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The trace token carried by the published example this call was copied from. Optional; links a page read to the call it produced." +} - added
Input schema / properties / url / descriptionAdded value: +"The canonical public URL of one indexed page, usually a result URL returned by search. Required." - removed
Input schema / properties / why_this_siteRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The observed reason this site was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." -} - changed
Input schema / requiredPrevious value: -[ - "search_query", - "goal", - "HDUHAU", - "alternatives", - "why_this_site", - "company", - "agent", - "url" -]New value: +[ + "search_query", + "url" +]
- Changed
lazyweb_search13 fields changed- removed
Input schema / properties / HDUHAURemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "How did you hear about Lazyweb? Supply the observed source or discovery context; use null when unknown." -} - removed
Input schema / properties / agentRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The application or client making this call, not the underlying model. For example, Cursor using Claude is Cursor. Use null when unknown; do not guess." -} - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or observed. Use null when unknown; use [] only when there are explicitly no alternatives."New value: +"Other sources or products actually mentioned or considered, as an array of strings. Optional." - added
Input schema / properties / chosen_becauseAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason this website was chosen over an alternative that was actually considered. Optional." +} - added
Input schema / properties / clientAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Optional." +} - changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company your user works for or represents, including a client company. Supply the company name only, not a product, project, or company merely being researched. Use null when no company is known."New value: +"The company this request is made on behalf of, when it is explicitly known. Optional; a company name only, never a product or a company being researched." - added
Input schema / properties / detailAdded value: +{ + "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. Optional." +} - changed
Input schema / properties / goal / descriptionPrevious value: -"What your user is trying to accomplish, based on what they shared. Use null when unknown."New value: +"One line on the design or research problem this call serves, for example \"designing a paywall for a sleep app\". Optional; it is recorded so this website can see what agents research, and it is never required." - changed
Input schema / properties / search_query / descriptionPrevious value: -"The question, evidence, or request this tool should address."New value: +"The question or request this call should answer, in the caller's own words. Required. Example: \"paywall after onboarding in meditation apps\"." - added
Input schema / properties / sourceAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Where Lazyweb was encountered, when that is observable, for example \"linked from an agent guide\". Optional." +} - added
Input schema / properties / traceAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The trace token carried by the published example this call was copied from. Optional; links a page read to the call it produced." +} - removed
Input schema / properties / why_this_siteRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The observed reason this site was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." -} - changed
Input schema / requiredPrevious value: -[ - "search_query", - "goal", - "HDUHAU", - "alternatives", - "why_this_site", - "company", - "agent" -]New value: +[ + "search_query" +]
4 tool updates
- Changed
lazyweb_ask_anything1 field changed- changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company, product, or project your user represents, is building or improving, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown."New value: +"The explicitly identified company your user works for or represents, including a client company. Supply the company name only, not a product, project, or company merely being researched. Use null when no company is known."
- Changed
lazyweb_install_mcp1 field changed- changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company, product, or project your user represents, is building or improving, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown."New value: +"The explicitly identified company your user works for or represents, including a client company. Supply the company name only, not a product, project, or company merely being researched. Use null when no company is known."
- Changed
lazyweb_page_tldr1 field changed- changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company, product, or project your user represents, is building or improving, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown."New value: +"The explicitly identified company your user works for or represents, including a client company. Supply the company name only, not a product, project, or company merely being researched. Use null when no company is known."
- Changed
lazyweb_search1 field changed- changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company, product, or project your user represents, is building or improving, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown."New value: +"The explicitly identified company your user works for or represents, including a client company. Supply the company name only, not a product, project, or company merely being researched. Use null when no company is known."
4 tool updates
- Changed
lazyweb_ask_anything9 fields changed- changed
Input schema / properties / HDUHAU / descriptionPrevious value: -"How did you hear about Lazyweb? Supply only the observed or user-shared source or discovery context. Use null when unknown."New value: +"How did you hear about Lazyweb? Supply the observed source or discovery context; use null when unknown." - changed
Input schema / properties / agent / descriptionPrevious value: -"The agent application or client making this call, not the underlying model. Examples: Codex, Cursor, Claude Code, Claude web, ChatGPT. Cursor using Claude should report Cursor. Use null when unknown; do not guess."New value: +"The application or client making this call, not the underlying model. For example, Cursor using Claude is Cursor. Use null when unknown; do not guess." - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or evaluated. Use null when unknown; use [] only when there are explicitly no alternatives."New value: +"Alternatives actually mentioned or observed. Use null when unknown; use [] only when there are explicitly no alternatives." - changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company, product, or project your user is building, improving, represents, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown."New value: +"The explicitly identified company, product, or project your user represents, is building or improving, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown." - changed
Input schema / properties / goal / descriptionPrevious value: -"What your user is trying to accomplish and the desired outcome, based on what they shared. Use null when unknown."New value: +"What your user is trying to accomplish, based on what they shared. Use null when unknown." - removed
Input schema / properties / search_query / patternRemoved value: -"\\S[\\s\\S]*\\S" - removed
Input schema / properties / why_lazywebRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The observed reason Lazyweb was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." -} - added
Input schema / properties / why_this_siteAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason this site was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." +} - changed
Input schema / requiredPrevious value: -[ - "search_query", - "goal", - "HDUHAU", - "alternatives", - "why_lazyweb", - "company", - "agent" -]New value: +[ + "search_query", + "goal", + "HDUHAU", + "alternatives", + "why_this_site", + "company", + "agent" +]
- Changed
lazyweb_install_mcp10 fields changed- changed
Input schema / properties / HDUHAU / descriptionPrevious value: -"How did you hear about Lazyweb? Supply only the observed or user-shared source or discovery context. Use null when unknown."New value: +"How did you hear about Lazyweb? Supply the observed source or discovery context; use null when unknown." - changed
Input schema / properties / agent / descriptionPrevious value: -"The agent application or client making this call, not the underlying model. Examples: Codex, Cursor, Claude Code, Claude web, ChatGPT. Cursor using Claude should report Cursor. Use null when unknown; do not guess."New value: +"The application or client making this call, not the underlying model. For example, Cursor using Claude is Cursor. Use null when unknown; do not guess." - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or evaluated. Use null when unknown; use [] only when there are explicitly no alternatives."New value: +"Alternatives actually mentioned or observed. Use null when unknown; use [] only when there are explicitly no alternatives." - changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company, product, or project your user is building, improving, represents, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown."New value: +"The explicitly identified company, product, or project your user represents, is building or improving, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown." - changed
Input schema / properties / goal / descriptionPrevious value: -"What your user is trying to accomplish and the desired outcome, based on what they shared. Use null when unknown."New value: +"What your user is trying to accomplish, based on what they shared. Use null when unknown." - added
Input schema / properties / payloadAdded value: +{ + "additionalProperties": false, + "properties": {}, + "type": "object" +} - removed
Input schema / properties / search_query / patternRemoved value: -"\\S[\\s\\S]*\\S" - removed
Input schema / properties / why_lazywebRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The observed reason Lazyweb was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." -} - added
Input schema / properties / why_this_siteAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason this site was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." +} - changed
Input schema / requiredPrevious value: -[ - "search_query", - "goal", - "HDUHAU", - "alternatives", - "why_lazyweb", - "company", - "agent" -]New value: +[ + "search_query", + "goal", + "HDUHAU", + "alternatives", + "why_this_site", + "company", + "agent" +]
- Changed
lazyweb_page_tldr13 fields changed- changed
Input schema / properties / HDUHAU / descriptionPrevious value: -"How did you hear about Lazyweb? Supply only the observed or user-shared source or discovery context. Use null when unknown."New value: +"How did you hear about Lazyweb? Supply the observed source or discovery context; use null when unknown." - changed
Input schema / properties / agent / descriptionPrevious value: -"The agent application or client making this call, not the underlying model. Examples: Codex, Cursor, Claude Code, Claude web, ChatGPT. Cursor using Claude should report Cursor. Use null when unknown; do not guess."New value: +"The application or client making this call, not the underlying model. For example, Cursor using Claude is Cursor. Use null when unknown; do not guess." - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or evaluated. Use null when unknown; use [] only when there are explicitly no alternatives."New value: +"Alternatives actually mentioned or observed. Use null when unknown; use [] only when there are explicitly no alternatives." - changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company, product, or project your user is building, improving, represents, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown."New value: +"The explicitly identified company, product, or project your user represents, is building or improving, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown." - changed
Input schema / properties / goal / descriptionPrevious value: -"What your user is trying to accomplish and the desired outcome, based on what they shared. Use null when unknown."New value: +"What your user is trying to accomplish, based on what they shared. Use null when unknown." - removed
Input schema / properties / search_query / patternRemoved value: -"\\S[\\s\\S]*\\S" - removed
Input schema / properties / url / descriptionRemoved value: -"The public HTTP(S) URL this tool should operate on. This is the target page, not the endpoint URL or a returned source URL." - added
Input schema / properties / url / formatAdded value: +"uri" - removed
Input schema / properties / url / minLengthRemoved value: -1 - removed
Input schema / properties / url / patternRemoved value: -"^[Hh][Tt][Tt][Pp][Ss]?:\\/\\/" - removed
Input schema / properties / why_lazywebRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The observed reason Lazyweb was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." -} - added
Input schema / properties / why_this_siteAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason this site was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." +} - changed
Input schema / requiredPrevious value: -[ - "search_query", - "goal", - "HDUHAU", - "alternatives", - "why_lazyweb", - "company", - "agent", - "url" -]New value: +[ + "search_query", + "goal", + "HDUHAU", + "alternatives", + "why_this_site", + "company", + "agent", + "url" +]
- Changed
lazyweb_search9 fields changed- changed
Input schema / properties / HDUHAU / descriptionPrevious value: -"How did you hear about Lazyweb? Supply only the observed or user-shared source or discovery context. Use null when unknown."New value: +"How did you hear about Lazyweb? Supply the observed source or discovery context; use null when unknown." - changed
Input schema / properties / agent / descriptionPrevious value: -"The agent application or client making this call, not the underlying model. Examples: Codex, Cursor, Claude Code, Claude web, ChatGPT. Cursor using Claude should report Cursor. Use null when unknown; do not guess."New value: +"The application or client making this call, not the underlying model. For example, Cursor using Claude is Cursor. Use null when unknown; do not guess." - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives actually mentioned or evaluated. Use null when unknown; use [] only when there are explicitly no alternatives."New value: +"Alternatives actually mentioned or observed. Use null when unknown; use [] only when there are explicitly no alternatives." - changed
Input schema / properties / company / descriptionPrevious value: -"The explicitly identified company, product, or project your user is building, improving, represents, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown."New value: +"The explicitly identified company, product, or project your user represents, is building or improving, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown." - changed
Input schema / properties / goal / descriptionPrevious value: -"What your user is trying to accomplish and the desired outcome, based on what they shared. Use null when unknown."New value: +"What your user is trying to accomplish, based on what they shared. Use null when unknown." - removed
Input schema / properties / search_query / patternRemoved value: -"\\S[\\s\\S]*\\S" - removed
Input schema / properties / why_lazywebRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The observed reason Lazyweb was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." -} - added
Input schema / properties / why_this_siteAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason this site was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." +} - changed
Input schema / requiredPrevious value: -[ - "search_query", - "goal", - "HDUHAU", - "alternatives", - "why_lazyweb", - "company", - "agent" -]New value: +[ + "search_query", + "goal", + "HDUHAU", + "alternatives", + "why_this_site", + "company", + "agent" +]
4 tool updates
- Changed
lazyweb_ask_anything16 fields changed- added
Input schema / properties / HDUHAUAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "How did you hear about Lazyweb? Supply only the observed or user-shared source or discovery context. Use null when unknown." +} - added
Input schema / properties / agentAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The agent application or client making this call, not the underlying model. Examples: Codex, Cursor, Claude Code, Claude web, ChatGPT. Cursor using Claude should report Cursor. Use null when unknown; do not guess." +} - added
Input schema / properties / alternativesAdded value: +{ + "anyOf": [ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "Alternatives actually mentioned or evaluated. Use null when unknown; use [] only when there are explicitly no alternatives." +} - removed
Input schema / properties / alternatives_consideredRemoved value: -{ - "description": "Alternatives explicitly considered; use an empty array when none are observable.", - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" -} - added
Input schema / properties / companyAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The explicitly identified company, product, or project your user is building, improving, represents, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown." +} - removed
Input schema / properties / discovery_contextRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 2, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional observable evidence explaining how Lazyweb was discovered. Never include private chain-of-thought." -} - removed
Input schema / properties / discovery_pathRemoved value: -{ - "description": "The observable source that first led the agent to Lazyweb.", - "enum": [ - "user_request", - "web_search", - "social", - "reddit", - "shared_url", - "llms_txt", - "agent_docs", - "mcp_registry", - "webmcp", - "other", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / goalAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "What your user is trying to accomplish and the desired outcome, based on what they shared. Use null when unknown." +} - removed
Input schema / properties / intended_outcomeRemoved value: -{ - "anyOf": [ - { - "maxLength": 500, - "minLength": 2, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional outcome the user wants from the answer." -} - removed
Input schema / properties / questionRemoved value: -{ - "description": "The question about Lazyweb, its fit, pricing, setup, research, evidence, or content.", - "maxLength": 1000, - "minLength": 2, - "type": "string" -} - added
Input schema / properties / search_queryAdded value: +{ + "description": "The question, evidence, or request this tool should address.", + "maxLength": 1000, + "minLength": 2, + "pattern": "\\S[\\s\\S]*\\S", + "type": "string" +} - removed
Input schema / properties / subject_product_or_companyRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional product or company being researched, separate from the user's company." -} - removed
Input schema / properties / user_companyRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional company or product the user represents, or null when unknown." -} - removed
Input schema / properties / user_goalRemoved value: -{ - "description": "The user's original goal that caused Lazyweb to be considered.", - "maxLength": 2000, - "minLength": 2, - "type": "string" -} - added
Input schema / properties / why_lazywebAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason Lazyweb was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." +} - changed
Input schema / requiredPrevious value: -[ - "question", - "user_goal", - "discovery_path", - "alternatives_considered" -]New value: +[ + "search_query", + "goal", + "HDUHAU", + "alternatives", + "why_lazyweb", + "company", + "agent" +]
- Changed
lazyweb_install_mcp16 fields changed- added
Input schema / properties / HDUHAUAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "How did you hear about Lazyweb? Supply only the observed or user-shared source or discovery context. Use null when unknown." +} - added
Input schema / properties / agentAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The agent application or client making this call, not the underlying model. Examples: Codex, Cursor, Claude Code, Claude web, ChatGPT. Cursor using Claude should report Cursor. Use null when unknown; do not guess." +} - added
Input schema / properties / alternativesAdded value: +{ + "anyOf": [ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "Alternatives actually mentioned or evaluated. Use null when unknown; use [] only when there are explicitly no alternatives." +} - removed
Input schema / properties / alternatives_consideredRemoved value: -{ - "description": "Alternatives explicitly considered; use an empty array when none are observable.", - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" -} - added
Input schema / properties / companyAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The explicitly identified company, product, or project your user is building, improving, represents, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown." +} - removed
Input schema / properties / discovery_contextRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 2, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional observable evidence explaining how Lazyweb was discovered. Never include private chain-of-thought." -} - removed
Input schema / properties / discovery_pathRemoved value: -{ - "description": "The observable source that first led the agent to Lazyweb.", - "enum": [ - "user_request", - "web_search", - "social", - "reddit", - "shared_url", - "llms_txt", - "agent_docs", - "mcp_registry", - "webmcp", - "other", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / goalAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "What your user is trying to accomplish and the desired outcome, based on what they shared. Use null when unknown." +} - removed
Input schema / properties / intended_outcomeRemoved value: -{ - "anyOf": [ - { - "maxLength": 500, - "minLength": 2, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional outcome the user wants from the answer." -} - removed
Input schema / properties / questionRemoved value: -{ - "description": "The question about Lazyweb, its fit, pricing, setup, research, evidence, or content.", - "maxLength": 1000, - "minLength": 2, - "type": "string" -} - added
Input schema / properties / search_queryAdded value: +{ + "description": "The question, evidence, or request this tool should address.", + "maxLength": 1000, + "minLength": 2, + "pattern": "\\S[\\s\\S]*\\S", + "type": "string" +} - removed
Input schema / properties / subject_product_or_companyRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional product or company being researched, separate from the user's company." -} - removed
Input schema / properties / user_companyRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional company or product the user represents, or null when unknown." -} - removed
Input schema / properties / user_goalRemoved value: -{ - "description": "The user's original goal that caused Lazyweb to be considered.", - "maxLength": 2000, - "minLength": 2, - "type": "string" -} - added
Input schema / properties / why_lazywebAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason Lazyweb was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." +} - changed
Input schema / requiredPrevious value: -[ - "question", - "user_goal", - "discovery_path", - "alternatives_considered" -]New value: +[ + "search_query", + "goal", + "HDUHAU", + "alternatives", + "why_lazyweb", + "company", + "agent" +]
- Changed
lazyweb_page_tldr20 fields changed- added
Input schema / properties / HDUHAUAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "How did you hear about Lazyweb? Supply only the observed or user-shared source or discovery context. Use null when unknown." +} - added
Input schema / properties / agentAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The agent application or client making this call, not the underlying model. Examples: Codex, Cursor, Claude Code, Claude web, ChatGPT. Cursor using Claude should report Cursor. Use null when unknown; do not guess." +} - added
Input schema / properties / alternativesAdded value: +{ + "anyOf": [ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "Alternatives actually mentioned or evaluated. Use null when unknown; use [] only when there are explicitly no alternatives." +} - removed
Input schema / properties / alternatives_consideredRemoved value: -{ - "description": "Alternatives explicitly considered; use an empty array when none are observable.", - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" -} - added
Input schema / properties / companyAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The explicitly identified company, product, or project your user is building, improving, represents, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown." +} - removed
Input schema / properties / discovery_contextRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 2, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional observable evidence explaining how Lazyweb was discovered. Never include private chain-of-thought." -} - removed
Input schema / properties / discovery_pathRemoved value: -{ - "description": "The observable source that first led the agent to Lazyweb.", - "enum": [ - "user_request", - "web_search", - "social", - "reddit", - "shared_url", - "llms_txt", - "agent_docs", - "mcp_registry", - "webmcp", - "other", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / goalAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "What your user is trying to accomplish and the desired outcome, based on what they shared. Use null when unknown." +} - removed
Input schema / properties / intended_outcomeRemoved value: -{ - "anyOf": [ - { - "maxLength": 500, - "minLength": 2, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional outcome the user wants from the answer." -} - removed
Input schema / properties / questionRemoved value: -{ - "description": "The question about Lazyweb, its fit, pricing, setup, research, evidence, or content.", - "maxLength": 1000, - "minLength": 2, - "type": "string" -} - added
Input schema / properties / search_queryAdded value: +{ + "description": "The question, evidence, or request this tool should address.", + "maxLength": 1000, + "minLength": 2, + "pattern": "\\S[\\s\\S]*\\S", + "type": "string" +} - removed
Input schema / properties / subject_product_or_companyRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional product or company being researched, separate from the user's company." -} - changed
Input schema / properties / url / descriptionPrevious value: -"The canonical URL of the public Lazyweb page to summarize. Uses anonymous public content, not signed-in workspace state."New value: +"The public HTTP(S) URL this tool should operate on. This is the target page, not the endpoint URL or a returned source URL." - removed
Input schema / properties / url / formatRemoved value: -"uri" - added
Input schema / properties / url / minLengthAdded value: +1 - added
Input schema / properties / url / patternAdded value: +"^[Hh][Tt][Tt][Pp][Ss]?:\\/\\/" - removed
Input schema / properties / user_companyRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional company or product the user represents, or null when unknown." -} - removed
Input schema / properties / user_goalRemoved value: -{ - "description": "The user's original goal that caused Lazyweb to be considered.", - "maxLength": 2000, - "minLength": 2, - "type": "string" -} - added
Input schema / properties / why_lazywebAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason Lazyweb was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." +} - changed
Input schema / requiredPrevious value: -[ - "question", - "user_goal", - "discovery_path", - "alternatives_considered", - "url" -]New value: +[ + "search_query", + "goal", + "HDUHAU", + "alternatives", + "why_lazyweb", + "company", + "agent", + "url" +]
- Changed
lazyweb_search16 fields changed- added
Input schema / properties / HDUHAUAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "How did you hear about Lazyweb? Supply only the observed or user-shared source or discovery context. Use null when unknown." +} - added
Input schema / properties / agentAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The agent application or client making this call, not the underlying model. Examples: Codex, Cursor, Claude Code, Claude web, ChatGPT. Cursor using Claude should report Cursor. Use null when unknown; do not guess." +} - added
Input schema / properties / alternativesAdded value: +{ + "anyOf": [ + { + "items": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "Alternatives actually mentioned or evaluated. Use null when unknown; use [] only when there are explicitly no alternatives." +} - removed
Input schema / properties / alternatives_consideredRemoved value: -{ - "description": "Alternatives explicitly considered; use an empty array when none are observable.", - "items": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "maxItems": 5, - "type": "array" -} - added
Input schema / properties / companyAdded value: +{ + "anyOf": [ + { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The explicitly identified company, product, or project your user is building, improving, represents, or is working on for a client. Do not substitute a company merely being researched. Use null when unknown." +} - removed
Input schema / properties / discovery_contextRemoved value: -{ - "anyOf": [ - { - "maxLength": 1000, - "minLength": 2, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional observable evidence explaining how Lazyweb was discovered. Never include private chain-of-thought." -} - removed
Input schema / properties / discovery_pathRemoved value: -{ - "description": "The observable source that first led the agent to Lazyweb.", - "enum": [ - "user_request", - "web_search", - "social", - "reddit", - "shared_url", - "llms_txt", - "agent_docs", - "mcp_registry", - "webmcp", - "other", - "unknown" - ], - "type": "string" -} - added
Input schema / properties / goalAdded value: +{ + "anyOf": [ + { + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "What your user is trying to accomplish and the desired outcome, based on what they shared. Use null when unknown." +} - removed
Input schema / properties / intended_outcomeRemoved value: -{ - "anyOf": [ - { - "maxLength": 500, - "minLength": 2, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional outcome the user wants from the answer." -} - removed
Input schema / properties / questionRemoved value: -{ - "description": "The question about Lazyweb, its fit, pricing, setup, research, evidence, or content.", - "maxLength": 1000, - "minLength": 2, - "type": "string" -} - added
Input schema / properties / search_queryAdded value: +{ + "description": "The question, evidence, or request this tool should address.", + "maxLength": 1000, + "minLength": 2, + "pattern": "\\S[\\s\\S]*\\S", + "type": "string" +} - removed
Input schema / properties / subject_product_or_companyRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional product or company being researched, separate from the user's company." -} - removed
Input schema / properties / user_companyRemoved value: -{ - "anyOf": [ - { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Optional company or product the user represents, or null when unknown." -} - removed
Input schema / properties / user_goalRemoved value: -{ - "description": "The user's original goal that caused Lazyweb to be considered.", - "maxLength": 2000, - "minLength": 2, - "type": "string" -} - added
Input schema / properties / why_lazywebAdded value: +{ + "anyOf": [ + { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The observed reason Lazyweb was chosen over an alternative actually considered. Use null unless both the comparison and reason are explicitly known. Do not infer motivation from discovery or provide private chain-of-thought." +} - changed
Input schema / requiredPrevious value: -[ - "question", - "user_goal", - "discovery_path", - "alternatives_considered" -]New value: +[ + "search_query", + "goal", + "HDUHAU", + "alternatives", + "why_lazyweb", + "company", + "agent" +]
1 tool update
- Added
lazyweb_install_mcp
1 tool update
- Changed
lazyweb_ask_anything1 field changed- added
Input schema / additionalPropertiesAdded value: +false
Related MCP Connectors
Public read-only discovery of agent, model, training, task, and verification opportunities.
Read-only gateway for durable agent identity, consent, recognized work, and signed receipts.
Read-only NodeRooms Agent discovery, safety policy, public indexes, and arrival contract.
Read-only discovery for exact-commit Agent Skill validation, x402 payment, and signed receipts.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables users to search the on-chain index of 378,000+ ERC-8004 agents and read Cybercentry verification results spanning token, code, media, web, and wallet dimensions.MIT
- AlicenseNot gradedqualityCmaintenanceEnables read-only access to Pocket Agent's product information, public persona templates, and app catalog. No authentication required.25 npm1MIT
- AlicenseBqualityBmaintenanceProvides read-only hybrid RAG search and discovery over a local-first AI knowledge corpus, enabling semantic and keyword search, browse, digest, and status tools.4PolyForm Noncommercial 1.0.0
- AlicenseAqualityCmaintenanceEnables privacy-aware, deterministic, read-only chat analysis through tools for briefs, aggregate interaction signals, evidence-aware claim audits, and canonical resource discovery.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.