Angular DS MCP Server
Provides tools for accessing the Phenom Angular Design System, including listing, searching, and retrieving component imports, props, and design tokens.
Enables fetching component metadata, props, and documentation from a live Storybook instance, allowing AI to assist with design system usage.
Allows inspection of complex TypeScript types used by components, providing type details for accurate prop usage.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Angular DS MCP Server List all components in the Phenom DS"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Angular DS MCP Server
An MCP (Model Context Protocol) server that brings the Phenom Angular Design System into Claude Code and Cursor, enabling AI-assisted development with real-time access to component metadata, APIs, and documentation.
Overview
This MCP server exposes the Phenom Design System as a set of tools available to Claude. It fetches component metadata from a live Storybook instance and provides tools for:
Listing all components — get a complete inventory of the design system
Searching components — find components by name or keyword
Component imports — get correct import paths for any component
Component props — view all props, types, and defaults for a component
Type details — inspect complex TypeScript types used by components
Foundations — access design tokens (colors, typography, spacing, etc.)
Peer dependencies — pointer to where required package versions can be found (not yet in the manifests)
Related MCP server: Insider Design System MCP
Setup
Both Claude Code and Cursor talk to this MCP server using the same mcpServers config shape — only the config file location differs. Pick your editor below.
Setup for Cursor
Once the Storybook owner deploys with the manifests/components.json and manifests/docs.json files included, configure Cursor to use the live URL.
Edit .cursor/mcp.json (project-level, in your repo root) or ~/.cursor/mcp.json (global, applies to all projects):
{
"mcpServers": {
"angular-ds": {
"command": "node",
"args": ["<path-to-angular-ds-mcp-server>/dist/server.js"],
"env": {
"STORYBOOK_URL": "https://ds-storybook-intqa.phenompro.com"
}
}
}
}Then reload Cursor (Command Palette → "Reload Window", or fully restart Cursor). Open Cursor Settings → MCP to confirm the angular-ds server shows as connected.
Setup for Claude Code
Once the Storybook owner deploys with the manifests/components.json and manifests/docs.json files included, configure Claude Code to use the live URL.
Edit ~/.claude/claude.json:
{
"mcpServers": {
"angular-ds": {
"command": "node",
"args": ["<path-to-angular-ds-mcp-server>/dist/server.js"],
"env": {
"STORYBOOK_URL": "https://ds-storybook-intqa.phenompro.com"
}
}
}
}Then restart Claude Code. The tools will be available in all sessions.
Testing
After configuring Claude Code or Cursor, start a new chat and ask:
List all components in the Phenom DSThe assistant should call list_components and return the full component list. If it works, the MCP server is properly configured.
Building
npm install
npm run buildThe built server will be at dist/server.js.
Development
Run the server in dev mode (with hot reload via tsx):
npm run devOr start the built server directly:
npm startArchitecture
src/server.ts— Main MCP server entry point; registers all toolssrc/fetcher.ts— Handles fetching and cachingmanifests/components.jsonandmanifests/docs.jsonfrom Storybooksrc/tools/— Individual tool implementations:list-components.ts— List all componentssearch-components.ts— Search by name/keywordget-import.ts— Get import pathget-component-props.ts— Get component propsget-type-details.ts— Inspect TypeScript typesget-foundations.ts— Get design tokensget-peer-dependencies.ts— Get version requirements
Environment Variables
STORYBOOK_URL— Base URL where the manifest files are served. Defaults tohttps://ds-storybook-intqa.phenompro.comif not set.
Troubleshooting
"Failed to fetch component metadata"
Check that
STORYBOOK_URLpoints to a valid URLVerify
manifests/components.jsonandmanifests/docs.jsonexist at{STORYBOOK_URL}/manifests/components.jsonand{STORYBOOK_URL}/manifests/docs.jsonFor local testing, ensure the http-server is running on the correct port
Tools not appearing in Claude Code / Cursor
Verify
~/.claude/claude.json(Claude Code) or.cursor/mcp.json/~/.cursor/mcp.json(Cursor) is properly formatted JSONCheck that the
dist/server.jsfile exists and is executableRestart Claude Code, or reload/restart Cursor, after updating the config
Slow first query
The server caches metadata on startup. First query may take a few seconds while it fetches from Storybook.
Integration with Phenom DS
This server depends on the Phenom Angular Design System's Storybook build including two manifest files, manifests/components.json and manifests/docs.json. These are automatically generated as part of the Storybook build process and contain:
manifests/components.json— component names, selectors, import statements, story snippets, and prop definitions (types, required flags, defaults, descriptions)manifests/docs.json— design tokens and other foundations documentation
Peer dependency information is not currently part of the manifests; the get_peer_dependencies tool points users to the @phenom/angular-ds package's own peerDependencies instead.
For Storybook owners: ensure your build outputs manifests/components.json and manifests/docs.json to the Storybook static directory so they're accessible at {STORYBOOK_URL}/manifests/components.json and {STORYBOOK_URL}/manifests/docs.json.
Available Tools
7 toolsget_component_propsB
Get the full props interface for a component
Inputs: componentName (required).
get_foundationsB
Get foundation/token documentation categories (colors, typography, spacing, etc.)
Inputs: no named parameters.
get_importC
Get the correct import statement for a component
Inputs: componentName (required).
get_peer_dependenciesA
Get peer dependencies required to use the Phenom DS
Inputs: no named parameters.
get_type_detailsC
Get details for a specific prop including its type
Inputs: propName (required), componentName (required).
list_componentsA
List all available components in the Phenom DS
Inputs: no named parameters.
search_componentsC
Search for components by name or selector
Inputs: query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a clearly defined purpose covering different aspects of a design system: listing, searching, getting props, types, imports, foundations, and peer dependencies. No two tools overlap significantly.
All tools follow a consistent verb_noun pattern using snake_case (e.g., list_components, get_component_props). The naming is predictable and clear.
With 7 tools, the server covers essential operations for a design system without being too minimal or overloaded. Each tool addresses a specific developer need.
The tool set covers the full lifecycle of using a component library: discovery (list/search), configuration (props, imports, peer dependencies), and understanding (foundations, type details). No obvious gaps for typical tasks.
Related MCP Connectors
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that drives Anthropic's Claude Design from agentic coding CLIs, providing tools to create, generate, iterate, and export design systems without a browser.32MIT
- FlicenseBqualityDmaintenanceAutomated MCP server for the Insider Design System. Enables AI assistants to discover, understand, and generate code for over 60 Design System components with automated extraction from source code.14-
- AlicenseNot gradedqualityDmaintenanceA self-hosted MCP server that provides up-to-date documentation for enterprise and development tools directly to AI coding assistants like Claude Code and Cursor.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that ingests various data sources and uses LLMs to compile them into structured knowledge pages, enabling hybrid search and integration with AI coding tools like Claude Code and Cursor.11 npm1MIT