# NLWeb Explained: Microsoft's Natural-Language Query Protocol for Websites

> What NLWeb is: the open, MIT-licensed protocol that lets a site answer natural-language questions over its own Schema.org data via /ask and /mcp endpoints, who built it, and how it differs from llms.txt, AGENTS.md, and a generic MCP server.

Category: Reference · Updated: 2026-07-14 · Tags: nlweb, schema-org, mcp, search-api, agents, protocols, standard
Canonical: https://changegamer.ai/resources/nlweb-explained
Variants: [HTML](https://changegamer.ai/resources/nlweb-explained) · [JSON](https://changegamer.ai/api/resources/nlweb-explained.json)
License: https://changegamer.ai/license.xml · Access: free

NLWeb is Microsoft's open, MIT-licensed protocol for turning a website's existing Schema.org markup into a live, queryable natural-language interface: an agent `POST`s a plain-language question to the site's `/ask` (or `/mcp`) endpoint and gets back structured JSON grounded in that site's own data — no scraping or search engine required.

## Key facts

- Reference implementation: github.com/microsoft/NLWeb (mirrored at github.com/nlweb-ai/NLWeb), MIT-licensed — confirmed directly from the repository (primary).
- Created and led by R.V. Guha — Microsoft CVP/Technical Fellow, previously the creator of RSS, RDF, and Schema.org — announced at Microsoft Build, May 19, 2025. WebSearch-corroborated (Forbes, SiliconANGLE, TechRadar, thelettertwo.com all agree; Microsoft's own announcement page returned HTTP 403 to direct WebFetch this session).
- Early adopters named at launch: Tripadvisor, Shopify, Eventbrite, O'Reilly Media, Allrecipes, Delish (Hearst), and Chicago Public Media — WebSearch-corroborated only, not independently primary-confirmed this session.
- Unlike MCP and AGENTS.md, NLWeb is not among the founding projects the Linux Foundation's Agentic AI Foundation (AAIF, formed December 9, 2025) announced — it remains a Microsoft-led open-source project, per AAIF's own founding-project coverage (OpenAI, Anthropic, Linux Foundation), none of which lists NLWeb.

## The `/ask` and `/mcp` endpoints

Confirmed directly from the repository's own REST API doc (primary). `POST /ask` takes a required `query` parameter plus optional `site`, `prev` (prior queries, for follow-ups), `streaming`, and `mode` (`list` — top matches, the default; `summarize`; or `generate`, closer to traditional RAG). The response is JSON: a `query_id` plus a results array, each item carrying `url`, `name`, `site`, `score`, an LLM-generated `description`, and a `schema_object` — the item's underlying Schema.org data, unmodified. Every NLWeb instance also runs `POST /mcp`, exposing the identical query surface as native MCP `list_tools`/`call_tool` calls — the project's own framing: "NLWeb is to MCP/A2A what HTML is to HTTP."

## How this differs from adjacent ChangeGamer resources

- [llms.txt](/resources/llms-txt-explained): a static file fetched once, with no live-query capability; NLWeb is a live HTTP endpoint answering a fresh question per request.
- [AGENTS.md](/resources/agents-md-explained): repo-level instructions for a coding agent working inside one codebase; NLWeb is public-facing site infrastructure any agent queries over the open web, unrelated to source repositories.
- [Finding and evaluating MCP servers](/resources/mcp-server-discovery) and [building an MCP server](/resources/building-mcp-servers): those cover generic MCP-server discovery and construction; NLWeb ships a specific, pre-built server type keyed to a site's own Schema.org data, plus a non-MCP `/ask` REST alternative most generic MCP guides don't address.

For agents: check a target site for `/ask`/`/mcp` before falling back to full-page scraping (see [web data for agents](/resources/web-data-for-agents)) — a site running NLWeb returns a typed, structured answer in one request instead of raw HTML to parse.

## Verified sources

Primary (fetched directly): github.com/microsoft/NLWeb README (https://github.com/microsoft/NLWeb/blob/main/README.md) and its REST API reference (https://github.com/microsoft/NLWeb/blob/main/docs/nlweb-rest-api.md).

Secondary, WebSearch-corroborated (2+ agreeing outlets each; news.microsoft.com's own announcement page 403'd to direct WebFetch this session): launch date, R.V. Guha attribution, and the adopters list — Forbes, "Microsoft Launches NLWeb To Simplify Website-Agent Interactions," and SiliconANGLE, "NLWeb is Microsoft's new, open-source tool..."; AAIF founding-project scope, confirming NLWeb's absence from it — https://openai.com/index/agentic-ai-foundation/ and https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation.

- See also: /resources/llms-txt-explained, /resources/agents-md-explained, /resources/mcp-server-discovery, /resources/web-data-for-agents

---

## Related resources

- [MCP Apps Explained: The Official Interactive-UI Extension for MCP](https://changegamer.ai/resources/mcp-apps-explained.md): What MCP Apps (SEP-1865) is: the ui:// resource scheme and sandboxed-iframe/JSON-RPC bridge it defines for MCP tools to return rendered UI instead of plain text, how it relates to the community MCP-UI project and OpenAI's Apps SDK, and which hosts support it.
- [MCP Goes Stateless: The 2026-07-28 Spec Revision Explained](https://changegamer.ai/resources/mcp-2026-spec-revision.md): What changes in MCP's largest revision since launch: SEP-2575/SEP-2567 remove the session handshake and Mcp-Session-Id header for explicit state handles, new Mcp-Method/Mcp-Name routing headers, full JSON Schema 2020-12 tool schemas, and six authorization-hardening SEPs — an RC snapshot as of 2026-07-14; final ships 2026-07-28.
- [MCP Primitives: Resources, Prompts, Sampling, and Elicitation](https://changegamer.ai/resources/mcp-primitives.md): Deep reference on the six MCP capability primitives beyond tools — who controls each, the exact JSON-RPC method names, and when to use Resources vs Tools — verified against the 2025-06-18 and 2025-11-25 spec revisions.
- [MCP Server Authentication: OAuth 2.1 for Remote Servers](https://changegamer.ai/resources/mcp-server-authentication.md): How OAuth 2.1 works for remote MCP servers: transport differences, Protected Resource Metadata discovery, PKCE, Resource Indicators, and token-audience security — with a step-by-step client flow and honest notes on what ChangeGamer's own /mcp endpoint does.

---

Index of all resources: https://changegamer.ai/llms.txt · Full corpus: https://changegamer.ai/llms-full.txt · Corpus data (NDJSON): https://changegamer.ai/api/corpus.jsonl · Offers: https://changegamer.ai/api/pricing.json
