Token导航 LogoToken导航TokenDH.com
Design Patterns MCP Server logo
AI代理stdio官方级别未说明来源级核验

Design Patterns MCP Server

MCP Server

tsc

一个智能的MCP服务器,通过混合搜索(语义+关键词+图增强)提供设计模式推荐,支持705+种设计模式,90+类别,并具备自然语言查询接口。

工具数

5

提示词数

0

GitHub Stars

23

资源数

0
TypeScriptClaude混合搜索Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

apolosan

提供方

apolosan

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx tsc

详细介绍

MCP服务器设计模式

](https://github.com/apolosan/design_patterns_mcp) ![License: MIT](https://opensource.org/licenses/MIT) ![Test Status](#testing) ![Patterns](#available-pattern-categories) ![TypeScript](https://www.typescriptlang.org/)

智能MCP(模型上下文协议)服务器,使用混合搜索(语义+关键字+图增强)提供设计模式建议。访问 705+设计图案 通过具有高级混合RAG架构的自然语言界面,跨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等)中进行配置,并开始通过自然语言查询发现模式。

工具和建筑卫生

  • 使用 包子 作为此存储库的规范包管理器(bun install 仅)。锁文件是 bun.lock.
  • 从不复制 .git 目录进入 dist/data (或把它运进去 dist/).该路径必须保持为纯数据目录,以避免数GB的图像和元数据泄漏。

特性

特性描述
混合搜索引擎结合语义、关键字(TF-IDF)和图增强检索的混合RAG
705+图案涵盖12个主要类别的全面目录(包括 功能开关 /功能切换,实现渐进式交付和实验)
MCP集成与Claude、Cursor和其他MCP客户端无缝集成
多级缓存L1内存+L3 SQLite缓存,命中率超过95%
事件总线系统通过发布/订阅进行解耦服务通信
遥测与健康实时性能指标和系统监控
固态架构遵循最佳实践的干净、可维护的代码库
生产就绪525个测试用例,通过率100%

可用图案类别

类别计数示例
经典GoF图案34工厂、建设者、观察者、战略、指挥
结构模式56MVC、简洁架构、六边形、DDD、, 功能开关
微服务和云39断路器,佐贺,维修网
数据工程54知识库、CQRS、活动采购
AI/ML和MLOps46RAG、微调、模型压缩
反应模式27挂钩、服务器组件、性能
区块链oby;web。3115DeFi、NFT、智能合约、MEV
并发性和反应性45生产者消费者,演员模特
安全21OAuth、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/              # 705+ JSON pattern definitions (see `feature-flag.json`)
└── 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"
      }
    }
  }
}
重要提示: 对两者都使用绝对路径 argsDATABASE_PATH.MCP客户端(如Cursor)不可靠地支持 cwd 字段,因此相对路径针对用户的主目录而不是项目目录进行解析。看 QUICKSTART.md 用于客户端特定的配置示例。

环境变量

变量默认值描述
LOG_LEVELinfo日志记录级别(调试、信息、警告、错误)
DATABASE_PATH./data/design-patterns.dbSQLite数据库路径
ENABLE_HYBRID_SEARCHtrue启用混合RAG搜索
ENABLE_GRAPH_AUGMENTATIONtrue启用模式关系遍历
EMBEDDING_COMPRESSIONtrue尺寸减小
ENABLE_FUZZY_LOGICtrue模糊逻辑结果细化
ENABLE_TELEMETRYtrue性能指标
ENABLE_MULTI_LEVEL_CACHEtrueL1+L3缓存
MAX_CONCURRENT_REQUESTS10请求并发限制
CACHE_MAX_SIZE1000缓存大小限制
CACHE_TTL3600000缓存TTL(毫秒)
TRANSPORT_MODEstdio传输模式(stdio/http)
HTTP_PORT3000HTTP端口(HTTP模式)
MCP_ENDPOINT/mcpMCP端点路径
HEALTH_CHECK_PATH/health健康检查路径
SKIP_DB_SETUPfalse跳过数据库设置

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_MODEstdio传输模式(stdio/http)
HTTP_PORT3000HTTP端口(HTTP模式)
MCP_ENDPOINT/mcpMCP端点路径
HEALTH_CHECK_PATH/health健康检查路径
DATABASE_PATH/app/data/design-patterns.dbSQLite数据库路径
LOG_LEVELinfo日志记录级别
SKIP_DB_SETUPfalse跳过数据库设置

端点(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

测试

该项目包括 44个测试文件中的525个测试用例 通过率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. 提交拉取请求

许可证

MIT许可证-请参阅 许可证 了解详情。

资源

______________________________________________________________________

版本: 0.5.1\ 最后更新2026年5月\ 模式:705+JSON定义(突出显示: 功能开关 /功能切换)\ 测试:525个测试用例| 100%通过率

目录标签

目录标签

TypeScriptClaude混合搜索设计模式本地部署自然语言接口MCP集成代码架构

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

local-only

来源包(packageName,安装包名)

tsc

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauthlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP