Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-virgilvox-vue-harvest": {
"args": [
"-y",
"vue-harvest"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Point it at a Vue project. It finds every component, figures out which ones are reusable, and extracts them. It also pulls out your design tokens (colors, spacing, typography) and gives you a visual report.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'vue-harvest' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked vue-harvest against OSV.dev.
Click any tool to inspect its schema.
registryFull registry JSON
harvest://registry
graphDependency graph
harvest://graph
summaryAnalysis summary
harvest://summary
componentIndividual component analysis
harvest://component/{name}
design-systemExtracted design tokens
harvest://design-system
analyze-new-projectGuided first analysis
extraction-sprintBatch refactor and extract session
refactor-componentSingle component deep refactor
extract-design-systemDesign token extraction and analysis
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in design / developer-tools
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Asynchronous coordination layer for AI coding agents: identities, inboxes, searchable threads, and advisory file leases over FastMCP + Git + SQLite
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
MCP Security Weekly
Get CVE alerts and security updates for io.github.virgilvox/vue-harvest and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Point it at a Vue project. It finds every component, figures out which ones are reusable, and extracts them. It also pulls out your design tokens (colors, spacing, typography) and gives you a visual report.
The hard cases that need judgment (store-coupled components, ambiguous dependencies) get handled by an MCP server that feeds structured analysis to an LLM.
Component extraction. Parses every .vue file in a project using @vue/compiler-sfc. For each component it extracts the full interface (props, emits, slots), maps out the dependency graph, detects coupling issues, and scores a confidence level for safe extraction. Components above the threshold get auto-extracted into standalone bundles with rewritten imports and a manifest of peer dependencies.
Design token extraction. Scans all CSS (scoped styles, standalone stylesheets) and pulls out colors, font families, font sizes, font weights, spacing values, border radii, and shadows. Outputs a CSS custom properties file, a JSON dump, and a visual HTML explorer showing swatches and scales.
MCP server. Twelve tools that give an LLM the structured data it needs to reason about the harder cases: components in the 30-70% confidence range that could be extracted with some refactoring. The LLM can deep-analyze coupling, generate decoupling suggestions with before/after code, create composable wrappers for store-bound components, and do full rewrite-and-extract in one shot.
npm install -g vue-harvest
# or run directly
npx vue-harvest analyze ./my-app
For the MCP server:
npm install -g vue-harvest-mcp
vue-harvest analyze [path]Full analysis pipeline. Discovers .vue files, parses interfaces, builds the dependency graph, classifies every component, auto-extracts the safe ones, and generates a registry + catalog.
vue-harvest analyze
vue-harvest analyze ./path/to/project
vue-harvest analyze --threshold 60
vue-harvest analyze --output ./harvested
vue-harvest analyze --json | jq '.summary'
Output goes to .vue-harvest/ by default:
.vue-harvest/
registry.json Component registry (shadcn-compatible format)
catalog.html Browsable catalog with tier filters
analysis.json Full analysis dump for the MCP server
SUMMARY.md Human-readable report
components/ Extracted component bundles
Button/
Button.vue
manifest.json
Card/
Card.vue
manifest.json
vue-harvest list [path]Lists all components sorted by extraction confidence.
vue-harvest list
vue-harvest list --tier primitive
vue-harvest list --json
vue-harvest inspect <name>Full breakdown of a single component: props, events, slots, dependencies, coupling issues, style analysis.
vue-harvest inspect Button
vue-harvest inspect UserProfileCard --json
vue-harvest extract <name>Extracts a specific component and all its local dependencies into a standalone bundle.
vue-harvest extract Button
vue-harvest extract UserProfileCard --force
vue-harvest extract Card --output ./my-components
vue-harvest tokens [path]Extracts design system tokens from the project.
vue-harvest tokens
vue-harvest tokens --json
vue-harvest tokens --output ./design-system
Outputs:
tokens.css with CSS custom propertiestokens.json with the full token datasetdesign-system.html with a visual explorer (color swatches, font scales, spacing visualization)vue-harvest initCreates a harvest.config.json with detected project settings.
Optional. Place a harvest.config.json in the project root:
{
"include": ["**/*.vue"],
"exclude": [
"node_modules/**",
"dist/**",
"**/*.test.*",
"**/*.story.*"
],
"extractionThreshold": 70,
"outDir": ".vue-harvest",
"registry": "json"
}
Path aliases are auto-detected from tsconfig.json. If y