Skip to main content
Glama
apolosan

Design Patterns MCP Server

by apolosan

MCP-сервер шаблонов проектирования

Version License: MIT Test Status Patterns TypeScript

Интеллектуальный сервер MCP (Model Context Protocol), предоставляющий рекомендации по шаблонам проектирования с использованием гибридного поиска (семантический + ключевые слова + дополнение графами). Получите доступ к 685+ шаблонам проектирования в более чем 90 категориях через интерфейс на естественном языке с использованием передовой архитектуры смешанного RAG.

Быстрый старт

# 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

Функции

Функция

Описание

Гибридный поисковый движок

Смешанный RAG, объединяющий семантический поиск, поиск по ключевым словам (TF-IDF) и поиск с дополнением графами

685+ шаблонов

Обширный каталог, охватывающий 12 основных категорий

Интеграция с MCP

Бесшовная интеграция с Claude, Cursor и другими MCP-клиентами

Многоуровневое кэширование

L1 в памяти + L3 кэш SQLite с частотой попаданий 95%+

Система шины событий

Развязанное взаимодействие сервисов через pub/sub

Телеметрия и состояние

Метрики производительности в реальном времени и мониторинг системы

Архитектура SOLID

Чистая, поддерживаемая кодовая база, следующая лучшим практикам

Готовность к продакшену

464 тест-кейса со 100% успешным прохождением

Доступные категории шаблонов

Категория

Количество

Примеры

Классические шаблоны GoF

34

Фабрика, Строитель, Наблюдатель, Стратегия, Команда

Архитектурные шаблоны

56

MVC, Чистая архитектура, Гексагональная, DDD

Микросервисы и облака

39

Автоматический выключатель, Сага, Сервисная сетка

Инженерия данных

54

Репозиторий, CQRS, Event Sourcing

ИИ/ML и MLOps

46

RAG, Дообучение, Сжатие моделей

Шаблоны React

27

Хуки, Серверные компоненты, Производительность

Блокчейн и Web3

115

DeFi, NFT, Смарт-контракты, MEV

Параллелизм и реактивность

45

Производитель-потребитель, Модель акторов

Безопасность

21

OAuth, RBAC, Нулевое доверие

Функциональное программирование

26

Монады, Функторы, Функции высшего порядка

Архитектура

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

Скрипт prepare в package.json требует 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"
      }
    }
  }
}

Важно: Используйте абсолютные пути как для args, так и для DATABASE_PATH. MCP-клиенты, такие как Cursor, не поддерживают поле 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

Время жизни кэша в миллисекундах

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

Тестирование

Проект включает 464 тест-кейса в 41 файле тестов со 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

Архитектурные шаблоны

Этот проект реализует шаблоны, которые он документирует:

Шаблон

Реализация

Репозиторий

repositories/pattern-repository.ts

Уровень сервиса

services/pattern-service.ts

Пул объектов

services/statement-pool.ts

Внедрение зависимостей

core/container.ts

Стратегия

strategies/search-strategy.ts

Шина событий

events/event-bus.ts

Многоуровневый кэш

services/multi-level-cache.ts

Строитель

core/config-builder.ts

Вклад в проект

Мы приветствуем ваш вклад! Пожалуйста, ознакомьтесь с нашими правилами участия перед отправкой PR.

  1. Сделайте форк репозитория

  2. Создайте ветку для функции

  3. Внесите изменения, следуя принципам SOLID

  4. Запустите тесты и линтинг

  5. Отправьте запрос на слияние (pull request)

Лицензия

Лицензия MIT - подробности см. в LICENSE.

Ресурсы


Версия: 0.4.4
Последнее обновление: Февраль 2026
Шаблоны: 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