Research a question
webref delegates your question across multiple sources — docs, forums, blog posts, and technical articles — and returns one cited article. The same information that other tools dump as 16k+ tokens of noise, webref delivers as prose with every fact sourced, verbatim quotes checked against their pages, and an explicit list of what the web did not establish. Nothing useful gets cut, it's just expressed more clearly.
Ask one natural-language question per call. URLs can provide context for a research question. To read a particular page, use your agent's fetch tool instead.
Usage
Connect the remote MCP server, then ask your agent:
Use WebRef to research how Docker networking works.The agent calls the WebRef research tool with:
{ "query": "How does Docker networking work?" }Most calls return the completed article. If the response includes a running state and research_id, the agent waits for retry_after_seconds and calls get_research with that ID. It should not submit the research question again.
Use followup with the private receipt ID to continue the same topic. Ask your agent to save the returned article to a file if you need a local copy.
The old webref CLI is retired. If your agent still runs shell commands for research, follow the migration guide.
Result anatomy
Every research result has the same parts.
The witness line under the title says in one sentence what the sources agree on and where they part ways.
The as-of line dates the research and counts the sources: how many were read in full, how many were seen only as search snippets, and what kinds of pages they were.
The article is prose that names its source in the sentence that states each fact. It is the same information reorganized to remove redundancy across sources, not a summary that loses detail.
Quote cards sit under the prose they support: a verbatim quote, a link to its page, and a label that opens with a seal word saying how much weight the source carries (Official, Study, Evaluator, Independent, or a caveat: Sells this, Forum post, Unclear source, Outdated), then the source type (Official docs, Expert, News, Vendor, Forum), the page's date with its age ("Apr 2026, 5 months old", or "likely outdated" when the cataloger judged it stale for the question), the cataloger's note, and "Snippet only" when the page was never retrieved. Every quote is checked mechanically against the page it cites. One that could not be found there ends with N words not on page, on the page and in the markdown alike.
Not established lists what the web did not answer. Each entry is concrete enough to write a follow-up from. When the sources covered the question, the article says so in one line.
Tips for better queries
Write queries with clear intent, not keyword lists. The synthesizer needs to understand what you want to know, not just which terms to match.
# Good - clear intent
How do I handle file uploads in the Next.js App Router?
# Less good - keyword soup
next.js file upload handler api route multipartBe specific about what you're trying to learn. Include version numbers, frameworks, or specific use cases when relevant.
How do I set up TypeScript path aliases in Vite?
What are the performance and developer-experience tradeoffs between Drizzle and Prisma?Ask natural questions for comparison or evaluation.
What's the difference between useMemo and useCallback?
What are better-auth's current pricing and licensing terms?Split multi-topic queries into separate research calls. If you need both pricing info and setup instructions, run two research calls. Each call should have a single clear intent.
Credits
A research costs one credit, and so does each follow-up. Credits are only deducted for successful results — if something goes wrong, you're not charged.
Check your balance anytime on your dashboard.