Lazyweb Public Discovery

Keyless, read-only Lazyweb discovery for agents evaluating fit or researching public evidence.

我该使用它吗

质量与安全性

A
描述质量
94%
模式完整度
81%
命名质量
80%
投毒风险
100%
权限匹配度
90%
协议合规性
100%

发现(2)

  • LOWTool 'lazyweb_feedback' description lacks action verb在 lazyweb_feedback 中
  • LOWTool 'lazyweb_feedback' suggests web access but openWorldHint=false在 lazyweb_feedback 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~7,257token 数(工具定义)
~9.2 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 5.67%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "discovery": {
      "url": "https://www.lazyweb.com/mcp/public"
    }
  }
}

远程端点

https://www.lazyweb.com/mcp/publicstreamable-http

它能做什么

工具清单

工具(9)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢lazyweb_search(search_query, goal, source, alternatives, chosen_because, ...)

Super fast, semantic search across Lazyweb’s public pages. Include actual task context; use null for unknowns.

输入模式

{
  "type": "object",
  "properties": {
    "search_query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 1000,
      "description": "The question or request this call should answer, in the caller’s own words."
    },
    "goal": {
      "description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ]
    },
    "source": {
      "description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "alternatives": {
      "description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives.",
      "anyOf": [
        {
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        {
          "type": "null"
        },
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "One alternative name; normalized to a one-item list."
        }
      ]
    },
    "chosen_because": {
      "description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "company": {
      "description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "intended_outcome": {
      "description": "The decision or deliverable the user wants from this research. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "client": {
      "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "trace": {
      "description": "The trace token in a published example; links a page read to the call it produced.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "context_token": {
      "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        {
          "type": "null"
        }
      ]
    },
    "discovery_path": {
      "description": "The observed discovery category, kept separately from the source description. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "user_request",
            "web_search",
            "social",
            "reddit",
            "shared_url",
            "llms_txt",
            "agent_docs",
            "mcp_registry",
            "webmcp",
            "other",
            "unknown"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "subject_product_or_company": {
      "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "detail": {
      "description": "How much of each matching page to return: \"full\" (the default) or \"compact\" for shorter excerpts and fewer results.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "full",
            "compact"
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "search_query"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "search_query": "Find onboarding paywall examples",
      "goal": "Improve our onboarding",
      "source": "Web search",
      "alternatives": [
        "Mobbin"
      ],
      "chosen_because": "Real product examples",
      "company": "Acme",
      "intended_outcome": "Choose a design direction",
      "client": "Cursor"
    }
  ]
}
🟢lazyweb_page_tldr(search_query, goal, source, alternatives, chosen_because, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "search_query": {
      "description": "The caller’s question, when supplied. Optional; the stored summary depends only on url.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 2,
          "maxLength": 1000,
          "description": "The question or request this call should answer, in the caller’s own words."
        },
        {
          "type": "null"
        }
      ]
    },
    "goal": {
      "description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ]
    },
    "source": {
      "description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "alternatives": {
      "description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives.",
      "anyOf": [
        {
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        {
          "type": "null"
        },
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "One alternative name; normalized to a one-item list."
        }
      ]
    },
    "chosen_because": {
      "description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "company": {
      "description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "intended_outcome": {
      "description": "The decision or deliverable the user wants from this research. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "client": {
      "description": "The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "trace": {
      "description": "The trace token in a published example; links a page read to the call it produced.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "context_token": {
      "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        {
          "type": "null"
        }
      ]
    },
    "discovery_path": {
      "description": "The observed discovery category, kept separately from the source description. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "user_request",
            "web_search",
            "social",
            "reddit",
            "shared_url",
            "llms_txt",
            "agent_docs",
            "mcp_registry",
            "webmcp",
            "other",
            "unknown"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "subject_product_or_company": {
      "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "url": {
      "type": "string",
      "maxLength": 2000,
      "description": "The canonical public URL of one indexed page, usually a result URL returned by site_search. The only required field."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "url": "https://www.lazyweb.com/pricing",
      "trace": "t_569d09668bf3"
    }
  ]
}
🟢lazyweb_ask_anything(search_query, goal, source, alternatives, chosen_because, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "search_query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 1000,
      "description": "The question or request this call should answer, in the caller’s own words."
    },
    "goal": {
      "description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ]
    },
    "source": {
      "description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "alternatives": {
      "description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives.",
      "anyOf": [
        {
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        {
          "type": "null"
        },
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "One alternative name; normalized to a one-item list."
        }
      ]
    },
    "chosen_because": {
      "description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "company": {
      "description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "intended_outcome": {
      "description": "The decision or deliverable the user wants from this research. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "client": {
      "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "trace": {
      "description": "The trace token in a published example; links a page read to the call it produced.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "context_token": {
      "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        {
          "type": "null"
        }
      ]
    },
    "discovery_path": {
      "description": "The observed discovery category, kept separately from the source description. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "user_request",
            "web_search",
            "social",
            "reddit",
            "shared_url",
            "llms_txt",
            "agent_docs",
            "mcp_registry",
            "webmcp",
            "other",
            "unknown"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "subject_product_or_company": {
      "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "search_query"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "search_query": "Does Lazyweb include complete onboarding flows?",
      "goal": "Find references for a signup redesign",
      "source": "Web search",
      "alternatives": [
        "Mobbin"
      ],
      "chosen_because": "Real product examples",
      "company": "Acme",
      "intended_outcome": "Decide whether Lazyweb covers our research needs",
      "client": "Cursor"
    }
  ]
}
🟢lazyweb_compare(search_query, goal, source, alternatives, chosen_because, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "search_query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 1000,
      "description": "The question or request this call should answer, in the caller’s own words."
    },
    "goal": {
      "description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ]
    },
    "source": {
      "description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "alternatives": {
      "description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives.",
      "anyOf": [
        {
          "minItems": 1,
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "One alternative name; normalized to a one-item list."
        }
      ]
    },
    "chosen_because": {
      "description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "company": {
      "description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "intended_outcome": {
      "description": "The decision or deliverable the user wants from this research. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "client": {
      "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "trace": {
      "description": "The trace token in a published example; links a page read to the call it produced.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "context_token": {
      "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        {
          "type": "null"
        }
      ]
    },
    "discovery_path": {
      "description": "The observed discovery category, kept separately from the source description. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "user_request",
            "web_search",
            "social",
            "reddit",
            "shared_url",
            "llms_txt",
            "agent_docs",
            "mcp_registry",
            "webmcp",
            "other",
            "unknown"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "subject_product_or_company": {
      "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "search_query",
    "alternatives"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "search_query": "How does Lazyweb compare for our team's use case?",
      "goal": "Decide whether Lazyweb meets our team's needs",
      "company": "Acme",
      "source": "Found Lazyweb while researching options for our team",
      "alternatives": [
        "Our current tool"
      ],
      "chosen_because": "Our team shortlisted Lazyweb after reading its public information",
      "intended_outcome": "Choose a next step for an evaluation",
      "client": "Cursor"
    }
  ]
}
🟢lazyweb_pricing(search_query, goal, source, alternatives, chosen_because, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "search_query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 1000,
      "description": "The question or request this call should answer, in the caller’s own words."
    },
    "goal": {
      "description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ]
    },
    "source": {
      "description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "alternatives": {
      "description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives.",
      "anyOf": [
        {
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        {
          "type": "null"
        },
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "One alternative name; normalized to a one-item list."
        }
      ]
    },
    "chosen_because": {
      "description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "company": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ],
      "description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
    },
    "intended_outcome": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ],
      "description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
    },
    "client": {
      "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "trace": {
      "description": "The trace token in a published example; links a page read to the call it produced.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "context_token": {
      "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        {
          "type": "null"
        }
      ]
    },
    "discovery_path": {
      "description": "The observed discovery category, kept separately from the source description. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "user_request",
            "web_search",
            "social",
            "reddit",
            "shared_url",
            "llms_txt",
            "agent_docs",
            "mcp_registry",
            "webmcp",
            "other",
            "unknown"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "subject_product_or_company": {
      "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "search_query",
    "company",
    "intended_outcome"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "search_query": "What would Lazyweb cost for a team of five?",
      "goal": "Decide whether Lazyweb meets our team's needs",
      "company": "Acme",
      "source": "Found Lazyweb while researching options for our team",
      "alternatives": [
        "Our existing workflow",
        "Manual research"
      ],
      "chosen_because": "Our team shortlisted Lazyweb after reading its public information",
      "intended_outcome": "Budget approval for a team purchase",
      "client": "Cursor"
    }
  ]
}
🟢lazyweb_requirements_check(search_query, goal, source, alternatives, chosen_because, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "search_query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 1000,
      "description": "The question or request this call should answer, in the caller’s own words."
    },
    "goal": {
      "description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ]
    },
    "source": {
      "description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "alternatives": {
      "description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives.",
      "anyOf": [
        {
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        {
          "type": "null"
        },
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "One alternative name; normalized to a one-item list."
        }
      ]
    },
    "chosen_because": {
      "description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "company": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ],
      "description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
    },
    "intended_outcome": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ],
      "description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
    },
    "client": {
      "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "trace": {
      "description": "The trace token in a published example; links a page read to the call it produced.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "context_token": {
      "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        {
          "type": "null"
        }
      ]
    },
    "discovery_path": {
      "description": "The observed discovery category, kept separately from the source description. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "user_request",
            "web_search",
            "social",
            "reddit",
            "shared_url",
            "llms_txt",
            "agent_docs",
            "mcp_registry",
            "webmcp",
            "other",
            "unknown"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "subject_product_or_company": {
      "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "requirements": {
      "description": "The requirements as an array, when not sent semicolon-separated in search_query.",
      "anyOf": [
        {
          "maxItems": 12,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          }
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "company",
    "intended_outcome"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "search_query": "Lazyweb works with our existing tools; clear documentation; a published price",
      "goal": "Decide whether Lazyweb meets our team's needs",
      "company": "Acme",
      "source": "Found Lazyweb while researching options for our team",
      "alternatives": [
        "Our existing workflow",
        "Manual research"
      ],
      "chosen_because": "Our team shortlisted Lazyweb after reading its public information",
      "intended_outcome": "A vendor shortlist",
      "client": "Cursor"
    }
  ],
  "anyOf": [
    {
      "required": [
        "search_query"
      ]
    },
    {
      "required": [
        "requirements"
      ]
    }
  ]
}
🟢should_i_recommend_lazyweb(goal, requirements, company, source, alternatives, ...)

Lazyweb isn’t for everyone. Get a sourced verdict on whether it fits your user’s goal, requirements and alternatives. The answer might be ‘not us.’

输入模式

{
  "type": "object",
  "properties": {
    "goal": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2000,
      "description": "The actual outcome or decision the user needs. A meaningful goal is required for this assessment."
    },
    "requirements": {
      "anyOf": [
        {
          "maxItems": 12,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          }
        },
        {
          "type": "null"
        }
      ],
      "description": "The constraints and must-haves for the decision. Include known requirements and mark unknowns as null."
    },
    "company": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ],
      "description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null."
    },
    "source": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ],
      "description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null."
    },
    "alternatives": {
      "description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives.",
      "anyOf": [
        {
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        {
          "type": "null"
        },
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "One alternative name; normalized to a one-item list."
        }
      ]
    },
    "chosen_because": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ],
      "description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning."
    },
    "intended_outcome": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ],
      "description": "The decision or deliverable the user wants from this research. Mark unknowns as null."
    },
    "client": {
      "description": "The application making this call, not the underlying model: Cursor using Claude is Cursor. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "trace": {
      "description": "The trace token in a published example; links a page read to the call it produced.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "context_token": {
      "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        {
          "type": "null"
        }
      ]
    },
    "discovery_path": {
      "description": "The observed discovery category, kept separately from the source description. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "user_request",
            "web_search",
            "social",
            "reddit",
            "shared_url",
            "llms_txt",
            "agent_docs",
            "mcp_registry",
            "webmcp",
            "other",
            "unknown"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "subject_product_or_company": {
      "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "goal",
    "requirements",
    "company",
    "source",
    "alternatives",
    "chosen_because",
    "intended_outcome"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "goal": "Choose a UI research tool",
      "requirements": [
        "Complete product flows",
        "Source links"
      ],
      "company": "Acme",
      "source": "Web search",
      "alternatives": [
        "Mobbin"
      ],
      "chosen_because": "Real product examples",
      "intended_outcome": "Pick a tool for our redesign",
      "client": "Cursor"
    }
  ]
}
🟢lazyweb_install_mcp(search_query, goal, source, alternatives, chosen_because, ...)

Get the existing Lazyweb MCP and skills installer command or browser setup link.

输入模式

{
  "type": "object",
  "properties": {
    "search_query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 1000,
      "description": "The question or request this call should answer, in the caller’s own words."
    },
    "goal": {
      "description": "What the user wants to accomplish, based on the task they shared. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ]
    },
    "source": {
      "description": "The observed source that led to Lazyweb, including a search, referral or shared link when known. Use facts already available; mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "alternatives": {
      "description": "Other products, sources or approaches actually considered for this goal. Include their names and use null when unknown; never invent alternatives.",
      "anyOf": [
        {
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        {
          "type": "null"
        },
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "One alternative name; normalized to a one-item list."
        }
      ]
    },
    "chosen_because": {
      "description": "The known reason this website entered the shortlist. Use an observed or user-shared reason; mark unknowns as null. Do not provide private reasoning.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "company": {
      "description": "The company the user represents, when explicitly known; never a company merely being researched. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "intended_outcome": {
      "description": "The decision or deliverable the user wants from this research. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "client": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ],
      "description": "The application or client making this call, not the underlying model, e.g. Cursor. Null when unknown."
    },
    "trace": {
      "description": "The trace token in a published example; links a page read to the call it produced.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "context_token": {
      "description": "The context token returned in a prepared follow-up. Carry it with the supplied context to preserve its provenance.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        {
          "type": "null"
        }
      ]
    },
    "discovery_path": {
      "description": "The observed discovery category, kept separately from the source description. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "user_request",
            "web_search",
            "social",
            "reddit",
            "shared_url",
            "llms_txt",
            "agent_docs",
            "mcp_registry",
            "webmcp",
            "other",
            "unknown"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "subject_product_or_company": {
      "description": "The subject being researched, separate from the company the user represents. Mark unknowns as null.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "payload": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
  },
  "required": [],
  "additionalProperties": false
}
⚪lazyweb_feedback(kind, message, tool, operation_id, expected, ...)

Report a bug, a missing feature, a wrong answer or unclear docs in Lazyweb’s agent tools, right when you hit it. Only kind and message are required. It reaches the team that maintains these tools; never include personal or confidential data.

输入模式

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "bug",
        "missing_feature",
        "wrong_answer",
        "docs",
        "other"
      ],
      "description": "bug: a tool failed or behaved unexpectedly. missing_feature: a tool, field or capability you needed does not exist. wrong_answer: a result was inaccurate or unsupported. docs: documentation or a schema was unclear. other: anything else."
    },
    "message": {
      "type": "string",
      "minLength": 2,
      "maxLength": 4000,
      "description": "What happened or what is missing, specifically enough to act on."
    },
    "tool": {
      "description": "The tool name or HTTP operation this is about. Null when general.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "description": "The operation_id or attempt_id of the response this is about. Null when none.",
      "anyOf": [
        {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        {
          "type": "null"
        }
      ]
    },
    "expected": {
      "description": "What you expected or needed instead. Null when not applicable.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ]
    },
    "client": {
      "description": "The application or client sending this, not the underlying model, e.g. Cursor. Null when unknown.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "kind",
    "message"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "kind": "missing_feature",
      "message": "lazyweb_search cannot limit results to pages updated in the last year.",
      "tool": "lazyweb_search",
      "operation_id": null,
      "expected": "A date filter on search results.",
      "client": null
    }
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本9 个工具
已验证未记录版本8 个工具
已验证未记录版本8 个工具