Vaadin MCP Server

The Vaadin Model Context Protocol (MCP) server gives AI coding assistants direct access to comprehensive Vaadin documentation, enabling intelligent code assistance for Vaadin Java and React applications.

Standalone deployment?

The setup snippets below point at the hosted service at https://mcp.vaadin.com/docs. The MCP server is also available as a Docker image you can run yourself. In that case, substitute your own host — typically http://localhost:8080/docs in development or your internal hostname in production.

See the self-hosting guide for how to run the image, the license key it needs, and how to serve it behind a reverse proxy.

Setup instructions

Pick your AI coding tool to see its setup.

Claude Code

Setup method
Scope

You’ll have the server in this project only. It’s saved in your own Claude Code settings, so nothing in the repository changes.

Run in your terminal
claude mcp add vaadin --transport http https://mcp.vaadin.com/docs

Cursor

Scope

Everyone who opens this project in Cursor gets the server: commit the file to share it. Restart Cursor afterwards.

Save as .cursor/mcp.json in the project root
{
  "mcpServers": {
    "vaadin": {
      "type": "http",
      "url": "https://mcp.vaadin.com/docs"
    }
  }
}

Devin Desktop

Add to ~/.config/devin/mcp_config.json (Windows: %APPDATA%\devin\mcp_config.json)
{
  "mcpServers": {
    "vaadin": {
      "url": "https://mcp.vaadin.com/docs"
    }
  }
}

Devin Local, the default agent, and the legacy Cascade agent both read this file.

To check it works: open the MCP section of the agent panel. It lists the server and its tools.

Junie by JetBrains

Junie connects over stdio, so it needs a small adapter between it and this server. The configuration below sets it up.

In your JetBrains IDE

  1. 1Open Settings: Ctrl+Alt+S on Windows and Linux, Cmd+, on macOS.
  2. 2Go to Tools → Junie → MCP Settings.
  3. 3Click Add and paste the configuration below.
Configuration
{
  "mcpServers": {
    "vaadin": {
      "command": "npx",
      "args": ["@pyroprompts/mcp-stdio-to-streamable-http-adapter"],
      "env": {
        "URI": "https://mcp.vaadin.com/docs",
        "MCP_NAME": "vaadin"
      }
    }
  }
}

The adapter runs with npx, so it needs Node.js. URI is this server’s address and MCP_NAME is the name the server appears under.

Where it’s saved: ~/.junie/mcp.json gives you the server in every project. To limit it to one project, save it as .junie/mcp/mcp.json in that project’s root instead.

GitHub Copilot

Works in Copilot’s Agent mode.

IDE

Needs VS Code 1.99 or later.

Save as .vscode/mcp.json in the project root
{
  "servers": {
    "vaadin": {
      "type": "http",
      "url": "https://mcp.vaadin.com/docs"
    }
  }
}

Then, in VS Code

  1. 1Click Start at the top of the MCP servers list.
  2. 2Open Copilot Chat and choose Agent in the mode selector.
  3. 3Click the tools icon to see the server’s tools.

Copilot Business or Enterprise: an organization admin has to enable the “MCP servers in Copilot” policy first. It’s off by default.

Codex (OpenAI)

Works with the Codex CLI and the IDE extension.

Setup method
Run in your terminal
codex mcp add vaadin --url https://mcp.vaadin.com/docs

You’ll have the server in every project you open. It’s saved in ~/.codex/config.toml.

Needs Codex CLI 0.46 or later. If it rejects --url, upgrade:
npm install -g @openai/codex@latest

Gemini CLI (Google)

Gemini calls the Vaadin tools on its own whenever you ask about Vaadin.

Add to ~/.gemini/settings.json
{
  "mcpServers": {
    "vaadin": {
      "httpUrl": "https://mcp.vaadin.com/docs"
    }
  }
}

Create the file if it doesn’t exist. Restart Gemini CLI afterwards.

Opencode

Add to opencode.json in the project root
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vaadin": {
      "type": "remote",
      "url": "https://mcp.vaadin.com/docs",
      "enabled": true
    }
  }
}

Create the file if it doesn’t exist. Restart Opencode afterwards.

Other MCP clients

Any MCP client works. Pick the setup below that matches what your tool supports.

What does your tool support?
Server URL
https://mcp.vaadin.com/docs

Look for a setting like “MCP server URL”, “HTTP transport” or “Streamable HTTP” in your tool’s documentation.

Transport types

Important: The Vaadin MCP server uses HTTP transport (streamable-http). This is natively supported by Claude Code, Cursor, and Devin Desktop. For stdio-only tools like Junie, you can use @pyroprompts/mcp-stdio-to-streamable-http-adapter as a bridge between the two transport types.

What's included

  • Semantic search across Vaadin documentation
  • Full document retrieval for complete context
  • Component version information and API references
  • Component-specific API documentation (Java, React, Web Components)
  • Component styling and theming information
  • Support for both Java and React applications
  • Current Vaadin version information
  • Vaadin development primer with best practices

Resources