ai-mldeveloper-tools

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

github stars

12

Understands Vaadin Flow vs Hilla differencesHierarchical document navigationHybrid search with reranking

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 structure
  • RetrievalResult: Search result with relevance scoring
  • Framework: 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_docs and get_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 matching
  • get_full_document: Retrieve complete documentation pages
  • get_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

  1. Core Types: Add interfaces to packages/core-types/
  2. Processing: Extend converters in packages/1-asciidoc-converter/ or packages/2-embedding-generator/
  3. 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


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.
MCP server reviews

Ratings

4.510 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.