Skip to main content
Glama
VengeanceUI MCP Server

VengeanceUI MCP Server

VengeanceUI MCP Server

MCP VengeanceUI

An Model Context Protocol (MCP) server that brings 129 beautiful VengeanceUI components directly to your AI assistant! Browse, search, and retrieve component source code from the VengeanceUI GitHub repository seamlessly within Claude Desktop, Cursor, or any MCP-enabled tool.

✨ Features

  • 🎨 129+ Components: Access the complete VengeanceUI component library

  • πŸ” Smart Search: Search by name, category, tags, or description with fuzzy matching

  • πŸ“¦ Full Source Code: Get complete component code with metadata

  • πŸ—‚οΈ Category Filtering: Browse by Buttons, Cards, Forms, Navigation, and more

  • πŸ“Š Component Metadata: View dependencies, tags, file size, and source URLs

  • ⚑ Smart Caching: Built-in 5-minute cache for faster responses

  • πŸ”„ Real-time Sync: Components loaded directly from the latest GitHub repository

Related MCP server: shadcn MCP Server

πŸš€ Quick Start

Prerequisites

  • Node.js: v18 or higher (tested with v22.17.0)

  • npm: Latest version

  • Claude Desktop or Cursor IDE (or any MCP-compatible client)

Installation

  1. Clone this repository:

    git clone https://github.com/krockxz/VengeanceUI-MCP.git
    cd VengeanceUI-MCP
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

    You should see:

    > vengeanceui-mcp-server@1.0.0 build
    > tsc
  4. Verify the build:

    ls -lh dist/server.js

βš™οΈ Configuration

For Claude Desktop

  1. Locate your configuration file:

    • Linux: ~/.config/Claude/claude_desktop_config.json

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add the VengeanceUI server configuration:

    {
      "mcpServers": {
        "vengeanceui": {
          "command": "node",
          "args": ["/absolute/path/to/mcp VengeanceUI/dist/server.js"]
        }
      }
    }

    ⚠️ Important: Replace /absolute/path/to/ with your actual absolute path!

    Example on Linux:

    "args": ["/home/kunal/Documents/mcp VengeanceUI/dist/server.js"]
  3. Restart Claude Desktop:

    • Linux: Press Ctrl + R or fully restart the application

    • macOS/Windows: Fully quit and restart Claude Desktop

  4. Verify the server is running:

    • Look for the πŸ”¨ tool icon in the bottom-right corner of Claude Desktop

    • Click it to see available MCP servers

    • You should see "VengeanceUI MCP Server" listed

For Cursor IDE

  1. Create or edit .cursor/mcp-servers.json in your project:

    {
      "mcpServers": {
        "vengeanceui": {
          "command": "node",
          "args": ["/absolute/path/to/mcp VengeanceUI/dist/server.js"]
        }
      }
    }
  2. Restart Cursor IDE

Optional: GitHub Token for Higher Rate Limits

Adding a GitHub token increases API rate limits from 60 to 5000 requests/hour.

  1. Create a GitHub Personal Access Token:

    • Go to https://github.com/settings/tokens

    • Click "Generate new token (classic)"

    • Select scope: public_repo (read access to public repositories)

    • Copy the generated token (starts with ghp_)

  2. Update your configuration:

    {
      "mcpServers": {
        "vengeanceui": {
          "command": "node",
          "args": ["/absolute/path/to/mcp VengeanceUI/dist/server.js"],
          "env": {
            "GITHUB_TOKEN": "ghp_your_token_here"
          }
        }
      }
    }
  3. Restart your MCP client

πŸ› οΈ Available Tools

The server provides 7 powerful tools for working with VengeanceUI components:

1. list_components

List all available VengeanceUI components with their categories and descriptions.

Parameters:

  • category (optional): Filter by category (e.g., "Buttons", "Cards", "Forms")

  • limit (optional): Maximum number of components to return

Example prompts:

  • "List all VengeanceUI components"

  • "Show me the first 20 components"

  • "List all components in the Buttons category"


2. search_components

Search for components using fuzzy matching across names, categories, tags, and descriptions.

Parameters:

  • query (required): Search term

  • limit (optional): Maximum results to return (default: 10)

Example prompts:

  • "Search for button components"

  • "Find animated card components"

  • "Search for gradient effects"


3. get_component_code

Retrieve the complete source code for a specific component with metadata.

Parameters:

  • component_name (required): Exact or partial component name

  • include_metadata (optional): Include metadata like tags, dependencies (default: true)

Example prompts:

  • "Get the code for AnimatedButton"

  • "Show me the source code for GradientCard"

  • "Get button.tsx code"


4. get_components_by_category

Get all components in a specific category.

Parameters:

  • category (required): Component category name

Example prompts:

  • "Show all components in the Forms category"

  • "What's in the Navigation category?"


5. get_component_info

Get detailed metadata about a component including dependencies, file size, and tags.

Parameters:

  • component_name (required): Component name

Example prompts:

  • "Get info for AnimatedButton"

  • "What are the dependencies for GradientCard?"


6. list_categories

List all component categories with component counts.

Example prompts:

  • "List all categories"

  • "What categories are available in VengeanceUI?"


7. refresh_cache

Force refresh the component cache from the GitHub repository.

Example prompts:

  • "Refresh the VengeanceUI component cache"

  • "Update the component list"

πŸ’‘ Usage Examples

Once configured in Claude Desktop, try these natural language prompts:

Discovery

"What VengeanceUI components are available?"
"List all categories in VengeanceUI"
"How many components are there in total?"
"Find all button components"
"Search for gradient or animated components"
"Show me navigation components"

Get Code

"Get the code for button.tsx"
"Show me the AnimatedButton component"
"I need the source code for GradientCard"

Browse by Category

"Show all components in the Buttons category"
"What forms components are available?"
"List all navigation components"

Component Details

"Get detailed info for AnimatedButton"
"What dependencies does the GradientCard component have?"
"Show me the metadata for button.tsx"

πŸ”§ Development

Development Mode

Run the server in watch mode:

npm run dev

Build

Compile TypeScript to JavaScript:

npm run build

Watch Mode

Automatically rebuild on file changes:

npm run watch

πŸ“– How It Works

  1. Component Discovery: The server connects to the VengeanceUI GitHub repository and scans the following directories:

    • registry/new-york/ - Main component registry

    • src/components/ - Source components

  2. Intelligent Parsing:

    • Extracts component names from filenames

    • Parses code to detect categories, tags, and dependencies

    • Analyzes JSDoc comments for descriptions

    • Identifies animation, styling, and interaction patterns

  3. Smart Caching:

    • Components are cached for 5 minutes

    • Reduces GitHub API calls

    • Automatic refresh on cache expiration

  4. MCP Integration:

    • Implements the Model Context Protocol

    • Exposes 7 tools via stdio transport

    • Provides structured responses with metadata

πŸ› Troubleshooting

Server doesn't appear in Claude Desktop

  1. Check configuration file syntax:

    cat ~/.config/Claude/claude_desktop_config.json | jq .

    If jq shows an error, your JSON is malformed.

  2. Verify the server file exists:

    ls -lh "/absolute/path/to/mcp VengeanceUI/dist/server.js"
  3. Check Claude Desktop logs:

    # Find log directory
    find ~ -name "*Claude*" -type d 2>/dev/null | grep -i log
    
    # View logs
    tail -f ~/.config/Claude/logs/mcp*.log
  4. Test the server manually:

    cd "mcp VengeanceUI"
    node dist/server.js

No components are loading

  1. Check GitHub API rate limits:

    • Without token: Limited to 60 requests/hour

    • Solution: Add a GitHub token (see Configuration section)

  2. Force refresh the cache:

    • Use the prompt: "Refresh the VengeanceUI component cache"

Components are outdated

The cache refreshes every 5 minutes. To force an immediate refresh, use the refresh_cache tool via this prompt:

"Refresh the VengeanceUI component cache"

πŸ™ Acknowledgments

Available Tools

7 tools
get_component_codeA

Get the complete source code for a specific VengeanceUI component

Inputs: component_name (required), include_metadata.

get_component_infoA

Get detailed information about a component including metadata, dependencies, and stats

Inputs: component_name (required).

get_components_by_categoryA

Get all components in a specific category

Inputs: category (required).

list_categoriesA

List all component categories with counts and descriptions

Inputs: no named parameters.

list_componentsA

List all available VengeanceUI components with their categories and descriptions

Inputs: limit, category.

refresh_cacheB

Force refresh the component cache from the GitHub repository

Inputs: no named parameters.

search_componentsA

Search for VengeanceUI components by name, category, tags, or description with fuzzy matching

Inputs: query (required), limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 7 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes, but get_component_info and get_component_code both target a specific component, which could cause confusion. However, the descriptions clarify that one returns metadata and the other returns source code, so the ambiguity is minor.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (list_components, search_components, get_component_code, get_components_by_category, etc.), making the naming predictable and easy to learn.

    Tool Count5/5

    With 7 tools, the server is well-scoped for a component library. Each tool serves a distinct function, and the count is within the ideal range for a focused MCP server.

    Completeness5/5

    The tool set covers the full lifecycle for a read-only component library: listing, searching, retrieving code and info, browsing by category, listing categories, and cache refresh. No obvious functional gaps exist.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      Provides AI assistants with comprehensive access to Grafana's React component library, including TypeScript source code, MDX documentation, Storybook examples, test files, and design system tokens for building Grafana-compatible interfaces.
      1
      359 npm
      9
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Provides AI assistants with comprehensive access to shadcn/ui v4 components, blocks, demos, and metadata across React, Svelte, Vue, and React Native, enabling efficient component integration and code generation.
      10
      6,787 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to retrieve NHS.UK frontend component templates, styles, macro options, and usage examples directly from the source repository.
      8 npm
      1
      MIT