{
 "acronym": "",
 "adoption": {
  "by": null,
  "level": "unmeasured",
  "probe_run": null
 },
 "aliases": [],
 "analog": "HTML for machine-readable, natural-language site content",
 "collisions": [],
 "discovery": {
  "mechanism": "None standardized; the project's own README points to a spec page (nlweb.ai/spec) for the protocol details, but that domain does not currently resolve",
  "path": "none confirmed; nlweb.ai (including nlweb.ai/spec) was unreachable via curl and firecrawl in this verification pass"
 },
 "dispute": {
  "claims": [
   "README claims a formal spec exists at nlweb.ai/spec",
   "That domain was unreachable during this verification (2026-09-06)"
  ],
  "summary": "The spec_url for NLWeb's actual wire protocol (nlweb.ai/spec) is unreachable, so this row's `spec_url` points to the GitHub README (which describes but does not itself specify the protocol) rather than to a canonical spec document. The protocol details (exact `ask` request/response shape beyond 'Schema.org JSON') could not be independently confirmed from a live spec in this pass."
 },
 "evidence": [
  {
   "claim": "NLWeb natively supports MCP; every NLWeb instance also acts as an MCP server exposing a core `ask` method that takes a natural-language question and returns Schema.org-formatted JSON. The project describes itself as 'to MCP/A2A what HTML is to HTTP' and as a proof-of-concept the community is invited to surpass with its own implementations.",
   "date": "2026",
   "label": "VERIFIED",
   "url": "https://github.com/nlweb-ai/NLWeb"
  },
  {
   "claim": "github.com/microsoft/NLWeb redirects to github.com/nlweb-ai/NLWeb, i.e. the reference implementation's canonical home moved off the microsoft org to a dedicated community org between the original Microsoft announcement and this check.",
   "date": "2026-09-06",
   "label": "VERIFIED",
   "url": "https://github.com/microsoft/NLWeb"
  },
  {
   "claim": "nlweb.ai (the domain hosting the protocol spec referenced by the README) did not resolve/respond via curl or firecrawl_scrape on 2026-09-06, corroborating the task brief that nlweb.ai is down.",
   "date": "2026-09-06",
   "label": "REPORTED",
   "url": "https://nlweb.ai/spec"
  }
 ],
 "form": "endpoint",
 "governance": "Originated at Microsoft; the reference implementation now lives under a separate community GitHub org (nlweb-ai), not microsoft/NLWeb directly — github.com/microsoft/NLWeb redirects to github.com/nlweb-ai/NLWeb",
 "group": null,
 "history": [
  {
   "date": "2026-09-05",
   "note": "seeded from Exa Agent research run"
  },
  {
   "date": "2026-09-06",
   "note": "verified against github.com/microsoft/NLWeb (redirects to github.com/nlweb-ai/NLWeb); nlweb.ai/spec confirmed unreachable via curl and firecrawl"
  }
 ],
 "id": "nlweb",
 "implementation": "prototype",
 "last_verified": "2026-09-06",
 "name": "NLWeb",
 "native_status": "\"Main reference implementation... implemented in Python\"; described by its own README as a proof-of-concept the community is invited to build alternative implementations of, not a definitive solution",
 "origin": {
  "date": "2025",
  "org": "Microsoft"
 },
 "part_of": null,
 "parties": [
  "agent-site"
 ],
 "phase": "draft",
 "probe": {
  "method": "POST",
  "on_absent": "connection refused, 404, or a non-Schema.org JSON shape means no NLWeb endpoint is present",
  "parse": "a JSON response using Schema.org vocabulary answering the natural-language question in the request body proves NLWeb (or an MCP-exposed equivalent) is present; every NLWeb instance also runs as an MCP server exposing an `ask` tool/method",
  "path": "{origin}/ask"
 },
 "question": "How can a site expose a natural-language question-answering interface grounded in its own Schema.org-structured content, for both humans and agents?",
 "scope": "general",
 "spec_url": "https://github.com/nlweb-ai/NLWeb",
 "step": "act",
 "summary_md": "NLWeb is a collection of open protocols and an accompanying open-source reference implementation for adding a conversational, natural-language question-answering interface to a website, grounded in the Schema.org and RSS structured markup that the README says over 100 million sites already publish [1]. Its central design idea is that a site's existing semi-structured markup can double as the semantic layer a natural-language interface needs, so adding a conversational endpoint does not require rebuilding a site's content model from scratch.\n\nNLWeb solves the problem of giving both human users and AI agents a single natural-language entry point into a site's content: every NLWeb instance exposes a core `ask` method — as a plain endpoint and, natively, as an MCP server tool — that takes a natural-language question and returns a JSON response using Schema.org vocabulary [1]. The project's own framing is explicit: \"NLWeb is to MCP/A2A what HTML is to HTTP\" — i.e. it proposes to be the content layer that sits on top of the agent-to-tool and agent-to-agent transport layers, not a competitor to either [1].\n\nNLWeb does not itself specify agent-to-agent coordination (it says A2A support is 'soon', not shipped) and it explicitly disclaims being a definitive or complete answer: the README frames the reference implementation as \"proof-of-concept demonstrations showing one possible approach\" and invites the community to build \"diverse, innovative implementations that surpass our examples\" [1]. It also does not define a standardized discovery mechanism (no well-known path is specified for locating a site's `ask` endpoint), and the project's canonical protocol-specification page, linked from the README as nlweb.ai/spec, did not resolve during this verification pass (2026-09-06), so the wire-level protocol details beyond \"Schema.org-shaped JSON over an `ask` method\" could not be independently confirmed from a live spec document [3].\n\nAs of this check, the reference implementation's canonical home has moved: `github.com/microsoft/NLWeb` now redirects to `github.com/nlweb-ai/NLWeb`, a separate GitHub organization, rather than staying under the `microsoft` org [2]. This is a governance-relevant shift the seed record's plain \"Microsoft\" governance label did not capture — Microsoft originated the project and still supports it (contact is an @microsoft.com address, and Microsoft's trademark guidance is referenced in the README), but the repository itself now lives under a nominally independent community org. Support spans multiple vector stores (Qdrant, Snowflake, Milvus, Azure AI Search, Elasticsearch, Postgres, Cloudflare AutoRAG) and multiple LLM providers (OpenAI, DeepSeek, Gemini, Anthropic, Inception, HuggingFace), which is a broader integration surface than a typical single-vendor prototype, but no independent count of live NLWeb deployments was found, so adoption remains unmeasured. What is unresolved: why nlweb.ai is down, whether the org move to nlweb-ai signals an intended governance change (e.g. toward a foundation or away from Microsoft) or is incidental, and what the actual `ask` request/response schema is now that the spec page is unreachable.",
 "track": "community",
 "version": {
  "date": null,
  "label": "unversioned; MIT-licensed, actively committed"
 },
 "url": "https://agenticweb.wiki/protocols/nlweb/",
 "category": "act",
 "type": "protocol"
}