Vaadin▌

by vaadin
Search Vaadin docs and get component usage guidance for Vaadin Java and React apps—fast, accurate answers and examples.
Documentation search and component usage guidance for Vaadin Java and React applications
best for
- / Java developers building Vaadin Flow applications
- / React developers using Vaadin Hilla framework
- / Teams learning Vaadin components and patterns
- / Developers troubleshooting framework-specific issues
capabilities
- / Search Vaadin documentation with semantic understanding
- / Filter results by framework (Java Flow vs React Hilla)
- / Navigate hierarchical documentation structure
- / Find related parent and child sections
- / Query component usage and best practices
- / Get code examples from official docs
what it does
Searches through Vaadin documentation using AI to help you find framework-specific information for Java (Flow) and React (Hilla) applications. Understands document structure and can navigate between related sections intelligently.
about
Vaadin is an official MCP server published by vaadin that provides AI assistants with tools and capabilities via the Model Context Protocol. Search Vaadin docs and get component usage guidance for Vaadin Java and React apps—fast, accurate answers and examples. It is categorized under ai ml, developer tools.
how to install
You can install Vaadin in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server supports remote connections over HTTP, so no local installation is required.
license
MIT
Vaadin is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
Vaadin Documentation RAG Service
A sophisticated, hierarchically-aware Retrieval-Augmented Generation (RAG) system for Vaadin documentation that understands document structure, provides framework-specific filtering, and enables intelligent parent-child navigation through documentation sections.
🎯 Project Overview
This project provides an advanced RAG system with enhanced hybrid search that:
- Understands Hierarchical Structure: Navigates parent-child relationships within and across documentation files
- Enhanced Hybrid Search: Combines semantic and intelligent keyword search with native Pinecone reranking for superior relevance
- Framework Filtering: Intelligently filters content for Vaadin Flow (Java) vs Hilla (React) frameworks
- Agent-Friendly: Provides MCP (Model Context Protocol) server for seamless IDE assistant integration
- Production Ready: Clean architecture with dependency injection, comprehensive testing, and error handling
🏗️ Architecture
vaadin-documentation-services/
├── packages/
│ ├── core-types/ # Shared TypeScript interfaces
│ ├── 1-asciidoc-converter/ # AsciiDoc → Markdown + metadata extraction
│ ├── 2-embedding-generator/ # Markdown → Vector database with hierarchical chunking
│ └── mcp-server/ # MCP server with hierarchical navigation
├── package.json # Bun workspace configuration
└── PROJECT_PLAN.md # Complete project documentation
Data Flow
flowchart TD
subgraph "Step 1: Documentation Processing"
VaadinDocs["📚 Vaadin Docs<br/>(AsciiDoc)"]
Converter["🔄 AsciiDoc Converter<br/>• Framework detection<br/>• URL generation<br/>• Markdown output"]
Processor["⚡ Embedding Generator<br/>• Hierarchical chunking<br/>• Parent-child relationships<br/>• OpenAI embeddings"]
end
subgraph "Step 2: Agent Integration"
Pinecone["🗄️ Pinecone Vector DB<br/>• Rich metadata<br/>• Hierarchical relationships<br/>• Framework tags"]
MCP["🤖 MCP Server<br/>• search_vaadin_docs<br/>• get_full_document<br/>• Full document retrieval"]
IDEs["💻 IDE Assistants<br/>• Context-aware search<br/>• Hierarchical exploration<br/>• Framework-specific help"]
end
VaadinDocs --> Converter
Converter --> Processor
Processor --> Pinecone
Pinecone <--> MCP
MCP <--> IDEs
classDef processing fill:#e1f5fe,stroke:#01579b,stroke-width:2px
classDef storage fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef api fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px
classDef agent fill:#fff3e0,stroke:#e65100,stroke-width:2px
class VaadinDocs,Converter,Processor processing
class Pinecone storage
class MCP api
class IDEs agent
✨ Key Features
🔍 Intelligent Search
- Enhanced Hybrid Search: Combines semantic similarity with intelligent keyword extraction and scoring
- Native Pinecone Reranking: Uses Pinecone's bge-reranker-v2-m3 for optimal result ranking
- Framework Awareness: Filters Flow vs Hilla content with common content inclusion
- Query Preprocessing: Smart keyword extraction with stopword filtering for better search quality
🌳 Hierarchical Navigation
- Parent-Child Relationships: Navigate from specific details to broader context
- Cross-File Links: Understand relationships between different documentation files
- Context Breadcrumbs: Maintain navigation context for better user experience
🎛️ Developer Experience
- MCP Integration: Standardized protocol for IDE assistant integration
- TypeScript: Full type safety across all packages
- Comprehensive Testing: Unit tests, integration tests, and hierarchical workflow validation
- Clean Architecture: Dependency injection and interface-based design
🚀 Quick Start
Prerequisites
- Bun runtime v1.3.6
- OpenAI API key (for embeddings)
- Pinecone API key and index
Installation
# Clone and install dependencies
git clone https://github.com/vaadin/vaadin-documentation-services
cd vaadin-documentation-services
bun install
Environment Setup
# Create .env file with your API keys
echo "OPENAI_API_KEY=your_openai_api_key" > .env
echo "PINECONE_API_KEY=your_pinecone_api_key" >> .env
echo "PINECONE_INDEX=your_pinecone_index" >> .env
Running the System
1. Process Documentation (One-time setup)
# Convert AsciiDoc to Markdown with metadata
cd packages/1-asciidoc-converter
bun run convert
# Generate embeddings and populate vector database
cd ../2-embedding-generator
bun run generate
2. Use MCP Server with IDE Assistant
The MCP server is deployed and available remotely via HTTP transport at:
https://mcp.vaadin.com/
Configure your IDE assistant to use the Streamable HTTP transport:
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("https://mcp.vaadin.com/")
);
📦 Package Details
Core Types (packages/core-types/)
Shared TypeScript interfaces used across all packages:
DocumentChunk: Core documentation chunk structureRetrievalResult: Search result with relevance scoringFramework: Type-safe framework definitions
AsciiDoc Converter (packages/1-asciidoc-converter/)
Converts Vaadin AsciiDoc documentation to Markdown with metadata:
- Framework Detection: Automatically detects Flow/Hilla/common content
- URL Generation: Creates proper Vaadin.com documentation links
- Include Processing: Handles AsciiDoc include directives
- Metadata Extraction: Preserves semantic information in frontmatter
cd packages/1-asciidoc-converter
bun run convert # Convert all documentation
bun run test # Run framework detection tests
Embedding Generator (packages/2-embedding-generator/)
Creates vector embeddings with hierarchical relationships:
- Hierarchical Chunking: Preserves document structure and relationships
- Parent-Child Links: Creates cross-file and intra-file relationship mapping
- LangChain Integration: Uses MarkdownHeaderTextSplitter for intelligent chunking
- Batch Processing: Efficient embedding generation and Pinecone upsertion
cd packages/2-embedding-generator
bun run generate # Generate embeddings from Markdown
bun run test # Run chunking and relationship tests
MCP Server (packages/mcp-server/)
Model Context Protocol server for IDE assistant integration:
- Document Tools:
search_vaadin_docsandget_full_document - Full Document Retrieval: Complete documentation pages with context
- Framework Awareness: Intelligent framework detection and filtering
- Error Handling: Graceful degradation for missing content
cd packages/mcp-server
bun run build # Build for distribution
bun run test # Run document-based tests
Available Tools:
search_vaadin_docs: Search with semantic and keyword matchingget_full_document: Retrieve complete documentation pagesget_vaadin_version: Get latest Vaadin version and release timestamp
🧪 Testing
Each package includes comprehensive test suites:
# Test individual packages
cd packages/1-asciidoc-converter && bun run test
cd packages/2-embedding-generator && bun run test
cd packages/mcp-server && bun run test
📈 Performance & Metrics
Search Quality
- 100% Framework Detection Accuracy: Flow, Hilla, and common content correctly identified
- Enhanced Hybrid Search: Semantic + keyword search with native Pinecone reranking dramatically improves relevance
- Contextual Navigation: Parent-child relationships enable better result exploration
- 4,982 Document Chunks: Complete coverage of 378 Vaadin documentation files with 5-level hierarchy
System Performance
- Parallel Processing: Semantic and keyword search executed in parallel with intelligent merging
- Native Reranking: Pinecone's bge-reranker-v2-m3 provides superior result ranking
- Query Preprocessing: Smart keyword extraction with stopword filtering improves search quality
- Efficient Chunking: Optimized token limits with intelligent content splitting
- Clean Architecture: Dependency injection enables easy performance optimization
Production Readiness
- 100% API Backward Compatibility: All existing integrations continue to work
- Robust Error Handling: Graceful fallbacks ensure system reliability
- Fresh Data: Recently updated with complete Vaadin documentation coverage
🌐 Deployment
MCP Server
The MCP server is available at:
- Production:
https://mcp.vaadin.com/ - Health Check:
https://mcp.vaadin.com/health
Documentation Processing
Automated via GitHub Actions:
- Daily Updates: Documentation re-processed automatically
- Manual Triggers: Can be triggered via GitHub Actions UI
- Error Notifications: Automated alerts for processing failures
🔧 Development
Workspace Structure
This project uses Bun workspaces for package management:
bun install # Install all dependencies
bun run build # Build all packages
bun run test # Test all packages
Adding New Features
- Core Types: Add interfaces to
packages/core-types/ - Processing: Extend converters in
packages/1-asciidoc-converter/orpackages/2-embedding-generator/ - Integration: Update MCP tools in
packages/mcp-server/
Architecture Principles
- Single Responsibility: Each package has a clear, focused purpose
- Interface-Based Design: Clean contracts between components
- Dependency Injection: Testable and swappable implementations
- Type Safety: Full TypeScript coverage with strict configuration
📚 Documentation
- Project Plan: Complete project b
FAQ
- What is the Vaadin MCP server?
- Vaadin is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
- How do MCP servers relate to agent skills?
- Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
- How are reviews shown for Vaadin?
- This profile displays 10 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
Ratings
4.5★★★★★10 reviews- ★★★★★Shikha Mishra· Oct 10, 2024
Vaadin is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
- ★★★★★Piyush G· Sep 9, 2024
We evaluated Vaadin against two servers with overlapping tools; this profile had the clearer scope statement.
- ★★★★★Chaitanya Patil· Aug 8, 2024
Useful MCP listing: Vaadin is the kind of server we cite when onboarding engineers to host + tool permissions.
- ★★★★★Sakshi Patil· Jul 7, 2024
Vaadin reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
- ★★★★★Ganesh Mohane· Jun 6, 2024
I recommend Vaadin for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
- ★★★★★Oshnikdeep· May 5, 2024
Strong directory entry: Vaadin surfaces stars and publisher context so we could sanity-check maintenance before adopting.
- ★★★★★Dhruvi Jain· Apr 4, 2024
Vaadin has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Rahul Santra· Mar 3, 2024
According to our notes, Vaadin benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
- ★★★★★Pratham Ware· Feb 2, 2024
We wired Vaadin into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
- ★★★★★Yash Thakker· Jan 1, 2024
Vaadin is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.