home / skills / thebushidocollective / han / gluestack-mcp-tools
This skill helps you discover, explore, and retrieve gluestack-ui components and metadata to speed up integration.
npx playbooks add skill thebushidocollective/han --skill gluestack-mcp-toolsReview the files below or copy the command above to add this skill to your agents.
---
name: gluestack-mcp-tools
user-invocable: false
description: Use when discovering, exploring, or retrieving gluestack-ui components via MCP tools. Provides access to component source code, variants, demos, and metadata.
allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
---
# gluestack-ui MCP Tools
Expert knowledge for using the gluestack-ui MCP server tools to discover, explore, and retrieve component source code and metadata.
## Overview
The gluestack-ui MCP server provides direct access to the gluestack-ui component library through 6 specialized tools. Use these tools to explore available components, understand their variants, retrieve source code, and access Storybook demos.
## When to Use These Tools
Use the MCP tools when you need to:
- Discover what components are available in gluestack-ui
- Get the actual source code for a component to copy into a project
- Understand the variants (NativeWind, Themed, Unstyled) of a component
- Access Storybook demos showing component usage patterns
- Retrieve TypeScript props and dependencies for a component
- Navigate the gluestack-ui monorepo structure
## Available Tools
### list_components
Lists all 70+ gluestack-ui components with their names and basic descriptions.
**When to use:** Start here when you need to know what components are available or find a component by name.
**Example workflow:**
1. Call `list_components` to see all available components
2. Identify the component that matches your needs
3. Use `get_component` or `get_component_metadata` for details
### list_component_variants
Shows the available style variants for a specific component: NativeWind, Themed, and Unstyled.
**When to use:** After identifying a component, use this to understand which styling approaches are supported.
**Variants explained:**
- **NativeWind**: Tailwind CSS classes for React Native (recommended for new projects)
- **Themed**: Token-based theming with design system integration
- **Unstyled**: Base component with no styles (for complete customization)
### get_directory_structure
Navigate the gluestack-ui monorepo to understand the package organization.
**When to use:** When you need to understand how gluestack-ui organizes its packages or find specific files within the repository.
### get_component
Retrieves the complete source code for any gluestack-ui component.
**When to use:** When you need to copy component code into your project or understand the implementation details.
**Example workflow:**
1. Use `list_components` to find the component name
2. Use `list_component_variants` to choose a variant
3. Call `get_component` with the component name and variant
4. Copy the source code into your project's `components/ui/` directory
### get_component_demo
Accesses Storybook examples showing real-world usage patterns for components.
**When to use:** When you need to see how a component is used in practice, including prop combinations and composition patterns.
**What you get:**
- Working code examples
- Different prop combinations
- Composition patterns with sub-components
- Interactive states and variations
### get_component_metadata
Retrieves TypeScript props, dependencies, and other metadata for a component.
**When to use:** When you need to understand the TypeScript interface, required props, or peer dependencies for a component.
**Information provided:**
- TypeScript prop types and interfaces
- Required vs optional props
- Default values
- Peer dependencies
- Import statements
## Common Workflows
### Adding a New Component to Your Project
1. **Discover**: `list_components` - Find the component you need
2. **Explore variants**: `list_component_variants` - Choose NativeWind, Themed, or Unstyled
3. **Get source**: `get_component` - Retrieve the full source code
4. **Check demos**: `get_component_demo` - See usage examples
5. **Copy to project**: Add the code to your `components/ui/` directory
### Understanding Component API
1. **Get metadata**: `get_component_metadata` - See TypeScript props
2. **Check demos**: `get_component_demo` - See prop usage in context
3. **Read source**: `get_component` - Understand the implementation
### Exploring Available Components
1. **List all**: `list_components` - See the full component library
2. **Check structure**: `get_directory_structure` - Understand organization
3. **Review demos**: `get_component_demo` - See component capabilities
## Best Practices
### 1. Start with Discovery
Always use `list_components` first when exploring. This gives you the canonical names to use with other tools.
```
# Good: Start with discovery
1. list_components -> find "Button"
2. get_component("Button", "nativewind")
# Avoid: Guessing component names
get_component("Btn") -> might not find it
```
### 2. Choose the Right Variant
- **NativeWind**: Best for new projects using Tailwind CSS
- **Themed**: Best when you have an existing design token system
- **Unstyled**: Best when you need complete styling control
### 3. Check Demos Before Implementing
The Storybook demos show real-world usage patterns that may reveal:
- Required composition patterns (e.g., Button needs ButtonText)
- Prop combinations that work well together
- Edge cases and accessibility considerations
### 4. Verify Dependencies
Use `get_component_metadata` to understand:
- Peer dependencies that need to be installed
- Other components that are used internally
- TypeScript types that may need importing
## Environment Configuration
The MCP server can operate in two modes:
### GitHub Mode (Default)
Fetches components directly from the gluestack-ui GitHub repository.
```bash
# Optional: Increase API rate limits
export GITHUB_TOKEN="your-token-here"
```
### Local Mode
Uses a local clone of the gluestack-ui repository for offline access.
```bash
# Point to your local clone
export GLUESTACK_PATH="/path/to/gluestack-ui"
```
## Integration with Other Skills
Combine MCP tools with other gluestack skills:
- **gluestack-components**: After getting source code, use component skill for implementation patterns
- **gluestack-theming**: Use with Themed variant components for design token integration
- **gluestack-accessibility**: Ensure retrieved components are implemented accessibly
## Troubleshooting
### Component Not Found
- Verify the exact component name using `list_components`
- Component names are case-sensitive
- Some components may be grouped (e.g., FormControl components)
### Rate Limiting
If using GitHub mode without a token:
- Set `GITHUB_TOKEN` for increased limits
- Or clone the repo locally and set `GLUESTACK_PATH`
### Outdated Components
The MCP server fetches from the latest gluestack-ui repository. If you need a specific version:
- Clone the specific version locally
- Set `GLUESTACK_PATH` to your local clone
This skill exposes gluestack-ui MCP server tools to discover, explore, and retrieve component source, demos, variants, and metadata. It streamlines finding components, inspecting their styling variants (NativeWind, Themed, Unstyled), and extracting usable TypeScript code and Storybook examples. Use it to accelerate component adoption, ensure correct dependencies, and integrate components into your project quickly.
The skill provides six focused MCP endpoints: list_components, list_component_variants, get_directory_structure, get_component, get_component_demo, and get_component_metadata. Each endpoint returns structured information: lists of components, available style variants, repository layout, full component source code, Storybook demo code, and TypeScript props and dependency metadata. Workflows chain these calls (discover → choose variant → fetch source/demo → check metadata) to copy and integrate components reliably.
What variant should I choose for a new project?
Choose NativeWind for new React Native projects using Tailwind-style classes. Use Themed when integrating with a token-based design system. Pick Unstyled if you need full control over styling.
How do I avoid GitHub rate limits?
Set a GITHUB_TOKEN environment variable for higher GitHub API limits, or clone the gluestack-ui repo locally and set GLUESTACK_PATH to use Local Mode.