Skip to main content
Glama
apolosan

Design Patterns MCP Server

by apolosan

Servidor MCP de Patrones de Diseño

Versión Licencia: MIT Estado de las pruebas Patrones TypeScript

Un servidor MCP (Model Context Protocol) inteligente que proporciona recomendaciones de patrones de diseño mediante búsqueda híbrida (semántica + palabras clave + aumento de grafos). Accede a más de 685 patrones de diseño en más de 90 categorías a través de una interfaz de lenguaje natural con una arquitectura RAG combinada avanzada.

Inicio rápido

# Clone and setup
git clone https://github.com/apolosan/design_patterns_mcp.git
cd design_patterns_mcp

# Install dependencies and build (using bun)
bun install
bun run db:setup

# Or using npm (if bun is not installed)
npm install --ignore-scripts
npx tsc
node dist/src/cli/migrate.js
node dist/src/cli/seed.js
node dist/src/cli/generate-embeddings.js
node dist/src/cli/setup-relationships.js

Configúralo en tu cliente MCP (Claude Desktop, Cursor, etc.) y comienza a descubrir patrones mediante consultas en lenguaje natural.

Related MCP server: Acemcp

Características

Característica

Descripción

Motor de búsqueda híbrida

RAG combinado que integra búsqueda semántica, por palabras clave (TF-IDF) y recuperación aumentada por grafos

Más de 685 patrones

Catálogo completo en 12 categorías principales

Integración MCP

Integración fluida con Claude, Cursor y otros clientes MCP

Caché multinivel

Caché L1 en memoria + L3 SQLite con una tasa de aciertos superior al 95%

Sistema de bus de eventos

Comunicación de servicios desacoplada mediante pub/sub

Telemetría y salud

Métricas de rendimiento en tiempo real y monitoreo del sistema

Arquitectura SOLID

Base de código limpia y mantenible siguiendo las mejores prácticas

Listo para producción

464 casos de prueba con una tasa de éxito del 100%

Categorías de patrones disponibles

Categoría

Cantidad

Ejemplos

Patrones clásicos GoF

34

Factory, Builder, Observer, Strategy, Command

Patrones arquitectónicos

56

MVC, Clean Architecture, Hexagonal, DDD

Microservicios y nube

39

Circuit Breaker, Saga, Service Mesh

Ingeniería de datos

54

Repository, CQRS, Event Sourcing

IA/ML y MLOps

46

RAG, Fine-Tuning, Model Compression

Patrones de React

27

Hooks, Server Components, Performance

Blockchain y Web3

115

DeFi, NFTs, Smart Contracts, MEV

Concurrencia y reactividad

45

Producer-Consumer, Actor Model

Seguridad

21

OAuth, RBAC, Zero Trust

Programación funcional

26

Monads, Functors, Higher-Order Functions

Arquitectura

src/
├── adapters/              # External service adapters (LLM, embeddings)
├── cli/                   # CLI commands (migrate, seed, embeddings, setup-relationships)
├── core/                  # DI Container, configuration builder
├── db/                    # Database migrations
├── events/                # Event bus system
├── handlers/              # MCP request handlers (hybrid search, recommendations)
├── health/                # Health check services
├── repositories/          # Data access layer
├── search/                # Hybrid search engine
├── services/              # Business services (cache, telemetry, pattern service)
├── strategies/            # Strategy pattern implementations
├── types/                 # TypeScript type definitions
└── mcp-server.ts          # MCP server entry point

data/
├── patterns/              # 750+ JSON pattern definitions
└── design-patterns.db     # SQLite database with embeddings

Uso

Encontrar patrones

Haz preguntas en lenguaje natural a través de tu cliente MCP:

"I need to create complex objects with many optional configurations"
→ Builder, Abstract Factory, Factory Method

"How to handle service failures gracefully in distributed systems?"
→ Circuit Breaker, Bulkhead, Retry, Fallback

"What pattern helps with state-dependent behavior in React?"
→ State Machine, Observer, useReducer

"How to implement secure authentication and authorization?"
→ OAuth 2.0, RBAC, JWT, Zero Trust

Herramientas MCP

Herramienta

Descripción

find_patterns

Búsqueda híbrida de patrones usando descripciones de problemas

search_patterns

Búsqueda por palabras clave o semántica con filtrado

get_pattern_details

Información completa del patrón con ejemplos de código

count_patterns

Estadísticas sobre los patrones disponibles

get_health_status

Salud del sistema y estado del servicio

Instalación

Requisitos previos

  • Node.js >= 18.0.0

  • Bun >= 1.0.0 (recomendado) o npm >= 8.0.0

Configuración con Bun

bun install
bun run build
bun run db:setup

Configuración con npm

El script prepare en package.json requiere bun. Si no tienes bun instalado, usa --ignore-scripts para omitirlo y compilar manualmente:

npm install --ignore-scripts
npx tsc

# Setup database
node dist/src/cli/migrate.js
node dist/src/cli/seed.js
node dist/src/cli/generate-embeddings.js
node dist/src/cli/setup-relationships.js

Configuración MCP

Añádelo a la configuración de tu cliente MCP (Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "design-patterns": {
      "command": "node",
      "args": ["/absolute/path/to/design-patterns-mcp/dist/src/mcp-server.js"],
      "env": {
        "LOG_LEVEL": "info",
        "DATABASE_PATH": "/absolute/path/to/design-patterns-mcp/data/design-patterns.db",
        "ENABLE_HYBRID_SEARCH": "true",
        "ENABLE_GRAPH_AUGMENTATION": "true",
        "EMBEDDING_COMPRESSION": "true",
        "ENABLE_FUZZY_LOGIC": "true",
        "ENABLE_TELEMETRY": "true",
        "ENABLE_MULTI_LEVEL_CACHE": "true"
      }
    }
  }
}

Importante: Usa rutas absolutas tanto para args como para DATABASE_PATH. Los clientes MCP como Cursor no admiten de forma fiable el campo cwd, por lo que las rutas relativas se resuelven respecto al directorio de inicio del usuario en lugar del directorio del proyecto. Consulta QUICKSTART.md para ver ejemplos de configuración específicos del cliente.

Variables de entorno

Variable

Predeterminado

Descripción

LOG_LEVEL

info

Nivel de registro (debug, info, warn, error)

DATABASE_PATH

./data/design-patterns.db

Ruta de la base de datos SQLite

ENABLE_HYBRID_SEARCH

true

Habilitar búsqueda RAG combinada

ENABLE_GRAPH_AUGMENTATION

true

Habilitar recorrido de relaciones de patrones

EMBEDDING_COMPRESSION

true

Reducción de dimensionalidad

ENABLE_FUZZY_LOGIC

true

Refinamiento de resultados con lógica difusa

ENABLE_TELEMETRY

true

Métricas de rendimiento

ENABLE_MULTI_LEVEL_CACHE

true

Caché L1 + L3

MAX_CONCURRENT_REQUESTS

10

Límite de concurrencia de solicitudes

CACHE_MAX_SIZE

1000

Límite de tamaño de caché

CACHE_TTL

3600000

TTL de caché en milisegundos

TRANSPORT_MODE

stdio

Modo de transporte (stdio/http)

HTTP_PORT

3000

Puerto HTTP (modo http)

MCP_ENDPOINT

/mcp

Ruta del endpoint MCP

HEALTH_CHECK_PATH

/health

Ruta de verificación de salud

SKIP_DB_SETUP

false

Omitir configuración de base de datos

Despliegue en Docker

Inicio rápido

# Build
docker build -t design-patterns-mcp .

# Run HTTP mode
docker run -p 3000:3000 -e TRANSPORT_MODE=http design-patterns-mcp

# Run stdio mode (default)
docker run design-patterns-mcp

Docker Compose

docker compose up --build -d

Variables de entorno

Variable

Predeterminado

Descripción

TRANSPORT_MODE

stdio

Modo de transporte (stdio/http)

HTTP_PORT

3000

Puerto HTTP (modo http)

MCP_ENDPOINT

/mcp

Ruta del endpoint MCP

HEALTH_CHECK_PATH

/health

Ruta de verificación de salud

DATABASE_PATH

/app/data/design-patterns.db

Ruta de la base de datos SQLite

LOG_LEVEL

info

Nivel de registro

SKIP_DB_SETUP

false

Omitir configuración de base de datos

Endpoints (modo HTTP)

  • GET /health - Verificación de salud

  • POST /mcp - Endpoint JSON-RPC de MCP

Comandos

# Development
bun run build        # Compile TypeScript
bun run dev          # Development with hot reload
bun run start        # Build and start production server

# Database
bun run db:setup     # Complete database setup
bun run migrate      # Run migrations
bun run seed         # Seed pattern data
bun run generate-embeddings  # Generate semantic embeddings
bun run setup-relationships  # Setup pattern relationships

# Quality
bun run test         # Run all tests
bun run lint         # Check code quality
bun run lint:fix     # Auto-fix linting issues
bun run typecheck    # TypeScript type checking

Pruebas

El proyecto incluye 464 casos de prueba en 41 archivos de prueba con una tasa de éxito del 100%:

  • Pruebas de contrato: Validación de cumplimiento del protocolo MCP

  • Pruebas de integración: Pruebas de interacción de componentes

  • Pruebas de rendimiento: Benchmarks de búsqueda y vectorización

  • Pruebas unitarias: Pruebas de componentes individuales

# Run all tests
bun run test

# Run specific test suites
bun run test:unit -- --grep "PatternService"
bun run test:integration -- --grep "database"
bun run test:performance -- --timeout 30000

Patrones de arquitectura

Este proyecto implementa los patrones que documenta:

Patrón

Implementación

Repository

repositories/pattern-repository.ts

Service Layer

services/pattern-service.ts

Object Pool

services/statement-pool.ts

Dependency Injection

core/container.ts

Strategy

strategies/search-strategy.ts

Event Bus

events/event-bus.ts

Multi-Level Cache

services/multi-level-cache.ts

Builder

core/config-builder.ts

Contribución

¡Las contribuciones son bienvenidas! Por favor, lee nuestras directrices de contribución antes de enviar PRs.

  1. Haz un fork del repositorio

  2. Crea una rama de funcionalidad

  3. Realiza cambios siguiendo los principios SOLID

  4. Ejecuta pruebas y linting

  5. Envía una solicitud de extracción (pull request)

Licencia

Licencia MIT - consulta LICENSE para más detalles.

Recursos


Versión: 0.4.4
Última actualización: Febrero 2026
Patrones: 685+ (750+ archivos JSON)
Pruebas: 464 casos de prueba | 100% tasa de éxito

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Enables semantic code search across projects using AI embeddings to find code by meaning rather than just text matching. Provides fast intelligent search, symbol analysis, and code similarity detection with multi-language support.
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Provides code repository indexing and semantic search capabilities, allowing natural language queries to find relevant code snippets with automatic incremental indexing and multi-language support.
    1
    37
    359
    ISC
  • F
    license
    -
    quality
    D
    maintenance
    Enables semantic search and knowledge management for storing and querying principles, patterns, and learnings using hybrid keyword and vector search.
    1

View all related MCP servers

Related MCP Connectors

  • AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).

  • Multilingual semantic SVG icon search with previews for AI coding agents. 20,000+ icons.

  • A design-style library for AI agents: search real styles, fetch a ready-to-apply design spec.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/apolosan/design_patterns_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server