Skip to main content
Glama
apolosan

Design Patterns MCP Server

by apolosan

디자인 패턴 MCP 서버

Version License: MIT Test Status Patterns TypeScript

하이브리드 검색(의미론적 + 키워드 + 그래프 증강)을 사용하여 디자인 패턴 추천을 제공하는 지능형 MCP(Model Context Protocol) 서버입니다. 고급 블렌디드 RAG 아키텍처를 갖춘 자연어 인터페이스를 통해 685개 이상의 디자인 패턴과 90개 이상의 카테고리에 액세스할 수 있습니다.

빠른 시작

# 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

MCP 클라이언트(Claude Desktop, Cursor 등)에서 구성하고 자연어 쿼리를 통해 패턴을 찾아보세요.

Related MCP server: Acemcp

기능

기능

설명

하이브리드 검색 엔진

의미론적, 키워드(TF-IDF), 그래프 증강 검색을 결합한 블렌디드 RAG

685개 이상의 패턴

12개의 주요 카테고리에 걸친 포괄적인 카탈로그

MCP 통합

Claude, Cursor 및 기타 MCP 클라이언트와의 원활한 통합

다단계 캐싱

L1 인메모리 + L3 SQLite 캐시, 95% 이상의 적중률

이벤트 버스 시스템

pub/sub을 통한 분리된 서비스 통신

텔레메트리 및 상태

실시간 성능 지표 및 시스템 모니터링

SOLID 아키텍처

모범 사례를 따르는 깔끔하고 유지 관리 가능한 코드베이스

프로덕션 준비 완료

464개의 테스트 케이스, 100% 통과율

사용 가능한 패턴 카테고리

카테고리

개수

예시

클래식 GoF 패턴

34

Factory, Builder, Observer, Strategy, Command

아키텍처 패턴

56

MVC, Clean Architecture, Hexagonal, DDD

마이크로서비스 및 클라우드

39

Circuit Breaker, Saga, Service Mesh

데이터 엔지니어링

54

Repository, CQRS, Event Sourcing

AI/ML 및 MLOps

46

RAG, Fine-Tuning, Model Compression

React 패턴

27

Hooks, Server Components, Performance

블록체인 및 Web3

115

DeFi, NFTs, Smart Contracts, MEV

동시성 및 반응형

45

Producer-Consumer, Actor Model

보안

21

OAuth, RBAC, Zero Trust

함수형 프로그래밍

26

Monads, Functors, Higher-Order Functions

아키텍처

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

사용법

패턴 찾기

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

MCP 도구

도구

설명

find_patterns

문제 설명을 사용하여 패턴을 찾는 하이브리드 검색

search_patterns

필터링이 포함된 키워드 또는 의미론적 검색

get_pattern_details

코드 예제가 포함된 포괄적인 패턴 정보

count_patterns

사용 가능한 패턴에 대한 통계

get_health_status

시스템 상태 및 서비스 상태

설치

사전 요구 사항

  • Node.js >= 18.0.0

  • Bun >= 1.0.0 (권장) 또는 npm >= 8.0.0

Bun으로 설정

bun install
bun run build
bun run db:setup

npm으로 설정

package.jsonprepare 스크립트는 bun을 필요로 합니다. bun이 설치되어 있지 않다면 --ignore-scripts를 사용하여 건너뛰고 수동으로 빌드하세요:

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

MCP 구성

MCP 클라이언트 구성(Claude Desktop, Cursor 등)에 추가하세요:

{
  "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"
      }
    }
  }
}

중요: argsDATABASE_PATH 모두에 절대 경로를 사용하세요. Cursor와 같은 MCP 클라이언트는 cwd 필드를 안정적으로 지원하지 않으므로, 상대 경로는 프로젝트 디렉토리가 아닌 사용자 홈 디렉토리를 기준으로 해석됩니다. 클라이언트별 구성 예시는 QUICKSTART.md를 참조하세요.

환경 변수

변수

기본값

설명

LOG_LEVEL

info

로깅 레벨 (debug, info, warn, error)

DATABASE_PATH

./data/design-patterns.db

SQLite 데이터베이스 경로

ENABLE_HYBRID_SEARCH

true

블렌디드 RAG 검색 활성화

ENABLE_GRAPH_AUGMENTATION

true

패턴 관계 탐색 활성화

EMBEDDING_COMPRESSION

true

차원 축소

ENABLE_FUZZY_LOGIC

true

퍼지 로직 결과 개선

ENABLE_TELEMETRY

true

성능 지표

ENABLE_MULTI_LEVEL_CACHE

true

L1 + L3 캐싱

MAX_CONCURRENT_REQUESTS

10

동시 요청 제한

CACHE_MAX_SIZE

1000

캐시 크기 제한

CACHE_TTL

3600000

캐시 TTL (밀리초)

TRANSPORT_MODE

stdio

전송 모드 (stdio/http)

HTTP_PORT

3000

HTTP 포트 (http 모드)

MCP_ENDPOINT

/mcp

MCP 엔드포인트 경로

HEALTH_CHECK_PATH

/health

상태 확인 경로

SKIP_DB_SETUP

false

데이터베이스 설정 건너뛰기

Docker 배포

빠른 시작

# 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

환경 변수

변수

기본값

설명

TRANSPORT_MODE

stdio

전송 모드 (stdio/http)

HTTP_PORT

3000

HTTP 포트 (http 모드)

MCP_ENDPOINT

/mcp

MCP 엔드포인트 경로

HEALTH_CHECK_PATH

/health

상태 확인 경로

DATABASE_PATH

/app/data/design-patterns.db

SQLite 데이터베이스 경로

LOG_LEVEL

info

로깅 레벨

SKIP_DB_SETUP

false

데이터베이스 설정 건너뛰기

엔드포인트 (HTTP 모드)

  • GET /health - 상태 확인

  • POST /mcp - MCP JSON-RPC 엔드포인트

명령어

# 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

테스트

이 프로젝트는 41개의 테스트 파일에 걸쳐 464개의 테스트 케이스를 포함하며 100% 통과율을 기록합니다:

  • 계약 테스트: MCP 프로토콜 준수 검증

  • 통합 테스트: 구성 요소 상호 작용 테스트

  • 성능 테스트: 검색 및 벡터화 벤치마크

  • 단위 테스트: 개별 구성 요소 테스트

# 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

아키텍처 패턴

이 프로젝트는 문서화된 패턴을 직접 구현합니다:

패턴

구현

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

기여

기여를 환영합니다! PR을 제출하기 전에 기여 가이드라인을 읽어주세요.

  1. 저장소 포크

  2. 기능 브랜치 생성

  3. SOLID 원칙에 따라 변경 사항 적용

  4. 테스트 및 린팅 실행

  5. 풀 리퀘스트 제출

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE를 참조하세요.

리소스


버전: 0.4.4
최종 업데이트: 2026년 2월
패턴: 685개 이상 (750개 이상의 JSON 파일)
테스트: 464개 테스트 케이스 | 100% 통과율

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