Starwind UI MCP Server
A TypeScript implementation of a Model Context Protocol (MCP) server for Starwind UI, providing tools to help developers work with Starwind UI components.
Quick Start
1# Install dependencies 2pnpm install 3 4# Build the TypeScript code 5pnpm build 6 7# Start the server 8pnpm start
Setup Your IDE
Instructions to set up your IDE to use a local MCP server vary by IDE. Here is an example for Windsurf:
1{ 2 "mcpServers": { 3 "starwind ui": { 4 "command": "node", 5 "args": ["c:\\path\\to\\folder\\starwind-ui-mcp\\dist\\server.js"], 6 "env": {} 7 } 8 } 9}
Detailed instructions:
What is MCP?
The Model Context Protocol (MCP) is a protocol for extending AI capabilities through local servers. This implementation provides Starwind UI-specific tools to enhance AI assistant capabilities when working with Starwind UI. For more information about MCP itself, please visit the official documentation.
Features
- Tool-based Architecture - Modular design for easy addition of new tools
- Starwind UI Documentation Tool - Access documentation links for Starwind UI components
- Package Manager Detection - Detect and use the appropriate package manager (npm, yarn, pnpm)
- LLM Data Fetcher - Retrieve Starwind UI information for LLMs with caching and rate limiting
- TypeScript Implementation - Built with TypeScript for better type safety and developer experience
- Standard I/O Transport - Uses stdio for communication with AI assistants
Available Tools
| Tool Name | Description |
| --------------------- | ----------------------------------------------------------------- |
| init_project
| Initializes a new Starwind UI project |
| install_component
| Generates installation commands for Starwind UI components |
| update_component
| Generates update commands for Starwind UI components |
| get_documentation
| Returns documentation links for Starwind UI components and guides |
| fetch_llm_data
| Fetches LLM data from starwind.dev (rate limited, with caching) |
| get_package_manager
| Detects and returns the current package manager information |
Development
This project is set up to use PNPM for package manager for development purposes. If you are not using pnpm, you will need to update the package.json file with the appropriate package manager commands you need.
Project Structure
src/
├── config/ # Server configuration
│ └── settings.ts # Configuration settings
├── tools/ # MCP tools implementations
│ ├── index.ts # Tool registration
│ └── *.ts # Individual tool implementations
├── utils/ # Utility functions
└── server.ts # Main MCP server implementation
Adding New Tools
To add your own tools to the server:
- Create a new tool file in the
src/tools/
directory - Register the tool in
src/tools/index.ts
- Enable the tool in
src/config/settings.ts
- Rebuild the server with
pnpm build
- Restart the server with
pnpm start
License
MIT License - See LICENSE file for details.