Repolode
nlweb-ai

nlweb-ai/NLWeb

Python reference implementation of NLWeb, a protocol and toolkit for adding natural language conversational interfaces to websites that also serves MCP clients.

Stars
6,258
Forks
695
Open issues
65
Last commit
2 months ago

What is it?

NLWeb is a set of open protocols and sample code for building conversational interfaces on websites. It builds on Schema.org and RSS markup that sites already publish, so a natural language question can be answered from structured data on the page. Each NLWeb instance also acts as an MCP server and exposes an ask method, so the same endpoint serves both human users and AI agents.

This repository is the Python reference implementation. The AskAgent module handles natural language queries with connectors for several LLM providers (OpenAI, DeepSeek, Gemini, Anthropic, and others) and vector stores such as Qdrant, Milvus, Elasticsearch, and Postgres. Other modules cover agent discovery, natural language to SQL over enterprise sources like HubSpot, Dynamics 365, and Jira, LLM model routing, and neural scoring of search results. It runs on Windows, macOS, and Linux, and includes a sample web UI.

The code is intended as a proof of concept rather than a finished product. Production deployments are expected to use their own front end and connect NLWeb to live databases.

Key features

  • 01Exposes each site as an MCP server with a natural language ask method.
  • 02Answers queries using Schema.org structured data already on a site.
  • 03Connects to multiple LLM providers and vector stores through YAML configuration.
  • 04Includes DataFinder for natural language to SQL over HubSpot, Dynamics 365, and Jira.
  • 05Ships a sample web UI and demo data sources for local testing.

Use cases

  • Adding a conversational search box to a content-heavy website such as a product catalog or recipe site.
  • Letting AI agents query a website through a standard MCP endpoint.
  • Prototyping natural language access to enterprise CRM or issue-tracking data.

Quick start

  1. 1

    Follow the hello-world guide for running it on a laptop (docs/nlweb-hello-world.md)

Things to know

  • It is a proof-of-concept reference implementation, and the README says the community is expected to build better alternatives.
  • Running it requires configuring an LLM provider and a vector store, which takes self-hosting effort.
  • The README notes that CI/CD pipelines are not yet included.

Topics

FAQ

What is NLWeb?
Python reference implementation of NLWeb, a protocol and toolkit for adding natural language conversational interfaces to websites that also serves MCP clients. NLWeb is a set of open protocols and sample code for building conversational interfaces on websites. It builds on Schema.org and RSS markup that sites already publish, so a natural language question can be answered from structured data on the page. Each NLWeb instance also acts as an MCP server and exposes an ask method, so the same endpoint serves both human users and AI agents.
Is NLWeb free to use? What license does it have?
NLWeb is open source under the MIT license. Check the license terms before using it in commercial products.
Is NLWeb still maintained?
Updated within 6 months. The last commit to NLWeb was on Aug 11, 2026.
What can I use NLWeb for?
Adding a conversational search box to a content-heavy website such as a product catalog or recipe site. Letting AI agents query a website through a standard MCP endpoint. Prototyping natural language access to enterprise CRM or issue-tracking data.
How do I install NLWeb?
Follow the hello-world guide for running it on a laptop (docs/nlweb-hello-world.md)
Where can I get NLWeb?
The source code and installation instructions are on GitHub: https://github.com/nlweb-ai/NLWeb

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects