# io.github.UI5/webcomponents-react-mcp-server (npm · @ui5/webcomponents-react-mcp)

MCP server for UI5 Web Components for React - Developer documentation and API assistance

- Trust score: 78/100 (medium)
- Change this week: +28
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@ui5/webcomponents-react-mcp`: 78/100 (this document), [markdown](https://verifymcp.io/servers/ui5-webcomponents-react-mcp-server/ui5-webcomponents-react-mcp.md), [page](https://verifymcp.io/servers/ui5-webcomponents-react-mcp-server/ui5-webcomponents-react-mcp)

## Channel facts

- Registry: `npm`
- Package: `@ui5/webcomponents-react-mcp`
- Version: `2.25.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 83/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via @modelcontextprotocol/sdk > @hono/node-server. A fixed version is available.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to UI5/webcomponents-react).
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 3 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 74/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1825 tokens (~304/item across 6 items; 5 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (20% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add ui5-webcomponents-react-mcp-server -- npx -y @ui5/webcomponents-react-mcp
```

### Codex

```bash
codex mcp add ui5-webcomponents-react-mcp-server -- npx -y @ui5/webcomponents-react-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ui5-webcomponents-react-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@ui5/webcomponents-react-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ui5-webcomponents-react-mcp-server --command npx --arg -y --arg @ui5/webcomponents-react-mcp
```

### Hermes

```yaml
mcp_servers:
  ui5-webcomponents-react-mcp-server:
    command: "npx"
    args: ["-y", "@ui5/webcomponents-react-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "ui5-webcomponents-react-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@ui5/webcomponents-react-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 78, +65)

- [security regression] GHSA-frvp-7c67-39w9 affects this package: medium
- [security regression] Known CVEs: unverified → fail
- [security regression] Install scripts: pass → unverified
- [security improvement] Provenance: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] The attested source repository moved: UI5/webcomponents-react
- [functional regression] License: pass → unverified
- [functional regression] Maintenance: pass → unverified
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: Apache-2.0

### 2026-07-31 (score 13, +7)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 6, −44)

- [security regression] Malware scan: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional] Package version: 2.24.1 → 2.25.0

### 2026-07-27 (score 50)

First indexed and scored.

## MCP tools (5)

### `create_app` (~188 tokens)

Create App

Get scaffolding instructions for a new UI5 Web Components for React application from an official template.

WHEN TO USE: The user wants to create a new app, project, or starter using UI5 Web Components for React.
WORKFLOW: Call this tool to get the template setup instructions, then execute them.

Available templates:
\- `nextjs-app` — Next.js (App Router)
\- `nextjs-pages` — Next.js (Pages Router)
\- `vite-ts` — Vite.js

EXAMPLE INPUT: { "template": "vite-ts", "appName": "my-app" }
EXAMPLE INPUT: { "template": "nextjs-app", "appName": "my-dashboard" }

Input parameters:

- `appName` (string, required): Name for the new application directory
- `template` (string, required): Template to use. Available: nextjs-app, nextjs-pages, vite-ts

### `get_component_api` (~767 tokens)

Component API Reference

Get comprehensive API documentation for a UI5 Web Components React component including props, ref methods, types, event detail parameters, and CSS parts for shadow DOM styling.

WHEN TO USE: You need exact prop names, types, default values, method signatures, event detail fields, or CSS part selectors for a specific component.
DO NOT USE FOR: General guidance on styling, events, or architecture — use get_documentation instead. To discover component names — use list_components first.
WORKFLOW: Use list_components to find the correct component name, then this tool for full API details.
LIMITS: Returns data for one component per call. Returns all props and methods for that component.

EXAMPLE INPUT: { "componentName": "Dialog" }

\**Output Format (JSON):**
\```typescript
{
  package: string,                    // NPM package name
  description: string,                 // Full JSDoc description with @tags, examples, notes
  props: {
    [propName: string]: {
      type: {
        name: string,                  // Type category (e.g., "string", "boolean", "enum")
        raw?: string,                  // Full TypeScript type string
        value?: Array<{                // For enums: possible values with descriptions
          value: string,
          description?: string
        }>
      },
      required: boolean,               // Whether prop is required
      defaultValue: any,               // Default value if specified
      description: string,             // Full prop description with notes
      eventDetail?: {                  // Present on event handler props (web components only)
        params: Array<{                // Fields available on e.detail
          name: string,                // e.g., "targetRef", "escPressed", "item"
          type: string,                // e.g., "HTMLElement", "boolean"
          description: string          // What this detail field contains
        }>,
        cancelable: boolean,           // true = e.preventDefault() prevent…

Input parameters:

- `componentName` (string, required): Component name (e.g., "Button", "AnalyticalTable"). Case-insensitive. Must match a component from @ui5/webcomponents-react, @ui5/webcomponents-react-charts, or @ui5/webcomponents-ai-react.

Output parameters:

- `_meta` (object)
- `availableComponents` (array): List of all valid component names (only present on not_found errors)
- `cssParts` (array): CSS ::part() selectors for shadow DOM styling
- `description` (string): Full component description
- `docUrl` (string): Link to upstream documentation for complex behavioral concepts (e.g. layout algorithms)
- `error` (string): Error message if component not found
- `errorType` (string): Semantic error type for programmatic handling
- `isAbstract` (boolean): True for abstract components (marked @abstract): they render into a parent’s DOM, not their own shadow root. When interacting in a real browser (tests), target the node returned by getDomRef() rather…
- `methods` (array): Imperative methods accessible via ref
- `package` (string): NPM package name
- `props` (object): Component props with types, descriptions, and eventDetail
- `subTypeDocs` (string): Additional documentation for complex prop types (e.g. AnalyticalTable column definition)

### `get_documentation` (~466 tokens)

Documentation & Guides

Retrieve UI5 Web Components for React documentation, guides, and knowledge base articles. Documentation is bundled locally for instant offline access.

WHEN TO USE: You need guidance on how to use the library — setup, styling, event handling, SSR, slots, i18n.
DO NOT USE FOR: Looking up specific component props or methods — use get_component_api instead. For public utilities/hooks from @ui5/webcomponents-react-base — use get_public_utils.
WORKFLOW: Call without parameters to see all available sections. Use section parameter for direct access, query for search.
LIMITS: When fetchContent is true, full content is returned for at most 3 matching sections to control output size.

EXAMPLE INPUT: { "section": "Knowledge Base > Styling", "fetchContent": true }
EXAMPLE INPUT: { "query": "i18n", "fetchContent": true }
EXAMPLE INPUT: {} (returns catalog of all documentation sections)

Input parameters:

- `endLine` (integer): End line number (1-based, inclusive) for reading a portion of the documentation. Requires fetchContent: true. If omitted with startLine, reads to end of file.
- `fetchContent` (boolean): Whether to include the full documentation markdown content. Set to true to retrieve full documentation text in addition to metadata. Content is read from bundled local files (no network required). Us…
- `query` (string): Free-form search query to find relevant documentation. Searches across section names, descriptions, tags, and content topics. Examples: "styling", "migration", "i18n", "ssr", "slots", "forms". Use th…
- `section` (string): Specific documentation section to retrieve by exact name. Use this for direct access when you know which section you need. Examples: "Getting Started", "Migration Guide", "Knowledge Base > Styling",…
- `startLine` (integer): Start line number (1-based, inclusive) for reading a portion of the documentation. Requires fetchContent: true. Useful for large documents like the Change Log or Migration Guide.

### `get_public_utils` (~194 tokens)

Public Utilities & Hooks

Get documentation for public utilities and hooks from @ui5/webcomponents-react-base. Covers Device API, ThemingParameters, useI18nBundle, useViewportRange, and withWebComponent.

WHEN TO USE: You need to use device detection, theme-aware CSS variables in JS, internationalization hooks, responsive breakpoints, or wrap your own custom web components.
DO NOT USE FOR: Looking up component props — use get_component_api. For general styling guidance — use get_documentation with section "Knowledge Base > Styling".
LIMITS: Returns documentation for one utility per call, or an overview of all 5 utilities.

EXAMPLE INPUT: { "name": "ThemingParameters" }
EXAMPLE INPUT: { "name": "withWebComponent" }
EXAMPLE INPUT: {} (returns overview of all utilities)

Input parameters:

- `name` (string): Specific utility/hook name. Omit to see all available utilities.

### `list_components` (~190 tokens)

Browse Components

Browse all 212 available UI5 Web Components for React components across 4 packages with descriptions, categories, and import statements.

WHEN TO USE: You need to discover which components exist, find the right component for a use case, or verify a component name before calling get_component_api.
DO NOT USE FOR: Getting detailed props or methods — use get_component_api after finding the component name here.
LIMITS: Returns all matching components at once (up to 212). Filter by category or package to reduce output size.

EXAMPLE INPUT: { "category": "Inputs" }
EXAMPLE INPUT: { "package": "@ui5/webcomponents-react-charts" }
EXAMPLE INPUT: {} (returns all components)

Input parameters:

- `category` (string): Filter components by category. Omit to show all categories.
- `package` (string): Filter components by npm package name. Omit to show all packages.

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/ui5-webcomponents-react-mcp-server/ui5-webcomponents-react-mcp#diagnostics

## Score history

- 2026-08-03: 78
- 2026-08-02: 78
- 2026-08-01: 13
- 2026-07-31: 13
- 2026-07-30: 6
- 2026-07-28: 50
- 2026-07-27: 50

## Links

- npm package: https://www.npmjs.com/package/@ui5/webcomponents-react-mcp
- Socket report: https://socket.dev/npm/package/@ui5/webcomponents-react-mcp
- Repository: https://github.com/UI5/webcomponents-react
- Changelog RSS feed: https://verifymcp.io/servers/ui5-webcomponents-react-mcp-server/ui5-webcomponents-react-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ui5-webcomponents-react-mcp-server/ui5-webcomponents-react-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ui5-webcomponents-react-mcp-server/ui5-webcomponents-react-mcp
