gluestack-ui-mcp-server

gauravsaini/gluestack-ui-mcp-server

3.3

If you are the rightful owner of gluestack-ui-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Gluestack UI MCP Server is a Model Context Protocol server designed to enhance React Native development by providing AI assistants with access to the Gluestack UI component library.

Tools
5
Resources
0
Prompts
0

Gluestack UI MCP Server šŸ“±

npm version License: MIT React Native Expo

šŸ“± The definitive MCP server for React Native development with Gluestack UI - Build universal apps with AI assistance!

This Model Context Protocol (MCP) server provides AI assistants with comprehensive access to Gluestack UI - the premier React Native-first component library that delivers true cross-platform experiences. Whether you're building for iOS, Android, or the web, this server intelligently provides components, source code, and examples optimized for React Native development workflows.

Key Features

šŸ“± React Native-First Development

  • 70+ React Native Components: Production-ready components optimized for mobile-first development
  • Universal Platform Support: Single codebase runs on iOS, Android, and Web seamlessly
  • Expo Integration: Perfect compatibility with Expo workflows and managed builds
  • React Native Navigation: Built-in support for stack, tab, and drawer navigation patterns
  • Platform-Specific Optimizations: Components automatically adapt to iOS and Android design guidelines

šŸŽØ Multi-Variant Architecture for React Native

Go beyond basic styling with variants designed for different React Native use cases:

  • šŸŽØ NativeWind: Tailwind CSS components optimized for React Native with react-native-css-interop
  • šŸŽ­ Themed: Native styling with Gluestack's design token system - perfect for branded apps
  • šŸ”§ Unstyled: Headless components for maximum customization in React Native projects

šŸ“‹ React Native-Optimized Intelligence

  • TypeScript-First: Complete TypeScript definitions for React Native component props
  • Platform Detection: Smart handling of Platform.OS checks and platform-specific code
  • Expo Examples: Real-world usage patterns for Expo Router, EAS Build, and Expo dev workflows
  • Performance Patterns: React Native performance best practices baked into component examples

šŸ”„ Cross-Platform Excellence

  • Universal Components: Write once, run on iOS, Android, and Web
  • Responsive Design: Built-in support for different screen sizes and orientations
  • Native Feel: Components follow platform-specific design guidelines automatically
  • Web Compatibility: Seamless React Native Web integration for responsive web apps

⚔ Development Acceleration

  • GitHub Mode: Access the latest React Native components directly from the repository
  • Local Development: Work with local Gluestack UI installations for rapid iteration
  • AI-Powered: Generate React Native screens, components, and navigation flows with AI assistance
  • Testing Ready: Components come with accessibility labels and test IDs for React Native testing

Quick Start

Prerequisites

  • Node.js 18+
  • React Native Development Environment:
    • React Native CLI or Expo CLI
    • iOS Simulator (Mac) and/or Android Emulator
    • Metro bundler for React Native
  • Component Source (choose one):
    • A local Gluestack UI installation or clone, OR
    • A GitHub Personal Access Token for fetching the latest React Native components

Installation Options

Option 1: From npm (when published)
npm install -g gluestack-ui-mcp-server
Option 2: Local Development Setup
# Clone this repository
git clone https://github.com/gluestack/gluestack-ui-mcp-server
cd gluestack-ui-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

# Set your Gluestack UI path
export GLUESTACK_PATH="/path/to/your/gluestack-ui"

# Test the server
npm test

Usage with Claude Desktop

For Published Package

Add to your Claude Desktop configuration file (~/.config/claude/config.json):

{
  "mcpServers": {
    "gluestack-ui": {
      "command": "npx",
      "args": ["gluestack-ui-mcp-server"],
      "env": {
        "GLUESTACK_PATH": "/path/to/your/gluestack-ui"
      }
    }
  }
}

Or for GitHub mode:

{
  "mcpServers": {
    "gluestack-ui": {
      "command": "npx", 
      "args": ["gluestack-ui-mcp-server"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}
For Local Development

Add to your Claude Desktop configuration file (~/.config/claude/config.json):

{
  "mcpServers": {
    "gluestack-ui": {
      "command": "node",
      "args": ["/path/to/gluestack-ui-mcp-server/build/index.js"],
      "env": {
        "GLUESTACK_PATH": "/path/to/your/gluestack-ui"
      }
    }
  }
}

Or for GitHub mode:

{
  "mcpServers": {
    "gluestack-ui": {
      "command": "node",
      "args": ["/path/to/gluestack-ui-mcp-server/build/index.js"], 
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

Available Tools

šŸ” Component Discovery & Navigation

list_components

Get a full inventory of all 126+ available Gluestack UI components, including which variants are available for each.

list_component_variants

Compare and choose the perfect variant by getting detailed information and features for a specific component's NativeWind, Themed, and Unstyled versions.

get_directory_structure

Navigate the entire gluestack-ui monorepo from your AI assistant with a powerful directory browsing tool.

šŸ“„ Code, Demos & Metadata

get_component

Retrieve the complete, unmodified source code for any component variant, providing perfect context for code generation.

get_component_demo

Access battle-tested usage examples directly from Storybook to understand how components are meant to be used in practice.

get_component_metadata

Go beyond the code to understand its API. This tool extracts TypeScript props, dependencies from import statements, and documentation from comments.

Configuration Options

Environment Variables

  • GLUESTACK_PATH: Path to local Gluestack UI installation.
  • GITHUB_TOKEN: GitHub Personal Access Token for API access.
  • LOG_LEVEL: Logging level (debug, info, warn, error).

Command Line Arguments

# Local mode
gluestack-mcp --gluestack-path /path/to/gluestack-ui --log-level debug

# GitHub mode 
gluestack-mcp --github-token ghp_xxxxxxxxxxxx --log-level debug

GitHub Mode (Fetch Latest Components)

Instead of requiring a local Gluestack UI installation, you can use GitHub mode to fetch the latest components directly from the official repository.

Setting up GitHub Mode

Step 1: Get a GitHub Personal Access Token
  1. Go to GitHub Settings → Developer settings → Personal access tokens
  2. Generate a new token (classic) with public_repo scope
  3. Copy the token (starts with ghp_)
Step 2: Configure Your MCP Client

For Claude Desktop:

{
  "mcpServers": {
    "gluestack-ui": {
      "command": "npx",
      "args": ["gluestack-ui-mcp-server"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

For Command Line:

export GITHUB_TOKEN="ghp_your_token_here"
gluestack-mcp

Benefits of GitHub Mode

  • šŸš€ Always Up-to-Date: Access the latest components directly from the main branch
  • šŸ“¦ No Local Setup: No need to clone or maintain a local Gluestack UI repository
  • šŸ”„ Automatic Updates: Components are fetched fresh from GitHub on each request
  • šŸ“Š Rate Limit Friendly: Authenticated requests get higher GitHub API limits (5000/hour vs 60/hour)

Supported Components

The server provides access to 126+ Gluestack UI components including:

Layout: Box, Center, HStack, VStack, Grid, Divider Forms: Input, Textarea, Button, Checkbox, Radio, Select, Slider, Switch
Feedback: Alert, Toast, Progress, Spinner, Skeleton Overlay: Modal, AlertDialog, Popover, Tooltip, ActionSheet Data Display: Avatar, Badge, Card, Image, Table Navigation: Tabs, Menu, Link Media: Image, ImageViewer Utilities: Portal, Pressable, SafeAreaView

Testing

The server includes comprehensive tests for both local and GitHub modes:

# Run basic tests
npm test

# Test local mode (requires GLUESTACK_PATH)
npm run test:local

# Test GitHub mode (requires GITHUB_TOKEN)
npm run test:github

# Test both modes
npm run test:both

# Test component discovery
npm run test:components

# Run comprehensive test suite
npm run test:comprehensive

Test Environment Setup

For Local Mode Testing:

export GLUESTACK_PATH=/path/to/gluestack-ui
npm run test:local

For GitHub Mode Testing:

export GITHUB_TOKEN=ghp_your_token_here
npm run test:github

Requirements

  • Node.js 18+
  • Either:
    • Local Gluestack UI installation/clone (for local mode), OR
    • GitHub Personal Access Token (for GitHub mode)
  • MCP-compatible AI client (Claude Desktop, Continue.dev, etc.)

Contributing

We welcome contributions! Please see our for details.

Gluestack UI MCP Server Implementation Summary

šŸŽ‰ Implementation Complete

The Gluestack UI MCP Server has been successfully implemented with all planned features and capabilities.

āœ… Completed Features

1. Project Foundation

  • āœ… Complete TypeScript project setup with proper configuration
  • āœ… NPM package configuration with all necessary dependencies
  • āœ… Build system with TypeScript compilation
  • āœ… Executable binary setup with proper shebang

2. Core MCP Server Infrastructure

  • āœ… MCP Protocol server implementation using @modelcontextprotocol/sdk
  • āœ… STDIO transport for communication with AI clients
  • āœ… Request/response handlers for tool calls
  • āœ… Comprehensive error handling and logging
  • āœ… Server capabilities registration

3. CLI & Configuration

  • āœ… Command-line argument parsing (--gluestack-path, --log-level, --help)
  • āœ… Environment variable support (GLUESTACK_PATH, LOG_LEVEL)
  • āœ… Winston-based logging system with configurable levels
  • āœ… Help system with usage examples

4. Component Discovery System

  • āœ… Intelligent component detection across multiple variants
  • āœ… Support for NativeWind, Themed, and Unstyled component variants
  • āœ… Automatic detection of component features (demos, stories, docs)
  • āœ… Metadata extraction from package.json and source files
  • āœ… Component relationship analysis and dependency tracking

5. MCP Tools Implementation

  • āœ… list_components - Lists all 70+ available components
  • āœ… get_component - Retrieves component source code
  • āœ… get_component_demo - Gets component examples and stories
  • āœ… get_component_metadata - Extracts props, dependencies, examples
  • āœ… list_component_variants - Shows all variants for a component

6. TypeScript Integration

  • āœ… Advanced TypeScript interface parsing for component props
  • āœ… Dependency extraction from import statements
  • āœ… JSDoc comment extraction for component documentation
  • āœ… Type-safe API with comprehensive schemas

7. Multi-Variant Support

  • āœ… NativeWind Variant - Modern Tailwind CSS styling (primary)
  • āœ… Themed Variant - Gluestack design system tokens
  • āœ… Unstyled Variant - Headless components for custom styling
  • āœ… Intelligent variant selection with fallbacks

8. Documentation & Testing

  • āœ… Comprehensive README with usage examples
  • āœ… API documentation for all tools
  • āœ… Integration guides for Claude Desktop, Continue.dev, etc.
  • āœ… Test scripts and validation
  • āœ… MIT License and contribution guidelines

šŸ—ļø Architecture Overview

gluestack-ui-mcp-server/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts                    # Entry point
│   ā”œā”€ā”€ server/                     # MCP server core
│   │   ā”œā”€ā”€ index.ts               # Server startup logic
│   │   ā”œā”€ā”€ createServer.ts        # Server instance creation
│   │   ā”œā”€ā”€ handler.ts             # Request handlers
│   │   ā”œā”€ā”€ capabilities.ts        # Server capabilities
│   │   └── version.ts             # Version management
│   ā”œā”€ā”€ tools/                      # MCP tool implementations
│   │   └── components/            # Component-related tools
│   │       ā”œā”€ā”€ list-components.ts
│   │       ā”œā”€ā”€ get-component.ts
│   │       ā”œā”€ā”€ get-component-demo.ts
│   │       ā”œā”€ā”€ get-component-metadata.ts
│   │       └── list-component-variants.ts
│   ā”œā”€ā”€ utils/                      # Utilities and helpers
│   │   ā”œā”€ā”€ component-discovery.ts  # Component detection engine
│   │   └── logger.ts              # Logging system
│   └── cli/                       # Command-line interface
│       └── args.ts                # Argument parsing
ā”œā”€ā”€ build/                          # Compiled JavaScript
└── README.md                      # Complete documentation

šŸš€ Key Capabilities

Component Library Support

  • 126 Components: Complete Gluestack UI component library coverage
  • Cross-Platform: React Native components that work on iOS, Android, Web
  • Modern Styling: NativeWind (Tailwind) integration
  • Design System: Themed variant with design tokens
  • Flexibility: Unstyled variant for complete customization

AI Integration Features

  • Rich Context: Provides complete component source code with TypeScript types
  • Usage Examples: Real working examples from Storybook demos
  • Metadata Extraction: Props interfaces, dependencies, documentation
  • Intelligent Search: Component discovery by name or category
  • Variant Awareness: Automatically selects best variant for use case

Developer Experience

  • Zero Configuration: Works with default paths and settings
  • Flexible Setup: Supports custom Gluestack UI installations
  • Comprehensive Logging: Detailed debugging and monitoring
  • Error Handling: Graceful failures with helpful error messages
  • Security Hardened: Package overrides and dependency locking for enhanced security
  • Type Safety: Full TypeScript support throughout

šŸŽÆ Usage Examples

Basic Component Retrieval

# List all components
echo '{"method": "tools/call", "params": {"name": "list_components"}}' | npx gluestack-ui-mcp-server

# Get Button component source
echo '{"method": "tools/call", "params": {"name": "get_component", "arguments": {"componentName": "Button"}}}' | npx gluestack-ui-mcp-server

Claude Desktop Integration

{
  "mcpServers": {
    "gluestack-ui": {
      "command": "npx",
      "args": ["gluestack-ui-mcp-server"],
      "env": {
        "GLUESTACK_PATH": "/path/to/gluestack-ui"
      }
    }
  }
}

šŸ”§ Technical Decisions

Component Discovery Strategy

  • Primary Source: example/storybook-nativewind/src/components/ for rich examples
  • Fallback Sources: Core packages for implementation details
  • Caching: In-memory component registry for performance
  • Multi-Variant: Concurrent discovery across all variant types

TypeScript Parsing

  • Regex-Based: Lightweight interface parsing without AST complexity
  • Prop Extraction: Automatic detection of component props and types
  • Import Analysis: Dependency tracking from import statements
  • JSDoc Support: Comment extraction for documentation

Error Handling

  • Graceful Degradation: Continue operation even if some components fail
  • Detailed Logging: Comprehensive error context for debugging
  • User-Friendly Messages: Clear error messages for common issues
  • Circuit Breaker: Prevent cascading failures in component discovery

🌟 Benefits for AI Development

Accelerated Development

  • Instant Access: Components available to AI assistants immediately
  • Best Practices: Examples show proper component usage patterns
  • Type Safety: TypeScript interfaces ensure correct prop usage
  • Variant Selection: Automatic selection of most appropriate variant

Enhanced Code Quality

  • Consistent Styling: Gluestack UI design system principles
  • Accessibility: Components built with accessibility best practices
  • Cross-Platform: Write once, run on iOS, Android, Web
  • Modern Stack: Latest React Native and styling approaches

Productivity Boost

  • Reduced Lookup: No need to manually browse documentation
  • Complete Context: Source code, examples, and metadata in one request
  • Intelligent Discovery: Find components by functionality or name
  • Rapid Prototyping: Quickly scaffold UI components

šŸŽŠ Ready for Production

The Gluestack UI MCP Server is now complete and ready for:

  • AI Assistant Integration (Claude Desktop, Continue.dev, Cursor, etc.)
  • NPM Package Publication (gluestack-ui-mcp-server)
  • Community Use (Open source with MIT license)
  • Enterprise Deployment (Supports custom installations and configurations)

This implementation provides AI assistants with comprehensive access to the Gluestack UI ecosystem, enabling rapid development of high-quality React Native applications with modern styling and cross-platform compatibility.

License

MIT

Built in Melbourne with ā¤ļø for the Gluestack and AI development communities