NLWeb
Last reviewed
Jun 8, 2026
Sources
6 citations
Review status
Source-backed
Revision
v1 · 1,554 words
Improve this article
Add missing citations, update stale details, or suggest a clearer explanation.
Last reviewed
Jun 8, 2026
Sources
6 citations
Review status
Source-backed
Revision
v1 · 1,554 words
Add missing citations, update stale details, or suggest a clearer explanation.
NLWeb (short for Natural Language Web) is an open project from Microsoft that makes it easy to add a natural-language conversational interface to a website, drawing on the site's own existing structured data and the large language model of the operator's choice. It was announced at Microsoft Build in May 2025 and released as open source on GitHub under the MIT License [1][2]. The project was conceived and developed by Ramanathan V. Guha, the creator of RSS, RDF, and Schema.org, who joined Microsoft as a Corporate Vice President and Technical Fellow [1].
A defining property of NLWeb is that every instance is also a Model Context Protocol (MCP) server. This means the same natural-language interface that a human visitor uses can be queried programmatically by AI agents, positioning NLWeb as a building block for what Microsoft and others call the agentic web: an emerging layer of the internet in which autonomous agents, not just browsers, interact with sites [1][3]. Microsoft has framed NLWeb's role in deliberately foundational terms, suggesting it could play "a similar role to HTML in the emerging agentic web" [1].
NLWeb lets a website expose its content to natural-language queries without each site having to build a bespoke search-and-retrieval stack. It is designed to work with the semi-structured data that publishers already maintain, principally Schema.org markup (including JSON-LD), RSS feeds, XML sitemaps, and custom JSONL data files [1][4]. Microsoft notes that Schema.org and related formats such as RSS are already used by well over 100 million websites, so much of the necessary data is in place [2].
The reference implementation, written in Python, ingests a site's structured data, streams the content through an embedding model, and stores the resulting vectors in a vector database for semantic retrieval [4]. At query time, NLWeb retrieves relevant items and uses a chosen LLM to interpret the question, rank results, and assemble an answer. Because the answers are grounded in the publisher's own data, the approach is meant to reduce hallucination and give site owners control over how their content is represented [3]. Responses are returned as structured JSON using Schema.org vocabulary rather than as free-form chatbot text, which lets the calling application validate, filter, or render the results before showing them to a user [4].
NLWeb performs best on sites whose content is naturally organized as lists of items, such as recipes, events, products, or locations, which is why early adopters skew toward catalog-style publishers and marketplaces [2][4]. The project is intentionally technology-agnostic: it runs on Windows, macOS, and Linux, and ships with connectors for a range of models and vector stores so operators are not locked into a single vendor [1].
The reference implementation is built around several components, summarized below.
| Component | Role |
|---|---|
| AskAgent | Core query agent that answers natural-language questions against a site's Schema.org data |
| AgentFinder | Agent discovery and routing across sites |
| DataFinder | Natural-language to SQL translation for enterprise data sources |
| ModelRouter | Routes and scores LLM calls for cost-effective model selection |
| NLWebScorer | Neural scorer models for ranking result quality |
Supported infrastructure spans multiple vector databases, including Qdrant, Milvus, Snowflake, Azure AI Search, Elasticsearch, Postgres, and Cloudflare AutoRAG, and multiple model providers, including OpenAI, Anthropic, Google Gemini, DeepSeek, Inception, and Hugging Face models [4]. By default, deployments can use an Azure OpenAI endpoint for both inference and for generating the embeddings stored in the vector index [5].
The most distinctive aspect of NLWeb is its native integration with the Model Context Protocol, an open standard originally introduced by Anthropic in November 2024 for connecting AI systems to external tools and data sources [1][5]. Every NLWeb instance is itself an MCP server, so any site that deploys NLWeb automatically exposes its content to the broader ecosystem of MCP-compatible agents and assistants, if the operator chooses to allow it [1].
NLWeb's MCP surface centers on a single core method named ask, which allows a natural-language question to be posed to a website and returns an answer in JSON formatted with Schema.org [4][5]. Because each implementation is an MCP server, an NLWeb endpoint can be composed into larger agent orchestrations, acting as one tool among many in a dynamically assembled application [5]. The project's own documentation captures this layering with the analogy that "NLWeb is to MCP/A2A what HTML is to HTTP," casting MCP and the Agent2Agent (A2A) protocol as the transport-and-interaction layer and NLWeb as the content layer that rides on top of it [4].
NLWeb was conceived and built by Ramanathan V. Guha, who is widely credited as a principal architect of the structured-data web [1][2]. Guha co-created RSS and RDF and led the development of Schema.org, the shared vocabulary that search engines and many websites use to mark up structured content [1]. He has previously worked at Apple, Netscape, and Google before joining Microsoft, where he came on board as a Corporate Vice President and Technical Fellow to lead NLWeb [1][2].
Guha's pedigree is directly relevant to NLWeb's design. The project leans heavily on the very formats he helped standardize: it treats Schema.org markup and RSS as primary inputs, reusing structured data that publishers adopted over the past two decades rather than requiring them to produce new feeds specifically for AI. In effect, NLWeb is an attempt to extend the structured-data web Guha helped create into an interface usable by conversational agents.
Microsoft frames NLWeb as infrastructure for the agentic web, a shift in which AI agents increasingly act on behalf of users by querying and transacting with websites directly, rather than humans navigating pages in a browser [1][3]. In this model, a site that exposes an NLWeb endpoint can participate in agent-driven interactions natively: an agent can ask the site a question through MCP and receive structured, machine-readable answers grounded in the publisher's own data [1].
A recurring theme in Microsoft's positioning is publisher control. By grounding responses in first-party data and returning structured results, NLWeb is pitched as a way for publishers to be accessed by agents on their own terms, deciding what to expose and how their content is represented, rather than relying solely on being crawled or scraped [3]. This is presented as an alternative to a future in which agents read and synthesize publisher content without any direct, sanctioned channel back to the source [3].
NLWeb sits within a wider set of agentic-web standards rather than standing alone. It is frequently discussed alongside MCP, the Agent2Agent (A2A) protocol, and conventions such as AGENTS.md as part of the connective tissue for agent-to-agent and agent-to-site interaction [3]. In December 2025, governance of several of these protocols, including MCP, was placed under the Agentic AI Foundation, a vendor-neutral body formed under the Linux Foundation and co-founded by Anthropic, Block, and OpenAI, with platinum members including AWS, Google, Microsoft, and Bloomberg [3].
NLWeb drew significant attention as one of Microsoft's marquee agentic-web announcements at Build 2025, with an early-adopter roster spanning publishers, marketplaces, and infrastructure vendors. Named participants included Chicago Public Media, Common Sense Media, DDM (Allrecipes and Serious Eats), Eventbrite, Hearst (Delish), Inception Labs, Milvus, O'Reilly Media, Qdrant, Shopify, Snowflake, and Tripadvisor [2]. Commentators described this group as a broad cross-section of the modern web and saw NLWeb as a pragmatic way to add semantic, conversational search to sites without building per-site retrieval algorithms from scratch [5].
Reception also surfaced two notable tensions. First, the agentic web that NLWeb enables raises a business-model question for publishers: as agents read and synthesize content directly, users may never visit the source page, and referral traffic from search and AI surfaces declined sharply through 2025, with some local publishers reporting large drops [3]. NLWeb is presented partly as a response to this dynamic, offering publishers a controlled channel to agents, though whether such interfaces ultimately help or hurt publisher economics remains contested [3].
Second, NLWeb's early code had a serious security weakness. Researchers identified a path-traversal vulnerability in the protocol's implementation that could let unauthenticated remote users read sensitive system files, including API keys. The flaw was responsibly disclosed to Microsoft on May 28, 2025, shortly after the Build unveiling, and Microsoft issued a patch on July 1, 2025 [6]. The episode underscored that early agentic-web infrastructure, like NLWeb, requires the same security scrutiny as any other internet-facing service.
As of mid-2026, NLWeb remains an actively developed open-source project maintained by Microsoft on GitHub, distributed under the MIT License, and frequently cited as a leading example of how existing structured-data formats can be repurposed to make websites first-class participants in agent-driven interactions [3][4].