VaneUI

io.github.vaneui由 GitHub 账号 vaneui 发布v1.2.0更新于 Nov 3, 2026

VaneUI React 组件文档,以及面向 AI 编码代理的各组件 prop 表格。

AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。

原文描述

VaneUI React component docs and per-component prop tables for AI coding agents.

已验证STDIO仅桌面知识与记忆开发者工具

概览

VaneUI 的本地 MCP 服务;无需登录;STDIO;2 个工具。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 VaneUI,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@vaneui/mcp

[npm version] [license] [Model Context Protocol]

A Model Context Protocol server that exposes the VaneUI documentation to AI coding agents. Any MCP-aware client (Claude Code, Claude Desktop, Cursor, VS Code, etc.) can read the component docs on demand and search across them with a single tool call, so your agent writes correct VaneUI code without you pasting rules into prompts by hand.

It serves the full component reference, getting-started and customization guides, and a structured prop table for every component, plus two tools: search_docs and get_component_props.

Requirements

  • Node.js 24 (the npx command below downloads and runs the server for you).

Quickstart

The server runs over stdio and is published to npm as @vaneui/mcp. Add it to your client with the snippets below; no local clone or build is needed.

Claude Code

bash
claude mcp add vaneui -- npx -y @vaneui/mcp

Claude Desktop

Edit your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "vaneui": {      "command": "npx",      "args": ["-y", "@vaneui/mcp"]    }  }}

Restart Claude Desktop afterward.

Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):

json
{  "mcpServers": {    "vaneui": {      "command": "npx",      "args": ["-y", "@vaneui/mcp"]    }  }}

VS Code

bash
code --add-mcp '{"name":"vaneui","command":"npx","args":["-y","@vaneui/mcp"]}'

Or add to .vscode/mcp.json (note VS Code uses the servers key):

json
{  "servers": {    "vaneui": {      "command": "npx",      "args": ["-y", "@vaneui/mcp"]    }  }}

Other clients

Any client that accepts a stdio MCP server works. Use npx as the command and -y @vaneui/mcp as the args, following that client's config format.

How to use it

Once the server is connected, just build with VaneUI in natural language. The agent pulls the right docs through the tools automatically:

  • "Using VaneUI, build a pricing card with a title, a feature list, and a filled primary button." → the agent reads card, list, and button props and composes them correctly.
  • "What's the default appearance and variant of Chip?" → get_component_props returns the prop table (Chip defaults to secondary + outline, not primary).
  • "How do I set app-wide defaults for every Button?" → search_docs finds the theme-defaults guide and shows the ThemeProvider themeDefaults pattern.
  • "Which VaneUI prop maps to flex-1?" → search_docs finds it in the prop-to-Tailwind mapping.

Verifying it works

After adding the server and restarting your client:

  • The client should list a server named vaneui with the tools search_docs and get_component_props (and the vaneui://docs/* resources).
  • To smoke-test the server directly, run npx -y @vaneui/mcp in a terminal. It starts and waits on stdio (no output is normal for an MCP stdio server; press Ctrl+C to exit).

Tools

search_docs

Substring or regex search across the full doc corpus.

ParamTypeNotes
querystringRequired. Case-insensitive.
regexbooleanOptional. If true, query is parsed as a JavaScript regex. Defaults to false.

Returns up to 50 hits, each containing uri, slug, lineNumber, and a short surrounding snippet. Use this before guessing prop names, defaults, or class mappings — the answer is almost always already in the docs.

get_component_props

Returns a component's boolean props as plain text, one line per category, with the default marked *. Props in one category are alternatives. The data comes from @vaneui/ui's ComponentCategories, ComponentKeys, defaultTheme, and PropDescriptions.

ParamTypeNotes
slugstringRequired. The component slug, matching the resource basename, e.g. button, card, icon-button, page-title. common lists the shared layout props.
detail"compact" | "full"Optional. Defaults to "compact".

The shared layout props (display, gap, justify, border, width and the rest) are the same on most components, so compact output leaves them out: it lists the component's own props, then names the shared categories the component takes and its shared defaults. Call it with slug: "common" once to get those props. full adds a description to every prop and lists the shared props too.

text
card boolean props. Props in one category are alternatives; * marks the default. Descriptions: call again with detail "full".Size: xs sm md* lg xlAppearance: primary* accent secondary tertiary success danger warning info inheritAppearanceVariant: filled outline* ghost...Shared layout props (get_component_props "common" lists them): Hide, Show, Items, Justify, ...Shared defaults: flex gap column border responsiveSizing

Props that take a value, such as Field's label or Modal's title, are not boolean category props: read them in the component's doc, vaneui://docs/<slug>.

Available resources

Each documentation file is exposed as a resource named vaneui://docs/<slug>, where <slug> is the lowercased source filename minus the .md extension. All resources have mimeType: text/markdown.

Examples:

  • vaneui://docs/claude — VaneUI project overview.
  • vaneui://docs/component-usage, vaneui://docs/prop-to-tailwind-mapping, vaneui://docs/component-patterns, vaneui://docs/props-and-theme, vaneui://docs/css-conventions, vaneui://docs/testing, vaneui://docs/e2e-testing, vaneui://docs/playground-examples — agent-facing rule files.
  • vaneui://docs/installation, vaneui://docs/usage-basics, vaneui://docs/core-concepts — getting-started guides.
  • vaneui://docs/theming-overview, vaneui://docs/using-theme-provider, vaneui://docs/theme-defaults, vaneui://docs/theme-and-override, vaneui://docs/extra-classes, vaneui://docs/customizing-styles, vaneui://docs/variant-inheritance, vaneui://docs/css-variables — customization guides.
  • vaneui://docs/common-props — shared layout/typography prop reference.
  • vaneui://docs/button, vaneui://docs/card, vaneui://docs/modal, ... — one per component.

Development

This section is for contributors and maintainers working on the server itself.

Sources

The doc corpus is bundled from two sibling repos at build time:

  • vaneui/ (a checkout of vaneui/vaneui) — API reference and agent-facing rules (CLAUDE.md + .claude/rules/*.md).
  • vaneui-web/ (a checkout of vaneui/web) — narrative guides and per-component reference, authored as plain markdown under app/docs/data/**/*.md (one file per component, with frontmatter).

Each .md file goes into resources/ keyed by its basename (filenames are globally unique, so the corpus is flat). Files from vaneui/ are copied verbatim. vaneui-web/ pages are written with their {% include "x.md" %} tags expanded through vaneui-web's own include helper (lib/docs/includes.mjs), so each resource matches the page on vaneui.com. Files and directories whose name starts with _ are partials that pages include, so they get no resource of their own. scripts/sync-component-props.mjs additionally reads each component's componentKey frontmatter and joins it with @vaneui/ui's exported metadata to produce resources/component-props.json. It marks a prop as shared (isCommon) when its category is in vaneui-web/app/docs/commonCategories.ts, the same split the props tables on vaneui.com use.

Building

resources/ is committed to git, so a fresh clone already has everything the server needs to run.

bash
npm installnpm run build       # tsc only — uses the committed resources/npm start           # run the built server over stdio

Point a client at the local build with node /absolute/path/to/vaneui-mcp/dist/server.js as the command.

Testing

npm test compiles src/ and runs the tool tests in test/ with node --test.

Re-syncing the corpus (maintainers)

The sync scripts expect vaneui/ and vaneui-web/ as sibling folders of this repo (resolved as ../vaneui and ../vaneui-web). Override with VANEUI_PATH / VANEUI_WEB_PATH env vars if they live elsewhere. Run npm install in vaneui-web/ first, because its include helper loads @vaneui/md from there. A missing or cyclic include stops the sync.

bash
npm run build:full  # re-sync resources/ from the sibling repos, then tsc
  • npm run sync — lenient sync: copies every .md from both sources into resources/ and writes component-props.json. ⚠️ Wipes resources/ first; if a sibling repo is missing you'll get a partial bundle. Prefer build:full.
  • npm run sync:strict — strict sync: exits non-zero if any sibling repo is missing or no MD files are found. Used by prepublishOnly.

Adding or updating a doc

  1. Edit (or create) the source markdown in vaneui/ or vaneui-web/:
    • Component reference: vaneui-web/app/docs/data/<category>/<slug>.md (with frontmatter).
    • Narrative guide: vaneui-web/app/docs/data/{getting-started,customization,reference}/.
    • Agent rule: vaneui/.claude/rules/<slug>.md.
  2. npm run build:full to regenerate resources/ and recompile.
  3. Commit the regenerated resources/ alongside the source edit, and restart your MCP client.

src/resources.ts reads the resources directory at startup, so no registry edit is needed when adding a file.

License

MIT

来源:README.md,提交 20752d3

工具

2

search_docs

Search the VaneUI markdown docs (component usage, prop-to-Tailwind mapping, patterns, testing, etc.) for a substring or regex. Returns up to 50 matches with URI, line number, and a short snippet. Use this before guessing prop names, defaults, or class mappings.

输入参数query必填regex

get_component_props

Return a VaneUI component's boolean props, one line per category, default marked `*`. By default (`compact`) it lists the component's own props and names the shared layout categories it takes; slug `common` lists those once. detail `full` adds descriptions and every shared prop. Value props such as `label` or `title` are in `vaneui://docs/<slug>`. The slug is the resource basename: `button`, `card`, `icon-button`, etc.

输入参数slug必填detail

版本历史

3
  1. v1.2.0最新Nov 3, 2026
  2. v1.1.5Oct 31, 2026
  3. v1.1.4Oct 29, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分