MCP Magic UI
by idcdev
MCP Magic UI is a server that implements the Model Context Protocol (MCP) to provide access to Magic UI components. It fetches component data from the Magic UI GitHub repository, categorizes them, and makes them available through an MCP API.
Last updated: N/A
MCP Magic UI
An MCP (Model Context Protocol) server for accessing and exploring Magic UI components from the magicuidesign/magicui repository.
What is MCP Magic UI?
MCP Magic UI is a server that implements the Model Context Protocol (MCP) to provide access to Magic UI components. It fetches component data from the Magic UI GitHub repository, categorizes them, and makes them available through an MCP API. This allows AI assistants and other MCP clients to easily discover and use Magic UI components in their applications.
Features
- Component Discovery: Access all Magic UI components through MCP tools
- Component Categorization: Components are automatically categorized based on their names and dependencies
- Caching System: Local caching of component data to reduce GitHub API calls and work offline
- Multiple Transport Options: Support for both stdio and HTTP transport methods
- Fallback Mechanism: Mock data is provided when GitHub API is unavailable
Installation
# Clone the repository
git clone https://github.com/idcdev/mcp-magic-ui.git
cd mcp-magic-ui
# Install dependencies
npm install
# Build the project
npm run build
Configuration
To avoid GitHub API rate limits, it's recommended to set up a GitHub personal access token:
- Create a token at https://github.com/settings/tokens
- Create a
.env
file in the project root (or copy from.env.example
) - Add your token to the
.env
file:
GITHUB_TOKEN=your_github_token_here
Usage
Starting the server
You can start the server using either stdio or HTTP transport:
# Using stdio transport (default)
npm start
# Using HTTP transport
TRANSPORT_TYPE=http npm start
Connecting to the server
You can connect to the server using any MCP client. For example, using the MCP Inspector:
npx @modelcontextprotocol/inspector mcp-magic-ui
Or, if using HTTP transport:
npx @modelcontextprotocol/inspector http://localhost:3000
Available Tools
The server provides the following MCP tools:
get_all_components
- Get a list of all available Magic UI components with their metadataget_component_by_path
- Get the source code of a specific component by its file path
Project Structure
-
src/
- Source codeindex.ts
- Main entry point for the servercli.ts
- Command-line interfaceserver.ts
- MCP server configuration and tool definitionsservices/
- Service modulesgithub.ts
- GitHub API interaction and cachingcomponent-parser.ts
- Component categorization and processing
-
cache/
- Local cache for component data -
dist/
- Compiled JavaScript code
How It Works
- The server fetches component data from the Magic UI GitHub repository
- Component data is cached locally to reduce API calls and enable offline usage
- Components are categorized based on their names and dependencies
- The server exposes MCP tools to access and search for components
- Clients can connect to the server using stdio or HTTP transport
Contributing
Contributions are welcome! Here are some ways you can contribute:
- Report bugs and suggest features by creating issues
- Improve documentation
- Submit pull requests with bug fixes or new features
License
MIT