Smart Prompts MCP Server

Obtiene y gestiona prompts de repositorios de GitHub con funciones inteligentes de descubrimiento y composición.

Documentación

Servidor Smart Prompts MCP

Tests Coverage Performance Node License

Un servidor MCP (Model Context Protocol) mejorado que obtiene prompts de repositorios de GitHub con funciones inteligentes de descubrimiento, composición y gestión. Este es un fork mejorado de prompts-mcp-server con integración de GitHub y funciones avanzadas.

🌟 Características Principales

Capacidades Principales

  • 🔄 Integración con GitHub: Obtén prompts directamente de repositorios de GitHub (públicos/privados)
  • 🔍 Descubrimiento Inteligente: Búsqueda avanzada con filtrado por categoría y etiquetas
  • 🔗 Composición de Prompts: Combina múltiples prompts en flujos de trabajo
  • 📊 Seguimiento de Uso: Analíticas sobre patrones de uso de prompts
  • ⚡ Actualizaciones en Tiempo Real: Sincronización automática con GitHub
  • 🤖 Guía de IA: Descripciones de herramientas mejoradas y recomendaciones de flujos de trabajo

Soporte del Protocolo MCP

  • Herramientas: 7 herramientas especializadas para la gestión de prompts
  • Recursos: Más de 13 endpoints de recursos para navegar y descubrir
  • Prompts: Plantillas dinámicas con soporte de Handlebars

📋 Requisitos Previos

Antes de la instalación, asegúrate de tener:

  • Node.js 18+ instalado
  • Gestor de paquetes npm o yarn
  • Git instalado y configurado
  • Cuenta de GitHub (para la integración con GitHub)
  • Token de Acceso Personal de GitHub (para repositorios privados o para evitar límites de tasa)

🚀 Instalación

Paso 1: Clonar e Instalar

# Clone the repository
git clone https://github.com/jezweb/smart-prompts-mcp.git
cd smart-prompts-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Verify installation
./verify-install.sh

Paso 2: Configurar el Entorno

Crea un archivo .env en la raíz del proyecto:

# Required: GitHub Configuration
GITHUB_OWNER=your-username          # Your GitHub username or org
GITHUB_REPO=your-prompts-repo      # Repository containing prompts
GITHUB_BRANCH=main                  # Branch to use (default: main)
GITHUB_PATH=                        # Subdirectory path (optional)
GITHUB_TOKEN=ghp_xxxxx             # Personal access token (recommended)

# Optional: Cache Configuration
CACHE_TTL=300000                    # Cache time-to-live in ms (default: 5 min)
CACHE_REFRESH_INTERVAL=60000        # Auto-refresh interval in ms (default: 1 min)

# Optional: Feature Flags
ENABLE_SEMANTIC_SEARCH=true         # Advanced search features
ENABLE_PROMPT_COMPOSITION=true      # Prompt combination features
ENABLE_USAGE_TRACKING=true          # Track prompt usage

Paso 3: Configuración del Cliente MCP

Para Claude Desktop (macOS)

Añade a ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "smart-prompts": {
      "command": "node",
      "args": ["/absolute/path/to/smart-prompts-mcp/dist/index.js"],
      "env": {
        "GITHUB_OWNER": "your-username",
        "GITHUB_REPO": "your-prompts-repo",
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

Para Roo Cline (VS Code)

Añade a la configuración MCP de Roo Cline:

"smart-prompts": {
  "command": "node",
  "args": ["/absolute/path/to/smart-prompts-mcp/dist/index.js"],
  "env": {
    "GITHUB_OWNER": "your-username",
    "GITHUB_REPO": "your-prompts-repo",
    "GITHUB_TOKEN": "ghp_your_token_here"
  }
}

📁 Mejores Prácticas de Organización de Prompts

Estructura de Carpetas Recomendada

your-prompts-repo/
├── README.md                    # Repository overview
├── ai-prompts/                  # AI and meta-prompts
│   ├── meta-prompt-builder.md
│   └── prompt-engineer.md
├── development/                 # Development prompts
│   ├── backend/
│   │   ├── api-design.md
│   │   └── database-schema.md
│   ├── frontend/
│   │   ├── react-component.md
│   │   └── vue-composition.md
│   └── testing/
│       ├── unit-test-writer.md
│       └── e2e-test-suite.md
├── content-creation/           # Content prompts
│   ├── blog-post-writer.md
│   └── youtube-metadata.md
├── business/                   # Business prompts
│   ├── proposal-generator.md
│   └── email-templates.md
└── INDEX.md                    # Optional: Category index

Convenciones de Nomenclatura

  • Archivos: Usa kebab-case (por ejemplo, api-documentation-generator.md)
  • Nombres de Prompts: Usa snake_case en el frontmatter (por ejemplo, api_documentation_generator)
  • Categorías: Usa minúsculas con guiones (por ejemplo, content-creation)
  • Mantén los nombres descriptivos pero concisos

📝 Formato de Archivo de Prompt

---
name: api_documentation_generator
title: REST API Documentation Generator
description: Generate comprehensive API documentation with examples
category: documentation
tags: [api, rest, documentation, openapi, swagger]
difficulty: intermediate
author: jezweb
version: 1.0
arguments:
  - name: api_spec
    description: The API specification or endpoint details
    required: true
  - name: format
    description: Output format (markdown, openapi, etc)
    required: false
    default: markdown
---

# API Documentation Generator

Generate comprehensive documentation for {{api_spec}} in {{format}} format.

Include:
- Endpoint descriptions
- Request/response examples
- Authentication details
- Error codes
- Rate limiting information

🛠️ Herramientas Disponibles

  1. 🔍 search_prompts - ¡Empieza siempre aquí! Busca por palabra clave, categoría o etiquetas
  2. 📋 list_prompt_categories - Explora las categorías disponibles con recuentos
  3. 📖 get_prompt - Recupera un prompt específico (usa el nombre exacto de la búsqueda)
  4. ✨ create_github_prompt - Crea nuevos prompts en GitHub
  5. 🔗 compose_prompts - Combina múltiples prompts
  6. ❓ prompts_help - Obtén ayuda contextual y orientación
  7. ✅ check_github_status - Verifica la conexión con GitHub

Flujo de Trabajo Recomendado

1. search_prompts → Find existing prompts
2. get_prompt → View full content
3. compose_prompts → Combine if needed
4. create_github_prompt → Only if nothing exists

🔧 Solución de Problemas

Problemas Comunes

1. Error de "Acceso a GitHub fallido"

# Check your token has repo scope
# Verify token in .env file
GITHUB_TOKEN=ghp_your_actual_token

# Test GitHub access
GITHUB_TOKEN=your_token node test-server.js

2. Error de "Límite de tasa excedido"

  • Añade un token de GitHub para aumentar los límites de tasa
  • Reduce el intervalo de actualización de caché
  • Usa CACHE_TTL para almacenar en caché durante más tiempo

3. "No se encontraron prompts"

  • Verifica que la estructura del repositorio coincida con el formato esperado
  • Comprueba GITHUB_PATH si usas un subdirectorio
  • Asegúrate de que los archivos .md tengan frontmatter YAML

4. El Cliente MCP No Se Conecta

  • Usa rutas absolutas en la configuración
  • Comprueba que Node.js esté en el PATH
  • Verifica todas las variables de entorno
  • Revisa los registros: tail -f ~/.claude/logs/mcp.log

5. Rendimiento Lento

  • Aumenta CACHE_TTL para actualizaciones menos frecuentes
  • Reduce el tamaño del repositorio (archiva prompts antiguos)
  • Usa categorías para limitar el alcance de la búsqueda

📈 Consideraciones de Escalado

Limitaciones Actuales

  1. Límites de Tasa de la API de GitHub

    • 60 solicitudes/hora (sin autenticación)
    • 5,000 solicitudes/hora (autenticado)
    • Cada obtención de directorio = 1 solicitud
  2. Limitaciones de Búsqueda

    • Sin búsqueda semántica nativa en GitHub
    • Búsqueda lineal a través de todos los archivos
    • El rendimiento se degrada con más de 100 prompts

Estrategias de Escalado

Para 50-200 Prompts

  • ✅ La implementación actual funciona bien
  • Usa categorías y etiquetas para la organización
  • Implementa caché local
  • Añade un token de GitHub para límites de tasa más altos

Para 200-1000 Prompts

  • 🔄 Implementar Archivo de Índice
    # INDEX.md in repo root
    prompts:
      - name: api_generator
        path: development/api-generator.md
        category: development
        tags: [api, codegen]
    
  • 📊 Añadir Índice de Búsqueda
    • Genera un índice de búsqueda en la compilación
    • Almacena en search-index.json
    • Actualiza mediante GitHub Actions

Para Más de 1000 Prompts

  • 🗄️ Capa de Base de Datos
    • SQLite para caché local
    • Capacidades de búsqueda de texto completo
    • Sincronización periódica con GitHub
  • 🔍 Integración con Elasticsearch/Algolia
    • Infraestructura de búsqueda adecuada
    • Búsqueda facetada
    • Clasificación por relevancia

Funciones de Escalado Futuras (Hoja de Ruta)

  1. Generación de Índice de Búsqueda

    • GitHub Action para construir el índice
    • Descargar un único archivo de índice
    • Búsqueda semántica local
  2. Carga Perezosa

    • Obtener categorías bajo demanda
    • Mejora progresiva
    • Desplazamiento virtual para listas grandes
  3. Soporte de CDN

    • Almacenar prompts en caché en el borde
    • Reducir llamadas a la API de GitHub
    • Acceso global más rápido

🚀 Ideas Futuras de Servidores MCP

Basándose en el patrón de integración con GitHub, aquí hay posibles servidores MCP:

1. Servidor MCP de Fragmentos de Código

Almacena y gestiona fragmentos de código reutilizables en GitHub

  • Organización específica por lenguaje
  • Resaltado de sintaxis
  • Gestión de dependencias
  • Historial de versiones

2. MCP de Plantillas de Documentación

Biblioteca de plantillas de documentación basada en GitHub

  • Generadores de README
  • Plantillas de documentación de API
  • Documentación de proyectos
  • Generación automática a partir del código

3. Servidor MCP de Personas de IA

Gestiona configuraciones de personalidad de IA

  • Definiciones de experiencia
  • Estilos de comunicación
  • Rasgos de comportamiento
  • Compartir en equipo

4. MCP de Andamiaje de Proyectos

Gestión completa de plantillas de proyectos

  • Pilas tecnológicas
  • Código repetitivo
  • Mejores prácticas
  • Ajustes preestablecidos de configuración

5. MCP de Recursos de Aprendizaje

Contenido educativo seleccionado

  • Tutoriales y guías
  • Ejemplos de código
  • Seguimiento de progreso
  • Recomendaciones basadas en habilidades

6. MCP de Gestor de Configuración

Configuraciones de aplicaciones controladas por versiones

  • Gestión de entornos
  • Manejo de secretos
  • Sincronización de equipos
  • Soporte de reversión

7. MCP de Automatización de Flujos de Trabajo

Integración con GitHub Actions

  • Plantillas de flujos de trabajo
  • Pipelines de CI/CD
  • Scripts de automatización
  • Orquestación entre repositorios

8. MCP de Base de Conocimientos

Gestión del conocimiento del equipo

  • Pares de preguntas y respuestas
  • Guías de solución de problemas
  • Mejores prácticas
  • Wiki buscable

🧪 Pruebas

El servidor incluye pruebas exhaustivas para garantizar fiabilidad y rendimiento.

Características del Conjunto de Pruebas

  • 100% de cobertura de pruebas de la funcionalidad crítica
  • Benchmarks de rendimiento con métricas detalladas
  • Informes de prueba visuales con gráficos interactivos
  • CI/CD automatizado mediante GitHub Actions

Ejecutar Pruebas

# Run full test suite
npm test

# Watch mode for development
npm run test:watch

# Generate coverage report
npm run test:coverage

# Run performance benchmark
npm run test:perf

# Verify installation
npm run test:verify

Informes de Pruebas

Los resultados de las pruebas se generan automáticamente en múltiples formatos:

  • JSON: Resultados detallados para análisis (test-results/latest.json)
  • Markdown: Informes legibles para humanos (test-results/latest.md)
  • HTML: Informes visuales interactivos (test-results/latest.html)

Consulta los últimos resultados de las pruebas:

🧪 Desarrollo

# Development mode with hot reload
npm run dev

# Build for production
npm run build

# Start production server
npm start

🤝 Contribuciones

¡Damos la bienvenida a las contribuciones! Consulta CONTRIBUTING.md para las pautas.

Áreas Prioritarias

  1. Mejoras de Búsqueda

    • Implementar búsqueda difusa
    • Añadir clasificación de resultados de búsqueda
    • Soporte para patrones regex
  2. Optimización del Rendimiento

    • Implementar agrupación de conexiones
    • Añadir procesamiento por lotes de solicitudes
    • Optimizar estrategias de caché
  3. UI/Visualización

    • Interfaz web para navegar
    • Herramienta de vista previa de prompts
    • Panel de analíticas de uso

📄 Licencia

Licencia MIT: consulta el archivo LICENSE para más detalles.

🙏 Agradecimientos

📞 Soporte


Hecho con ❤️ para la comunidad MCP