Skip to main content
Glama
starwind-ui

Starwind UI MCP Server

by starwind-ui

Starwind UI v3 및 Starwind Pro를 위한 TypeScript Model Context Protocol 서버입니다. AI 클라이언트에게 Astro 및 React 프로젝트에 대한 최신 프레임워크 인식 가이드를 제공합니다.

빠른 시작

유지 관리되는 클라이언트 설정 가이드는 Starwind UI MCP 문서를 참조하세요.

Codex (~/.codex/config.toml):

[mcp_servers.starwind_ui]
command = "npx"
args = ["-y", "@starwind-ui/mcp"]
enabled = true

Claude Code (.mcp.json) 또는 Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "starwind-ui": {
      "command": "npx",
      "args": ["-y", "@starwind-ui/mcp"]
    }
  }
}

설정을 변경한 후 클라이언트를 다시 시작하거나 MCP 서버를 다시 로드하세요.

Related MCP server: shadcn-ui MCP Server

v3 모델

Starwind UI v3에는 세 가지 관련 표면이 있습니다. MCP는 이를 구분하여 유지합니다:

표면

의미

MCP 동작

스타일드 컴포넌트

Astro 및/또는 React 구현이 포함된 복사 소유 UI 컴포넌트

starwind_search 및 starwind_add로 검색 및 설치

프리미티브

하위 수준의 Astro 및 React 어댑터, 해당되는 경우 Starwind Runtime 기반

surface: "primitive"로 검색; v3 primitives add 명령어로 설치

런타임

프레임워크 중립 동작 API

Runtime 주제 또는 표면을 사용하여 starwind_docs로 가져오기

서버는 이러한 계층을 버전이 지정된 ai-manifest.json에 대해 검증하고, 검증된 데이터를 캐시하며, 사이트를 사용할 수 없는 경우 번들로 제공된 v3 스냅샷으로 대체합니다.

도구

도구

목적

starwind_init

기존 Astro 또는 React 프로젝트에 대한 v3 초기화 명령어를 생성합니다. Pro는 선택 사항입니다.

starwind_add

요청을 검증하고 스타일드 컴포넌트, 프리미티브 또는 Astro 전용 Pro 블록에 대한 설치 또는 지연 설치 명령어를 생성합니다.

starwind_search

프레임워크 메타데이터 및 필터를 사용하여 스타일드 컴포넌트, 프리미티브 및 Pro 블록을 검색합니다.

starwind_docs

정확한 컴포넌트, 프리미티브, Runtime, 마이그레이션 및 프레임워크 문서를 확인합니다.

starwind_migrate

프로젝트를 검사하고 안전한 대화형 우선 v2-to-v3 마이그레이션 가이드를 생성합니다.

도구 호출은 읽기 가능한 JSON 텍스트와 MCP structuredContent를 모두 반환합니다.

요구 사항 및 동작

  • 생성된 v3 CLI 명령어는 Node.js 22.12.0 이상이 필요합니다.

  • starwind_init는 기존 Astro 5+ 또는 React 18+ 프로젝트를 대상으로 하며, framework가 제공되지 않는 한 CLI가 프레임워크를 자동 감지하도록 합니다.

  • 무료 @starwind-pro/* 카탈로그 블록은 일반 초기화 후에 작동합니다. 유료 블록은 명시적인 승인이 필요합니다. 필요한 경우에만 pro: true를 전달하세요.

  • Starwind Pro 블록은 현재 Astro를 대상으로 합니다. React 검색은 이를 생략하고, React 추가 요청은 명시적으로 거부합니다.

  • 마이그레이션은 기본적으로 대화형입니다. 백업 및 덮어쓰기 동작이 의도된 경우에만 yes: true를 설정하세요.

  • 패키지 관리자 및 프로젝트 컨텍스트는 가능한 경우 로컬에서 감지되며, add 명령어는 확인된 패키지 관리자를 CLI에 전달합니다. 어떤 도구도 생성된 명령어를 실행하지 않습니다.

무료에서 Pro로 업그레이드

MCP는 유료 설정을 강제하지 않고 Pro를 검색 가능하게 유지합니다. 검색 결과는 Pro 카탈로그에 연결되며, 무료 Pro 블록은 직접 설치 가능하고, 유료 결과에는 구매 및 설치 링크가 포함된 구조화된 proUpgrade 경로가 포함됩니다.

기존 Astro 프로젝트의 경우 MCP는 다음을 권장합니다:

pnpm dlx starwind@latest setup --yes

설정 명령어는 프로젝트의 패키지 관리자를 자동 감지하므로 --package-manager 플래그가 필요하지 않습니다. Pro 레지스트리와 .env.local을 준비합니다. STARWIND_LICENSE_KEY 자리 표시자를 구매한 키로 바꾼 다음 반환된 deferredCommand를 실행하세요. 키를 민감한 정보로 취급하세요. .env.local을 소스 제어에서 제외하고 로그나 클라이언트 측 코드에 키를 절대 노출하지 마세요. pro: true로 초기화된 프로젝트는 대신 동등한 init --pro 명령어를 받습니다.

개발

pnpm build
pnpm lint
pnpm test:run

옵트인 프로덕션 매니페스트 계약 테스트를 실행하려면:

RUN_LIVE_CONTRACT_TESTS=1 pnpm test:run src/utils/starwind_live_contract.test.ts

라이선스

MIT. LICENSE를 참조하세요.

보안

Available Tools

5 tools
starwind_addA

Generates validated Starwind UI v3 install commands for styled components, vendored primitives, or Starwind Pro blocks, with optional Astro or React targeting.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoPrimitive destination passed to --to.
cwdNo
proNoConfigure paid Pro authorization during optional init.
initNoPrepend project initialization for a new setup.
surfaceNoDefaults to styled.
frameworkNoOptional framework override.
overwriteNoAllow the CLI to overwrite existing files.
componentsYesNames to install, or a single 'all'/'--all' item.
packageManagerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesStructured Starwind installation result.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It states 'generates validated... commands' but does not clarify whether the tool only outputs commands or also executes them. Parameters like 'init' and 'overwrite' suggest potential side effects, yet the description omits any discussion of safety, authentication, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core purpose without unnecessary words. Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 9 parameters and an output schema. While the description covers the high-level purpose, it lacks details on parameter relationships, the fact that 'components' can be 'all', and whether the tool executes commands or just generates them. The output schema exists, so return values are not missing, but the behavioral and contextual gaps reduce completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 78%, so the schema already documents most parameters. The description adds no additional meaning beyond the schema. Baseline 3 is appropriate as the description does not improve understanding of the two undocumented parameters (cwd, packageManager).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('generates') and resource ('validated Starwind UI v3 install commands') and clearly distinguishes from siblings like starwind_init (initialization) and starwind_search (search) by focusing on component installation with optional framework targeting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for adding components after setup, but does not explicitly state when to use this tool versus starwind_init or starwind_migrate. No when-not-to-use or alternative guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

starwind_docsB

Fetches current Starwind UI v3 documentation across styled components, primitives, Runtime, migration, and Astro or React framework guides.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullNoUse the full aggregate reference when no exact page is found.
topicNo
surfaceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesStructured Starwind documentation result.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. The word 'Fetches' implies a safe, read-only operation, but the description does not explicitly state that it produces no side effects, requires authentication, or has any rate limits. This is adequate but lacks the explicitness needed for agents to confidently assess risk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that leads with the verb 'Fetches' and immediately conveys the resource. It packs multiple categories without wasted words. While slightly long due to enumeration, every clause adds relevant scope. No unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (so return values need not be detailed) and the absence of annotations, the description covers the tool's scope adequately. However, it omits guidance on how the 'full' parameter differs from a non-full request, when to use different surfaces, and how to combine parameters effectively. The context is sufficient for basic use but lacks depth for complex queries.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (33%: only the 'full' parameter has a description). The description adds contextual meaning by enumerating categories that align with the 'surface' enum values, helping an agent understand what each surface likely refers to. However, 'topic' remains entirely undefined, and the relationship between 'topic' and 'surface' is not clarified. The description partially compensates for the schema gap but leaves ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Fetches'), the resource ('current Starwind UI v3 documentation'), and the scope across multiple categories (styled components, primitives, Runtime, migration, framework guides). This sharply distinguishes it from sibling tools like starwind_init, starwind_add, starwind_search, or starwind_migrate, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling tool starwind_search, or when to avoid it. It lists what the tool fetches but does not explain prerequisites, exclusion criteria, or the relationship between the surface enum values and the listed categories. An agent must guess the intended usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

starwind_initA

Generates a Starwind UI v3 initialization command for an existing Astro or React project. The CLI auto-detects the framework unless an override is provided. Paid Pro authorization is opt-in and currently targets Astro.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoProject directory used for package manager and framework detection.
proNoConfigure paid Starwind Pro authorization. Defaults to false.
frameworkNoOptional CLI framework override.
packageManagerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesStructured Starwind initialization result.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses that the tool generates a command (not directly modifying anything), mentions auto-detection behavior, and notes Pro is opt-in targeting Astro. This is strong coverage of behavioral effects, missing only potential side effects or return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. Front-loaded with the core action, then specifics on auto-detection and Pro. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists (not shown but flagged as present), the description does not need to detail return values. It covers generation scope, framework detection, and Pro behavior. Completeness is high; minor gap could be a note that this does not install dependencies or modify files directly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% (3 of 4 parameters described). The description adds context that 'pro' is opt-in and targets Astro, and that 'framework' override is optional. The 'packageManager' parameter lacks any description enrichment, but the overall additive value is moderate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool generates a Starwind UI v3 initialization command for existing Astro or React projects. This specific verb+resource combination clearly distinguishes it from siblings like 'starwind_add', 'starwind_search', 'starwind_docs', and 'starwind_migrate'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions CLI auto-detects the framework unless overridden, and that Pro authorization is opt-in targeting Astro. This provides clear context for when to override vs. not, though it does not explicitly state when this tool is preferred over siblings or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

starwind_migrateB

Generates the safe Starwind UI v3 migration command for a legacy Astro project. Interactive migration is the default; non-interactive overwrite behavior must be explicitly requested.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoLegacy Starwind project directory to inspect.
yesNoAdd --yes to create a backup and overwrite registered conflicts without prompts.
packageManagerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesStructured Starwind migration guidance.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full weight for behavioral disclosure. It reveals that the tool has interactive and non-interactive modes, but omits critical details: what 'safe' means, whether it actually executes migration or just prints a command, what happens during overwrite (backup? destructive?), and any permission or side-effect notifications. Given the complexity of migration, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose. Every word earns its place. No fluff or redundancy. The structure efficiently communicates the core action and key behavioral choice.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema being present, the description leaves major ambiguities: does the tool execute migration or just output a command? How does the packageManager parameter affect behavior? What is the interactive workflow? The description is too sparse for an agent to reliably invoke the tool, especially given the absence of annotations to provide safety cues.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (cwd and yes have descriptions, packageManager does not). The main description adds no parameter information beyond the schema. For packageManager, there is no description in either the schema or the description, leaving the agent unaware of its role. The description fails to compensate for the missing parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a migration command for a specific context ('Starwind UI v3 migration command for a legacy Astro project'). The verb 'generates' and resource 'migration command' are precise. The interactive vs. non-interactive nuance further clarifies behavior. This easily distinguishes it from sibling tools like starwind_init or starwind_add.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description hints at usage context (legacy Astro projects) and default behavior (interactive), but does not explicitly state when NOT to use this tool versus alternatives, nor mention prerequisites or conditions. For example, it is unclear if starwind_migrate should be used over starwind_init for an existing project. The description provides some context but lacks exclusions or comparative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.5.0
    • Changedstarwind_add11 fields changed
      • changedInput schema / properties / components / description
        Previous value: -"Array of component names to install (e.g., ['button', 'card', 'dialog']). Use '--all' as a single item to install all components."New value: +"Names to install, or a single 'all'/'--all' item."
      • addedInput schema / properties / components / minItems
        Added value: +1
      • removedInput schema / properties / cwd / description
        Removed value: -"Working directory for package manager detection. Defaults to current directory."
      • addedInput schema / properties / framework
        Added value: +{
        +  "description": "Optional framework override.",
        +  "enum": [
        +    "astro",
        +    "react"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / init / description
        Previous value: -"Whether to include the init command for new projects. Set to true if Starwind UI has not been initialized in the project yet."New value: +"Prepend project initialization for a new setup."
      • addedInput schema / properties / overwrite
        Added value: +{
        +  "description": "Allow the CLI to overwrite existing files.",
        +  "type": "boolean"
        +}
      • removedInput schema / properties / packageManager / description
        Removed value: -"Override the auto-detected package manager. Use this if package manager detection fails or you want to force a specific one."
      • changedInput schema / properties / pro / description
        Previous value: -"Set to true for Starwind Pro projects. This adds --pro to the init command. Required when using @starwind-pro/ blocks. Auto-detected if components contain @starwind-pro/ prefix."New value: +"Configure paid Pro authorization during optional init."
      • addedInput schema / properties / surface
        Added value: +{
        +  "description": "Defaults to styled.",
        +  "enum": [
        +    "styled",
        +    "primitive"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / to
        Added value: +{
        +  "description": "Primitive destination passed to --to.",
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "result": {
        +      "additionalProperties": {},
        +      "description": "Structured Starwind installation result.",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object"
        +}
    • Changedstarwind_docs4 fields changed
      • changedInput schema / properties / full / description
        Previous value: -"Whether to fetch the full documentation with complete code examples. Defaults to false for a more concise version."New value: +"Use the full aggregate reference when no exact page is found."
      • addedInput schema / properties / surface
        Added value: +{
        +  "enum": [
        +    "auto",
        +    "component",
        +    "primitive",
        +    "guide",
        +    "runtime"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / properties / topic / description
        Removed value: -"Optional topic to filter documentation (e.g., 'button', 'accordion', 'theming', 'installation'). Leave empty to get all documentation."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "result": {
        +      "additionalProperties": {},
        +      "description": "Structured Starwind documentation result.",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object"
        +}
    • Changedstarwind_init5 fields changed
      • changedInput schema / properties / cwd / description
        Previous value: -"Working directory for package manager detection. Defaults to current directory."New value: +"Project directory used for package manager and framework detection."
      • addedInput schema / properties / framework
        Added value: +{
        +  "description": "Optional CLI framework override.",
        +  "enum": [
        +    "astro",
        +    "react"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / properties / packageManager / description
        Removed value: -"Override the auto-detected package manager. Use this if package manager detection fails or you want to force a specific one."
      • changedInput schema / properties / pro / description
        Previous value: -"Whether to initialize with Starwind Pro support. Defaults to TRUE. Pro setup enables both standard components AND Pro blocks. Only set to false if you specifically want standard-only setup."New value: +"Configure paid Starwind Pro authorization. Defaults to false."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "result": {
        +      "additionalProperties": {},
        +      "description": "Structured Starwind initialization result.",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object"
        +}
    • Addedstarwind_migrate
    • Changedstarwind_search9 fields changed
      • removedInput schema / properties / category / description
        Removed value: -"Filter Starwind Pro blocks by category."
      • addedInput schema / properties / cwd
        Added value: +{
        +  "description": "Project directory used to detect existing Pro setup.",
        +  "type": "string"
        +}
      • addedInput schema / properties / framework
        Added value: +{
        +  "enum": [
        +    "astro",
        +    "react",
        +    "all"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum number of Pro blocks to return. Defaults to 20, maximum 50."New value: +"Pro result limit; defaults to 20 and caps at 50."
      • removedInput schema / properties / offset / description
        Removed value: -"Offset for paginating Pro block results. Defaults to 0."
      • removedInput schema / properties / plan / description
        Removed value: -"Filter Starwind Pro blocks by plan type."
      • removedInput schema / properties / query / description
        Removed value: -"Search query for components and Pro blocks."
      • addedInput schema / properties / surface
        Added value: +{
        +  "description": "Defaults to all.",
        +  "enum": [
        +    "styled",
        +    "primitive",
        +    "all"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "result": {
        +      "additionalProperties": {},
        +      "description": "Structured layered Starwind search result.",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object"
        +}
  2. 10 tool updatesv0.4.0
    • Removedfetch_llm_data
    • Removedget_documentation
    • Removedget_package_manager
    • Removedinit_project
    • Removedinstall_component
    • Addedstarwind_add
    • Addedstarwind_docs
    • Addedstarwind_init
    • Addedstarwind_search
    • Removedupdate_component
  3. 6 tool updates
    • First observedfetch_llm_data
    • First observedget_documentation
    • First observedget_package_manager
    • First observedinit_project
    • First observedinstall_component
    • First observedupdate_component

TDQS

A3.6/5.0

Scored across 5 tools

Disambiguation4/5

Each tool has a clear, distinct purpose: initialization, adding components, searching, documentation, and migration. The only minor ambiguity is between starwind_init and starwind_add, as both generate CLI commands. However, starwind_init is specifically for project initialization, while starwind_add handles component and block installation, which is a reasonable distinction.

Naming Consistency4/5

All tools follow a consistent starwind_ prefix followed by an imperative verb (init, add, search, docs, migrate). This is a clean, predictable pattern. The slight deduction is because the imperative verb is not strictly a verb_noun pattern (e.g., starwind_search instead of starwind_search_components), but this is a minor and common stylistic choice.

Tool Count5/5

With 5 tools, the server is very well-scoped. It covers the core actions a developer would need when using the Starwind UI library within an MCP context: initializing, adding components, searching, and migrating. Each tool clearly earns its place, and the count feels appropriate for the scope of managing and interacting with a UI component library.

Completeness4/5

The tool set covers the primary development workflow: initializing, adding components, searching, accessing documentation, and managing migrations. This provides a comprehensive foundation. The only arguably missing piece might be a tool for direct configuration management or status checks. However, for an MCP interface, this set is remarkably complete and avoids common gaps in lifecycle management.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers