loading…
Search for a command to run...
loading…
Enables AI agents to build React applications using JP Morgan Chase's Salt Design System by providing real-time access to component APIs, documentation, and acc
Enables AI agents to build React applications using JP Morgan Chase's Salt Design System by providing real-time access to component APIs, documentation, and accessibility guidelines. It supports tasks such as scaffolding new projects, building UI patterns, and converting Figma designs into Salt code via the Model Context Protocol.
An MCP server and Agent Skills for building applications with the Salt Design System — JP Morgan Chase's open-source React component library.
This project gives AI agents access to Salt DS knowledge so they can help you build Salt applications accurately, using the right components, props, patterns, and best practices — instead of guessing.
MCP Tools let agents look things up on the fly:
Agent Skills give agents step-by-step instructions for common tasks:
git clone --depth 1 https://github.com/jpmorganchase/salt-ds.git ~/Code/salt-ds
# Clone this repo
git clone https://github.com/feesch/salt-mcp.git
cd salt-mcp
# Install dependencies
npm install
# Build
npm run build
The repo includes a .mcp.json file that Claude Code and some other clients auto-discover. For other clients, configure the server manually:
Create or edit .vscode/mcp.json in your project:
{
"servers": {
"salt-mcp": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/salt-mcp/build/index.js"]
}
}
}
Replace /absolute/path/to/salt-mcp with the actual path where you cloned this repo. Then open Copilot Chat in Agent mode to use the tools.
The .mcp.json file in the repo root is auto-discovered — no extra config needed. Alternatively, add to your project's .claude/settings.json:
{
"mcpServers": {
"salt-mcp": {
"command": "node",
"args": ["./build/index.js"]
}
}
}
Add to your client's MCP configuration:
{
"mcpServers": {
"salt-mcp": {
"command": "node",
"args": ["/absolute/path/to/salt-mcp/build/index.js"]
}
}
}
Refer to your client's documentation for the config file location.
Copy the skills/ directory into the location your agent expects:
.claude/skills/ in your project or home directory.cursor/skills/Skills follow the open Agent Skills standard and work with any compatible agent.
| Tool | Description |
|---|---|
hello |
Test that the server is running |
list-components |
List all Salt components (core, lab, or both) |
get-component-props |
Get the TypeScript props interface for a component |
get-component-example |
Get Storybook example code for a component |
search-components |
Search components by keyword |
get-salt-docs |
Get usage guidelines, accessibility rules, patterns, and foundations |
Skills are portable instruction sets that guide agents through multi-step tasks. They follow the Agent Skills standard.
| Skill | Description |
|---|---|
salt-app |
Scaffold a new React app with Salt DS (SaltProvider, theme, Vite) |
salt-page |
Build page layouts using Salt layout components |
salt-form |
Build forms following Salt's form pattern |
salt-pattern |
Build any of 20+ Salt UI patterns (search, navigation, wizard, etc.) |
salt-figma |
Convert a Figma design (screenshot or description) into Salt code |
The MCP tools read from your local Salt DS clone at runtime, so they automatically reflect any updates. Skills contain some static mapping tables but always instruct agents to verify via the tools.
To pull the latest Salt DS changes:
git -C ~/Code/salt-ds pull
No rebuild of salt-mcp is needed — the tools will return updated data immediately.
npm run build # Compile TypeScript
npm test # Run unit tests (37 tests via Vitest)
npm run test:watch # Run tests in watch mode
salt-mcp/
src/
index.ts # MCP server with tools
helpers.ts # Shared helpers and security functions
helpers.test.ts # Unit tests (Vitest)
skills/ # Agent Skills (agentskills.io standard)
salt-app/SKILL.md
salt-page/SKILL.md
salt-form/SKILL.md
salt-pattern/SKILL.md
salt-figma/SKILL.md
.mcp.json # Shareable MCP server config
package.json
tsconfig.json
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"salt-mcp": {
"command": "npx",
"args": []
}
}
}