The PrimeNG MCP Server provides comprehensive access to PrimeNG component documentation and Angular code generation capabilities through web scraping and intelligent tools.
Core Capabilities:
Complete Component Documentation - Retrieve detailed properties, events, methods, and descriptions for 100+ PrimeNG components
Intelligent Component Search - Find components by name, keywords, or category using search queries
Component Discovery - List all available components organized by category with descriptions
Angular Code Generation - Generate ready-to-use Angular component code with customizable properties
Practical Examples - Access real-world usage examples extracted from official PrimeNG documentation
Configuration Guides - Get step-by-step guides for installation, theming, PrimeIcons usage, and Tailwind CSS integration
Technical Features:
Persistent disk-based caching with configurable TTL for fast responses
Robust web scraping with retry mechanisms and exponential backoff
Multi-language support with automatic syntax highlighting
Supported Components:
100+ components across all categories including inputs (autocomplete, datepicker, password), data displays (table, treetable, dataview), buttons (button, splitbutton, speeddial), panels (accordion, card, tabs), overlays (dialog, drawer, tooltip), menus (menubar, megamenu, contextmenu), and more (carousel, galleria, timeline, stepper).
Provides access to PrimeNG component documentation, enables searching for components, and generates code examples with practical usage patterns for Angular UI components.
PrimeNG MCP Server
Servidor MCP (Model Context Protocol) para acceder a la documentación de componentes PrimeNG y generar código Angular.
✨ Características
📚 Documentación completa - Extrae properties, events, methods y descripciones
🔍 Búsqueda inteligente - Encuentra componentes por nombre o categoría
💻 Generación de código - Crea componentes Angular listos para usar
📝 Múltiples ejemplos - Extrae todos los ejemplos de código de PrimeNG.org
⚡ Cache persistente - Almacena documentación en disco con TTL configurable
🌐 Web scraping robusto - Sistema de reintentos con exponential backoff
🎨 Syntax highlighting - Auto-detección de lenguaje para formateo
📖 Guías de configuración - Documentación de instalación, theming, iconos, etc.
Instalación
Uso en Desarrollo
Configuración en Claude Desktop
Añade lo siguiente a tu archivo de configuración de Claude Desktop:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
O en modo desarrollo:
Herramientas Disponibles
1. get_component_doc
Obtiene documentación completa de un componente.
Parámetros:
component(string): Nombre del componente (ej: "button", "table", "dialog")
Ejemplo de uso:
2. search_components
Busca componentes por término.
Parámetros:
query(string): Término de búsqueda
Ejemplo de uso:
3. list_all_components
Lista todos los componentes disponibles organizados por categoría.
Ejemplo de uso:
4. generate_component_code
Genera código de ejemplo para un componente.
Parámetros:
component(string): Nombre del componenteproperties(object, opcional): Propiedades del componente
Ejemplo de uso:
5. get_component_examples
Obtiene todos los ejemplos de código extraídos de la documentación oficial.
Parámetros:
component(string): Nombre del componente
Mejoras (v2.0):
✨ Extrae todos los ejemplos del sitio web (no solo 1-3 hardcodeados)
✨ Auto-detección de lenguaje (HTML, TypeScript, etc.)
✨ Cache-first para respuestas rápidas
✨ Fallback a ejemplos hardcodeados si falla el scraping
Ejemplo de uso:
Resultado: ~18 ejemplos para Button, ~7 para Dialog, etc.
Componentes Soportados
El servidor incluye más de 70 componentes de PrimeNG:
Inputs: autocomplete, calendar, checkbox, dropdown, inputtext, etc.
Data: datatable, table, dataview, tree, etc.
Buttons: button, splitbutton, speeddial
Panels: accordion, card, panel, tabview, etc.
Overlays: dialog, sidebar, tooltip
Menus: breadcrumb, menu, menubar, megamenu, etc.
Messages: message, toast
Media: carousel, galleria, image
Y muchos más...
Ejemplos de Consultas
🏗️ Arquitectura (v2.0)
El proyecto sigue una arquitectura modular y escalable:
💻 Desarrollo
Scripts Disponibles
Añadir un Nuevo Tool
Crea el tool en
src/tools/MyNewTool.tsextendiendoBaseToolDefine el schema en
src/models/ToolSchemas.tsRegistra en
src/server/PrimeNGServer.ts:Inicializa en
initializeTools()Agrega case en el handler
CallToolRequestSchemaAgrega schema en
ListToolsRequestSchema
Ejemplo:
Modificar el Scraping
Lógica de scraping:
src/services/ScraperService.tsParsers HTML:
src/utils/parsers.tsFormateo de salida:
src/utils/formatters.ts
Ver CLAUDE.md para documentación detallada de arquitectura.
🎯 Mejoras Recientes (v2.0)
✅ Web scraping completo - Extrae documentación real de PrimeNG.org
✅ Cache persistente - Sistema de cache en
.cache/con TTL de 24h✅ Múltiples ejemplos - Extrae TODOS los ejemplos (no solo el primero)
✅ Sin límites - Elimina límites de 20 properties, 15 events, 10 methods
✅ Descripciones completas - Sin truncamiento a 100 caracteres
✅ Arquitectura modular - Separación en services, tools, utils
✅ Sistema de logging - Logger estructurado con niveles
✅ Reintentos robustos - Exponential backoff para web scraping
✅ Testing - Framework Vitest configurado
✅ Code quality - ESLint + Prettier
🚧 Roadmap
Soporte para API documentation tabs en nueva estructura PrimeNG
Validación de propiedades con schemas
Generación de tests unitarios
Integración con PrimeNG CLI
Generación de código TypeScript para lógica
Soporte para temas y estilos customizados
CLI tool para testing local
🤝 Contribuir
¡Las contribuciones son bienvenidas! Por favor lee CONTRIBUTING.md para detalles sobre:
Cómo reportar bugs
Cómo proponer nuevas características
Guías de estilo de código
Proceso de pull requests
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
📚 Recursos
👥 Autores
PrimeNG MCP Server Contributors
🙏 Agradecimientos
PrimeNG team por su excelente biblioteca de componentes
Anthropic por el Model Context Protocol
Comunidad open source
¿Preguntas o problemas? Abre un issue