Koskamo

ndekoui MCP

An official MCP server for the ndekoui React component library that allows AI agents to search the component catalogue, read source code, retrieve design guidelines, and generate shadcn CLI installation commands for React applications.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

ndekoui MCP logo, by ndekocodeVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by ndekocode
MCP endpoint (Streamable HTTP)
https://ui.ndekocode.dev/mcp
Vendor documentation

What its tools do

7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

7 of 7 have a description · 7 of 7 declare behavior hints · 2 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to ui.ndekocode.dev ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search the ndekoui component catalogue by query
  • Read full source code and dependencies for specific items
  • Generate shadcn CLI install commands for selected components
  • Retrieve design system guidelines and theme tokens

Source and maintenance

Vendor evidenceRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
ndeko-ui 0.2.0
MCP protocol negotiated in check
2025-11-25
Tools
7 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
2 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "prompts": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

ndekoui is an open-source React library (Base UI, motion, Tailwind CSS 4) installed with the shadcn CLI: primitives, components, blocks, templates and motion components that share one theme. Call get_design_guidelines once before writing UI. Find pieces with search_items, or browse with list_categories and list_items. Read one with get_item, then install with the command from get_install_command. The server is read-only: it returns data and commands, and never changes a project.

Tools

7 advertised

search_items — Search items
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search the ndekoui registry by words, ranked like the search on ui.ndekocode.dev: titles first, then names, groups and descriptions. Use it before list_items when you know what you need ("pricing", "date range", "kanban"). Filter by kind: primitive, component, block, template, motion or lib.

search_items input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "kind": {
      "enum": [
        "primitive",
        "component",
        "block",
        "template",
        "motion",
        "lib"
      ],
      "type": "string",
      "description": "Only return items of this kind"
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Words that describe the piece, such as \"date range picker\""
    }
  }
}
search_items annotations
{
  "title": "Search items",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_items — List items
Advertised by the server during the last successful anonymous check.
Advertised read-only

List ndekoui registry items of one kind. Kinds: primitive (Base UI building blocks such as button or dialog), component (ready compositions such as accordion-01), block (product sections such as heroes-01), template (whole pages), motion (animation components) and lib (theme, utilities, icons, sample images, hooks). Narrow with category: a category or group slug such as accordion, heroes or application, or a component family such as forms or overlays. Paged with offset and limit.

list_items input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "kind"
  ],
  "properties": {
    "kind": {
      "enum": [
        "primitive",
        "component",
        "block",
        "template",
        "motion",
        "lib"
      ],
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "default": 50,
      "maximum": 200,
      "minimum": 1
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 9007199254740991,
      "minimum": 0
    },
    "category": {
      "type": "string",
      "maxLength": 80,
      "description": "A category or group slug (accordion, heroes, application) or a component family (forms, overlays)"
    }
  }
}
list_items annotations
{
  "title": "List items",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_item — Get item
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get one ndekoui item by name: the full source of its files, its npm dependencies, the registry items it pulls in, the shadcn command that installs it and its page on ui.ndekocode.dev. Large templates return the source of their first files and list the rest; pass file with a path from that list to read one file.

get_item input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "name"
  ],
  "properties": {
    "file": {
      "type": "string",
      "maxLength": 300,
      "description": "Path of one file from a previous get_item answer, to read only that file"
    },
    "name": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "Registry name of an item, such as button, accordion-01 or heroes-02"
    }
  }
}
get_item annotations
{
  "title": "Get item",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_install_command — Get install command
Advertised by the server during the last successful anonymous check.
Advertised read-only

Build the shadcn CLI command that installs one or more ndekoui items, for npm, pnpm, yarn or bun. Returns the command with full registry URLs, which works in any shadcn project, and the shorter @ndeko form for projects whose components.json declares the namespace.

get_install_command input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "names"
  ],
  "properties": {
    "names": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 120,
        "minLength": 1,
        "description": "Registry name of an item, such as button, accordion-01 or heroes-02"
      },
      "maxItems": 30,
      "minItems": 1
    },
    "packageManager": {
      "enum": [
        "npm",
        "pnpm",
        "yarn",
        "bun"
      ],
      "type": "string",
      "default": "npm"
    }
  }
}
get_install_command annotations
{
  "title": "Get install command",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_theme — Get theme
Advertised by the server during the last successful anonymous check.
Advertised read-only

Summarise the theme item every ndekoui piece depends on: the colour tokens with their light and dark values, the radius and easing tokens, and the utilities it adds (hairlines, chip-3d, keycap-3d, gem-plate, surface-raised, surface-brand). Read it before changing colours or writing new styles.

get_theme input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
get_theme annotations
{
  "title": "Get theme",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_design_guidelines — Get design guidelines
Advertised by the server during the last successful anonymous check.
Advertised read-only

The rules for writing UI that looks and moves like ndekoui: surfaces and hairlines, radius, colour, type, how to compose the Base UI primitives, the motion signatures and their timing, and what to avoid. Call it once before writing UI. Pass section with a number or a title ("7", "motion") to read one section of the design system in full, or "all" for the whole document.

get_design_guidelines input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "section": {
      "type": "string",
      "maxLength": 80,
      "description": "A section number or title (\"7\", \"motion\"), or \"all\" for the whole design system"
    }
  }
}
get_design_guidelines annotations
{
  "title": "Get design guidelines",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_categories — List categories
Advertised by the server during the last successful anonymous check.
Advertised read-only

The map of the ndekoui catalogue with counts: primitive groups, component families and their categories, block groups, template groups, motion groups and library items. Use the slugs it returns as the category of list_items.

list_categories input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
list_categories annotations
{
  "title": "List categories",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

2 advertised

build_page — Build a page with ndekoui

Advertised by the server during the last successful anonymous check.

Plans and builds a page from ndekoui blocks and components, following the design guidelines.

page
What the page is for, such as "pricing page for a time tracker" or "settings for a team workspace" (required)
rebuild_screen — Rebuild a screen with ndekoui

Advertised by the server during the last successful anonymous check.

Replaces the hand-made parts of an existing screen with the matching ndekoui pieces, keeping its data and behaviour.

screen
The screen to rebuild: a file path or a short description (required)

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
661 ms
95th percentile latency
661 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 661 ms · metadata changed · 7 tool(s), 2 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http ndekoui-mcp https://ui.ndekocode.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add ndekoui-mcp --url https://ui.ndekocode.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable ndekoui-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "ndekoui-mcp": {
      "url": "https://ui.ndekocode.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "ndekoui-mcp": {
      "type": "streamableHttp",
      "url": "https://ui.ndekocode.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start ndekoui-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "ndekoui-mcp": {
      "type": "http",
      "url": "https://ui.ndekocode.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http ndekoui-mcp https://ui.ndekocode.dev/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://ui.ndekocode.dev/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "ndekoui-mcp": {
      "serverUrl": "https://ui.ndekocode.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like ndekoui MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run ndekoui MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing