Skip to main content
Glama

idrac-design-mcp

A local Model Context Protocol (MCP) server that exposes iDRAC design-system knowledge to MCP-compatible clients. It runs over stdio (no web server) and currently registers a single get_component tool backed by hardcoded placeholder data.

Protocol note: In stdio mode, stdout is reserved exclusively for MCP protocol messages. All logging in this server goes to stderr via console.error(). Never write to stdout.

Requirements

  • Node.js 18+ (ES modules, built-in node:test)

Related MCP server: WordPress Design System MCP Server

Install

npm install

Build

Compiles TypeScript from src/ to dist/:

npm run build

Run

Starts the server on stdio (it will wait for an MCP client to connect):

npm start

Test

Runs the automated test for the get_component handler (builds first):

npm test

The test asserts that get_component("button") contains ic-button and that an unknown component returns No record found.

The get_component tool

Field

Type

Description

name

string

Component name to look up, e.g. "button".

Behavior (placeholder data):

  • "button" -> Use ic-button from @idrac/ui. Do not use raw HTML buttons.

  • anything else -> No record found for that component.

Inspect with the MCP Inspector

The MCP Inspector lets you exercise the tools interactively. After building:

npm run build
npx @modelcontextprotocol/inspector node dist/index.js

This launches the Inspector UI and starts this server as its stdio child process. Open the printed URL, select the get_component tool, and try name: "button".

Register in an MCP client

Add an entry to your client's MCP config. Use an absolute path to the built entry file. Example (Claude Desktop / generic mcpServers format):

{
  "mcpServers": {
    "idrac-design": {
      "command": "node",
      "args": ["C:/Users/Ashwini_Paradkar/CascadeProjects/idrac-design-mcp/dist/index.js"]
    }
  }
}

Build first (npm run build) so dist/index.js exists, then restart the client.

Project layout

src/
  index.ts            # McpServer + StdioServerTransport wiring, tool registration
  getComponent.ts     # Pure lookup logic (testable, hardcoded data for now)
  getComponent.test.ts# node:test unit tests for the lookup logic

Available Tools

1 tool
get_componentGet ComponentA

Look up iDRAC design-system guidance for a named component (e.g. "button").

Inputs: name (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of confusion or overlap between tools.

    Naming Consistency5/5

    A single tool trivially follows a consistent naming pattern.

    Tool Count3/5

    One tool is minimal but may be appropriate for a simple lookup server; however, it feels thin for a design system with many components.

    Completeness2/5

    The server only provides a single lookup operation, lacking list, search, or management functions, which are significant gaps for a design system guidance tool.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers