A TypeScript Model Context Protocol server for Starwind UI v3 and Starwind Pro. It gives AI clients current, framework-aware guidance for Astro and React projects.
Quick start
For the maintained client setup guide, see the Starwind UI MCP documentation.
Codex (~/.codex/config.toml):
[mcp_servers.starwind_ui]
command = "npx"
args = ["-y", "@starwind-ui/mcp"]
enabled = true
Claude Code (.mcp.json) or Cursor (.cursor/mcp.json):
{
"mcpServers": {
"starwind-ui": {
"command": "npx",
"args": ["-y", "@starwind-ui/mcp"]
}
}
}
Restart the client or reload its MCP servers after changing the configuration.
v3 model
Starwind UI v3 has three related surfaces. The MCP keeps them distinct:
The server validates these layers against the versioned ai-manifest.json, caches validated data, and falls back to a bundled v3 snapshot if the site is unavailable.
Tools
Tool calls return both readable JSON text and MCP structuredContent.
Requirements and behavior
- Generated v3 CLI commands require Node.js 22.12.0 or newer.
starwind_inittargets existing Astro 5+ or React 18+ projects and lets the CLI auto-detect the framework unlessframeworkis supplied.- Free
@starwind-pro/*catalog blocks work after ordinary initialization. Paid blocks require explicit authorization; passpro: trueonly when it is required. - Starwind Pro blocks currently target Astro. React searches omit them, and React add requests reject them explicitly.
- Migration is interactive by default. Set
yes: trueonly when backup-and-overwrite behavior is intended. - Package-manager and project context are detected locally when possible, and add commands pass the resolved package manager to the CLI. No tool executes the generated command.
Upgrading from free to Pro
The MCP keeps Pro discoverable without forcing paid setup. Search results link to the Pro catalog, free Pro blocks remain directly installable, and paid results include a structured proUpgrade path with purchase and installation links.
For an existing Astro project, the MCP recommends:
pnpm dlx starwind@latest setup --yes
The setup command auto-detects the project's package manager, so it does not need a --package-manager flag. It prepares the Pro registry and .env.local; replace the STARWIND_LICENSE_KEY placeholder with the purchased key, then run the returned deferredCommand. Treat the key as sensitive: keep .env.local out of source control and never expose the key in logs or client-side code. A project initialized with pro: true receives the equivalent init --pro command instead.
Development
pnpm build
pnpm lint
pnpm test:run
Run the opt-in production manifest contract test with:
RUN_LIVE_CONTRACT_TESTS=1 pnpm test:run src/utils/starwind_live_contract.test.ts
License
MIT. See LICENSE.