🚀 Open Source • Microsoft Research

NLWeb - Natural Language Web

NLWeb transforms any website into a conversational AI-powered platform. Built by the creator of RSS, RDF, and Schema.org, NLWeb makes it easy to add natural language interfaces that work for both humans and AI agents.

4.6k Stars
414 Forks
19 Contributors
MIT License
Natural Language Query Demo
👤 User: "Find me vegetarian recipes under 30 minutes"
🤖 NLWeb: Processing your request...
• Querying recipe database
• Filtering by dietary preferences
• Applying time constraints
• Enhancing with nutritional data
📋 Found 23 recipes matching your criteria:
• Quinoa Buddha Bowl (25 min)
• Caprese Pasta Salad (15 min)
• Mediterranean Chickpea Wrap (20 min)
▌
Why NLWeb?

Turn Any Website Into An AI App

Just like HTML revolutionized document sharing, NLWeb creates the foundation for conversational web experiences. Enable natural language interactions using your existing data and infrastructure.

MCP Native

Every NLWeb instance is also an MCP server, enabling AI agents to interact with your website's content seamlessly.

Schema.org Powered

Leverages existing Schema.org markup, RSS feeds, and JSON-LD data that over 100 million websites already use.

Technology Agnostic

Choose any LLM (OpenAI, Anthropic, Gemini), vector database (Qdrant, Milvus), and deployment platform.

Use Your Data

No external dependencies. Use your existing website data to provide accurate, real-time responses.

Cross-Platform

Runs on Windows, macOS, and Linux. From cloud clusters to laptops, with mobile support coming soon.

Open Source

MIT licensed open source project. Customize, extend, and contribute to the future of the web.

Architecture

How NLWeb Works

A simple yet powerful architecture that combines structured web data with AI models to create natural language interfaces.

NLWeb Architecture

User InterfaceWeb BrowserNatural Language QueryNLWeb Core ServiceQuery Processing • Response GenerationMCP Server • REST APIAI AgentsMCP ClientAgent-to-Agent CommunicationWebsite DataSchema.orgRSS • JSON-LDVector DatabaseQdrant • MilvusAzure AI SearchLLM ServicesOpenAI • AnthropicGemini • DeepSeekEnhancementExternal KnowledgeContext EnrichmentNatural Language QueryIngestRetrieveProcessMCP ProtocolEnhanceOpen Protocols & StandardsModel Context Protocol (MCP) • Schema.org • REST API • JSON-LD • RSSTechnology Agnostic PlatformWindows • macOS • LinuxAny Vector DatabaseAny LLM ProviderScalable DeploymentOpen Source MIT

NLWeb architecture enables natural language interfaces by combining structured web data with AI models. The system is technology-agnostic, supporting various LLMs, vector databases, and deployment platforms while maintaining compatibility with existing web standards.

1

Data Ingestion

Your existing Schema.org, RSS, and JSON-LD data is ingested into vector databases

2

Query Processing

Natural language queries are processed by your chosen LLM and matched with relevant data

3

Response Enhancement

Responses are enhanced with external knowledge and context for richer interactions

4

Multi-Channel Output

Serve responses to humans via web UI and AI agents via MCP protocol

Real-World Applications

Trusted by Leading Organizations

From media companies to e-commerce platforms, organizations are using NLWeb to create next-generation user experiences.

Chicago Public Media
News & Audio
Allrecipes
Recipe Platform
TripAdvisor
Travel & Reviews
Shopify
E-commerce
O'Reilly Media
Tech Content
Eventbrite
Events Platform

Content Discovery

"Find articles about sustainable cooking techniques published this month" - Natural language search through content archives.

Customer Support

"What's your return policy for electronics?" - Instant answers from knowledge bases without human intervention.

Product Recommendations

"Suggest laptops for video editing under $1500" - AI-powered product discovery with contextual understanding.

Documentation

Comprehensive Guides

Get started with NLWeb using our detailed documentation, examples, and API references.

Quick Start

Get up and running with NLWeb in minutes.

API Reference

Detailed API documentation for developers.

Tutorials

Step-by-step guides for common use cases.

Community

Join the community and get help from other users.

Examples

See NLWeb in Action

Explore examples of what you can build with NLWeb.

Form Generator
// Generate a contact form with validation
nlw.createForm({
  fields: ["name", "email", "message"],
  validation: true,
  submitHandler: "sendToAPI"
});
Data Visualization
// Create a chart from data
nlw.visualize({
  data: salesData,
  type: "bar",
  title: "Monthly Sales",
  colors: ["#4338ca", "#3b82f6"]
});
Video Tutorials

Watch and Learn

Explore video tutorials to get started with NLWeb quickly.

Getting Started with NLWeb

Learn the basics of NLWeb and how to set up your first project.

Advanced NLWeb Techniques

Dive deeper into NLWeb features and learn advanced concepts.

Ready to Get Started?

Join the growing community of developers using NLWeb to build the next generation of web applications.