Design Patterns MCP Server
Design Patterns MCP Server
Ein intelligenter MCP-Server (Model Context Protocol), der Empfehlungen für Entwurfsmuster mittels hybrider Suche (semantisch + Schlüsselwort + Graph-Erweiterung) bereitstellt. Greifen Sie über eine Schnittstelle in natürlicher Sprache mit fortschrittlicher, gemischter RAG-Architektur auf über 685 Entwurfsmuster in über 90 Kategorien zu.
Schnellstart
# 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.jsKonfigurieren Sie den Server in Ihrem MCP-Client (Claude Desktop, Cursor usw.) und beginnen Sie, Muster durch Abfragen in natürlicher Sprache zu entdecken.
Related MCP server: Acemcp
Funktionen
Funktion | Beschreibung |
Hybride Suchmaschine | Gemischtes RAG, das semantische Suche, Schlüsselwortsuche (TF-IDF) und graph-erweiterte Suche kombiniert |
685+ Muster | Umfassender Katalog über 12 Hauptkategorien |
MCP-Integration | Nahtlose Integration mit Claude, Cursor und anderen MCP-Clients |
Mehrstufiges Caching | L1-In-Memory + L3-SQLite-Cache mit über 95 % Trefferquote |
Event-Bus-System | Entkoppelte Dienstkommunikation via Pub/Sub |
Telemetrie & Gesundheit | Leistungsmetriken in Echtzeit und Systemüberwachung |
SOLID-Architektur | Sauberer, wartbarer Code gemäß bewährten Verfahren |
Produktionsbereit | 464 Testfälle mit 100 % Erfolgsquote |
Verfügbare Musterkategorien
Kategorie | Anzahl | Beispiele |
Klassische GoF-Muster | 34 | Factory, Builder, Observer, Strategy, Command |
Architekturmuster | 56 | MVC, Clean Architecture, Hexagonal, DDD |
Microservices & Cloud | 39 | Circuit Breaker, Saga, Service Mesh |
Data Engineering | 54 | Repository, CQRS, Event Sourcing |
KI/ML & MLOps | 46 | RAG, Fine-Tuning, Modellkomprimierung |
React-Muster | 27 | Hooks, Server Components, Performance |
Blockchain & Web3 | 115 | DeFi, NFTs, Smart Contracts, MEV |
Nebenläufigkeit & Reaktiv | 45 | Producer-Consumer, Actor Model |
Sicherheit | 21 | OAuth, RBAC, Zero Trust |
Funktionale Programmierung | 26 | Monaden, Funktoren, Funktionen höherer Ordnung |
Architektur
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 embeddingsVerwendung
Muster finden
Stellen Sie Fragen in natürlicher Sprache über Ihren MCP-Client:
"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 TrustMCP-Tools
Tool | Beschreibung |
| Hybride Suche nach Mustern anhand von Problembeschreibungen |
| Schlüsselwort- oder semantische Suche mit Filtern |
| Umfassende Musterinformationen mit Codebeispielen |
| Statistiken über verfügbare Muster |
| Systemgesundheit und Dienststatus |
Installation
Voraussetzungen
Node.js >= 18.0.0
Bun >= 1.0.0 (empfohlen) oder npm >= 8.0.0
Einrichtung mit Bun
bun install
bun run build
bun run db:setupEinrichtung mit npm
Das prepare-Skript in package.json erfordert bun. Wenn Sie bun nicht installiert haben, verwenden Sie --ignore-scripts, um es zu überspringen und manuell zu bauen:
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.jsMCP-Konfiguration
Fügen Sie dies zu Ihrer MCP-Client-Konfiguration hinzu (Claude Desktop, Cursor usw.):
{
"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"
}
}
}
}Wichtig: Verwenden Sie absolute Pfade sowohl für
argsals auch fürDATABASE_PATH. MCP-Clients wie Cursor unterstützen das Feldcwdnicht zuverlässig, daher beziehen sich relative Pfade auf das Home-Verzeichnis des Benutzers anstatt auf das Projektverzeichnis. Siehe QUICKSTART.md für client-spezifische Konfigurationsbeispiele.
Umgebungsvariablen
Variable | Standard | Beschreibung |
|
| Protokollierungsebene (debug, info, warn, error) |
|
| Pfad zur SQLite-Datenbank |
|
| Aktiviert gemischte RAG-Suche |
|
| Aktiviert das Durchlaufen von Musterbeziehungen |
|
| Dimensionsreduktion |
|
| Verfeinerung der Ergebnisse durch Fuzzy-Logik |
|
| Leistungsmetriken |
|
| L1 + L3 Caching |
|
| Limit für gleichzeitige Anfragen |
|
| Limit der Cache-Größe |
|
| Cache-TTL in Millisekunden |
|
| Transportmodus (stdio/http) |
|
| HTTP-Port (HTTP-Modus) |
|
| MCP-Endpunktpfad |
|
| Pfad für Gesundheitsprüfung |
|
| Datenbank-Setup überspringen |
Docker-Bereitstellung
Schnellstart
# 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-mcpDocker Compose
docker compose up --build -dUmgebungsvariablen
Variable | Standard | Beschreibung |
|
| Transportmodus (stdio/http) |
|
| HTTP-Port (HTTP-Modus) |
|
| MCP-Endpunktpfad |
|
| Pfad für Gesundheitsprüfung |
|
| Pfad zur SQLite-Datenbank |
|
| Protokollierungsebene |
|
| Datenbank-Setup überspringen |
Endpunkte (HTTP-Modus)
GET /health- GesundheitsprüfungPOST /mcp- MCP JSON-RPC-Endpunkt
Befehle
# 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 checkingTesten
Das Projekt enthält 464 Testfälle in 41 Testdateien mit einer Erfolgsquote von 100 %:
Vertragstests: Validierung der MCP-Protokollkonformität
Integrationstests: Tests der Komponenteninteraktion
Leistungstests: Benchmarks für Suche und Vektorisierung
Unit-Tests: Tests einzelner Komponenten
# 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 30000Architekturmuster
Dieses Projekt implementiert die Muster, die es dokumentiert:
Muster | Implementierung |
Repository |
|
Service Layer |
|
Object Pool |
|
Dependency Injection |
|
Strategy |
|
Event Bus |
|
Multi-Level Cache |
|
Builder |
|
Mitwirken
Beiträge sind willkommen! Bitte lesen Sie unsere Richtlinien für Mitwirkende, bevor Sie PRs einreichen.
Forken Sie das Repository
Erstellen Sie einen Feature-Branch
Nehmen Sie Änderungen gemäß SOLID-Prinzipien vor
Führen Sie Tests und Linting aus
Reichen Sie einen Pull Request ein
Lizenz
MIT-Lizenz - siehe LICENSE für Details.
Ressourcen
Version: 0.4.4
Zuletzt aktualisiert: Februar 2026
Muster: 685+ (750+ JSON-Dateien)
Tests: 464 Testfälle | 100 % Erfolgsquote
Maintenance
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
- Alicense-qualityDmaintenanceEnables 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
- AlicenseAqualityFmaintenanceProvides code repository indexing and semantic search capabilities, allowing natural language queries to find relevant code snippets with automatic incremental indexing and multi-language support.137359ISC
- Flicense-qualityDmaintenanceEnables semantic search and knowledge management for storing and querying principles, patterns, and learnings using hybrid keyword and vector search.1
- Flicense-qualityFmaintenanceGives Claude semantic search superpowers to find and reuse existing patterns in your codebase.16
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.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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