Back to the catalog

io.github.wisdomrock/primereact-mcp

105 PrimeReact v10 components with props, types, and events

Open source Open in the app JSON README (API)

About

105 PrimeReact v10 components with props, types, and events

Details

Kind
MCP servers
Topic
No topic detected
Publisher
wisdomrock
Origin
official
Category
ferramentas
Transport
local
Version
1.2.3
Last push
2026-06-05T13:43:17Z
Repository state
ativo
Language
HTML
License
MIT
Added
2026-08-29 04:01:40
Updated
2026-08-29 04:01:40
Origin id
io.github.wisdomrock/primereact-mcp

README

# primereact-mcp

A Model Context Protocol (MCP) server that gives AI assistants full access to **PrimeReact v10** component documentation — props, events, examples, and search.

> **Why does this exist?**  
> The PrimeReact team has not yet published an official `@primereact/mcp` package. This server fills that gap using the same engine (`@primeuix/mcp`) that powers the official PrimeNG MCP server, with component data extracted from PrimeReact's TypeScript definitions.
> The official PrimeReact MCP will be launched with v11.

---

## Features

- 105 PrimeReact v10 components with full prop/event documentation
- 15+ MCP tools: search, suggest, inspect props, get examples, compare components, and more
- Works with Claude Code, Claude Desktop, Cursor, Windsurf, and any MCP-compatible client
- Generated directly from PrimeReact's TypeScript `.d.ts` source — no stale hand-written docs

---

## Quick Start

### Prerequisites

- [Node.js](https://nodejs.org/) 18 or later
- An MCP-compatible AI client (see below)

### Option A — npx (no install needed)

Use `npx -y primereact-mcp` directly in your MCP client config. Component data ships pre-generated inside the package.

### Option B — clone and run locally

```bash
git clone https://github.com/wisdomrock/primereact-mcp.git
cd primereact-mcp
npm install
node index.mjs   # starts the server
```

To regenerate component data after a PrimeReact version upgrade:

```bash
npm install primereact@10   # install the target version
node generate-data.mjs      # rewrites components-data.json
```

---

## MCP Client Setup

### Claude Code (CLI)

```bash
# via npx — zero install
claude mcp add primereact -- npx -y primereact-mcp

# or point at a local clone
claude mcp add primereact -- node /absolute/path/to/primereact-mcp/index.mjs
```

Or add it to your project's `.mcp.json`:

```json
{
  "mcpServers": {
    "primereact": {
      "command": "npx",
      "args": ["-y", "primereact-mcp"]
    }
  }
}
```

### Claude Desktop

Add the following to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

```json
{
  "mcpServers": {
    "primereact": {
      "command": "npx",
      "args": ["-y", "primereact-mcp"]
    }
  }
}
```

### Cursor

Add to `.cursor/mcp.json` in your project root:

```json
{
  "mcpServers": {
    "primereact": {
      "command": "npx",
      "args": ["-y", "primereact-mcp"]
    }
  }
}
```

### Windsurf

Add to `~/.codeium/windsurf/mcp_config.json`:

```json
{
  "mcpServers": {
    "primereact": {
      "command": "npx",
      "args": ["-y", "primereact-mcp"]
    }
  }
}
```

---

## Available Tools

| Tool | Description |
|------|-------------|
| `list_components` | List all 105 PrimeReact components, optionally filtered by category |
| `get_component` | Get full details for a component (stats, props preview, sections) |
| `get_component_props` | Get all props for a component with types and descriptions |
| `get_component_events` | Get all event callbacks a component supports |
| `get_component_methods` | Get component methods (where documented) |
| `get_component_slots` | Get slots/render props for a component |
| `get_component_pt` | Get Pass Through (PT) customization options |
| `get_component_tokens` | Get design tokens (CSS variables) |
| `get_component_styles` | Get CSS class names |
| `get_component_sections` | Get all sections with examples (basic, advanced, etc.) |
| `get_component_import` | Get the correct import statement |
| `get_component_url` | Get the official documentation URL |
| `get_usage_example` | Get code examples for a component |
| `search_components` | Search components by name or description |
| `find_by_prop` | Find all components that have a specific prop |
| `find_by_event` | Find all components that emit a specific event |
| `find_components_with_feature` | Find components with a feature (e.g. "filter", "lazy", "virtual") |
| `compare_components` | Compare two components side by side |
| `suggest_component` | Suggest components based on a use-case description |
| `get_categories` | Get all component categories |
| `get_version_info` | Get PrimeReact version and compatibility info |
| `get_form_components` | Get all form input components |
| `get_data_components` | Get all data display components (tables, lists, trees) |
| `get_overlay_components` | Get all overlay/popup components |

### Example prompts

```
Which PrimeReact component should I use for a searchable multi-select?

What props does the DataTable component accept?

Find all PrimeReact components that have a filter prop.

Compare the Dropdown and AutoComplete components.

Show me the import statement for the Calendar component.
```

---

## Upgrading PrimeReact Version

To update the component data after upgrading PrimeReact:

```bash
npm install primereact@NEW_VERSION
node generate-data.mjs
```

The `generate-data.mjs` script re-reads all `.d.ts` files and rewrites `components-data.json`.

---

## Project Structure

```
primereact-mcp/
├── index.mjs              # MCP server entry point
├── generate-data.mjs      # Generates components-data.json from .d.ts files
├── components-data.json   # Generated component data (committed for convenience)
├── server.json            # MCP Registry metadata
├── package.json
└── README.md
```

## MCP Registry

This server is published to the [Official MCP Registry](https://modelcontextprotocol.io). Registry metadata is in [`server.json`](./server.json) at the repo root.

### How it works

1. **`generate-data.mjs`** reads each component's `.d.ts` file from the `primereact` npm package, parses JSDoc comments and TypeScript interface definitions using a line-by-line state machine, and writes structured JSON to `components-data.json`.

2. **`index.mjs`** calls `runPrimeMcpServer()` from `@primeuix/mcp` — the same shared engine used by the official PrimeNG MCP server — passing PrimeReact-specific configuration and the generated component data.

---

## Contributing

Contributions welcome! Areas that would benefit from improvement:

- **Richer examples** — add JSX code snippets to more component sections
- **PrimeReact v11 support** — the alpha v11 uses `@primereact/types`, requiring a different parsing strategy
- **Pass Through (PT) data** — extract PT options from `.d.ts` files
- **Design tokens** — extract CSS variable names

Please open an issue before sending a large PR.

---

## License

MIT — see [LICENSE](./LICENSE).

---

## Related

- [@primeng/mcp](https://www.npmjs.com/package/@primeng/mcp) — Official MCP server for PrimeNG (Angular)
- [@primeuix/mcp](https://www.npmjs.com/package/@primeuix/mcp) — Shared MCP engine by the PrimeFaces team
- [PrimeReact Documentation](https://primereact.org)
- [Model Context Protocol](https://modelcontextprotocol.io)

More