Token导航 LogoToken导航TokenDH.com
Pattern Police MCP logo
开发工具stdio官方级别未说明来源级核验

Pattern Police MCP

MCP Server

@modelcontextprotocol/inspector

Pattern Police MCP Server 是一个用于验证 TypeScript/JavaScript、Java 和 Vue.js 代码中设计模式的工具,支持检测50多种设计模式、SOLID原则和代码异味。

工具数

10

提示词数

0

GitHub Stars

1

资源数

0
代码质量TypeScriptClaudeClaude

安装说明

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

作者 / 组织

cmiretf

提供方

cmiretf

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector pattern-police

详细介绍

模式警察MCP服务器🚓

一个模型上下文协议(MCP)服务器,用于验证TypeScript/JavaScript、Java和Vue.js代码中的设计模式。在Java中检测50多种GoF、Enterprise J2EE和Modern模式,并在所有支持的语言中验证SOLID原则、命名约定和代码气味。

🚀 快速开始

安装

通过npm全局安装:

npm install -g @cmiretf/pattern-police-mcp

或者添加到您的项目中:

npm install @cmiretf/pattern-police-mcp

用法

与MCP检查员一起

以交互方式测试服务器:

npm install -g @cmiretf/pattern-police-mcp
npx @modelcontextprotocol/inspector pattern-police

或者,如果在本地安装:

npx @modelcontextprotocol/inspector node node_modules/pattern-police-mcp/dist/index.js

使用Claude桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "pattern-police": {
      "command": "npx",
      "args": ["-y", "@cmiretf/pattern-police-mcp"]
    }
  }
}

或者使用本地安装:

{
  "mcpServers": {
    "pattern-police": {
      "command": "node",
      "args": ["/path/to/node_modules/pattern-police-mcp/dist/index.js"]
    }
  }
}

使用Visual Studio代码/光标

添加到您的 mcp.json:

{
  "servers": {
    "pattern-police": {
      "command": "npx",
      "args": ["-y", "@cmiretf/pattern-police-mcp"]
    }
  }
}

或者使用本地安装:

{
  "mcpServers": {
    "pattern-police": {
      "command": "node",
      "args": ["/path/to/node_modules/pattern-police-mcp/dist/index.js"]
    }
  }
}

🎯 特性

Types/JavaScript验证

  • 命名规范:PascalCase表示类,camelCase表示函数,UPPER_CASE表示常量
  • 坚实的原则:检测长函数、太多参数和上帝类
  • 代码异味:标识重复代码、未使用的变量、缺少注释

Java模式检测(50+模式)

  • GoF模式(23):Singleton、Factory、Observer、Strategy等
  • 企业级J2EE(15+):DAO、DTO、服务定位器、MVC等
  • 现代图案(6+):知识库、CQRS、活动采购等

Vue.js模式检测(30+模式)

  • 视图3可组合:useCounter、useAuth、可组合模式
  • 零部件阵列:提供/注入、远程传输、悬架
  • 反模式:反应性不正确,生命周期使用不正确
  • 最佳实践:组成API,正确的类型,性能模式

📖 可用的MCP工具

Types/JavaScript工具

validate_code

根据配置的模式验证TypeScript/JavaScript代码。

参数:

  • code (string):要验证的代码
  • filename (字符串,可选):文件名以获得更好的上下文

例子:

{
  "code": "class myClass { ... }",
  "filename": "example.ts"
}

validate_file

验证文件系统中的特定文件。

参数:

  • filepath (string):要验证的文件的路径

list_patterns

列出所有已配置的模式和规则。

get_violations

获取常见违规行为和建议的摘要。

参数:

  • severity (字符串,可选):按“警告”、“错误”或“信息”筛选

Java工具

validate_java_code

检测Java代码中的50多种设计模式。

参数:

  • code (string):要分析的Java代码
  • filename (字符串,可选):文件名

例子:

{
  "code": "public class DatabaseConnection { private static final DatabaseConnection INSTANCE = new DatabaseConnection(); ... }",
  "filename": "DatabaseConnection.java"
}

validate_java_file

从文件系统检测Java文件中的模式。

参数:

  • filepath (string):Java文件(.Java)的路径

list_java_patterns

列出所有50多种配置的Java模式(GoF、Enterprise、Modern)。

JAVA_PATTERNS.md 查看检测到的模式的完整列表。

Vue.js工具

validate_vue_code

检测30多种Vue.js模式和最佳实践。

参数:

  • code (string):要分析的Vue SFC代码
  • filename (字符串,可选):文件名

validate_vue_file

从文件系统检测Vue文件中的模式。

参数:

  • filepath (string):Vue文件的路径(.Vue)

list_vue_patterns

列出所有30多个已配置的Vue.js模式。

VUE_PATTERNS.md 查看检测到的模式的完整列表。

⚙️ 配置

Pattern Police使用配置文件进行自定义:

  • pattern-police.config.json -Types/JavaScript规则
  • java-patterns.config.json -Java模式定义
  • vue-patterns.config.json -Vue.js模式定义

默认配置

Types/JavaScript:

  • 命名:PascalCase(类)、camelCase(函数/变量)、UPPER_CASE(常量)
  • SOLID:最多50行/函数,10个方法/类,5个参数/函数
  • 代码异味:检测重复、长方法、上帝类、死代码

Java

  • 检测所有23种GoF模式
  • 检测15种以上的企业J2EE模式
  • 检测6+种现代建筑模式

Vue.js:

  • 检测组合API模式
  • 验证组件最佳实践
  • 识别反模式和代码气味

📋 验证示例

✅ 好的代码

class UserService {
  getUserData(userId: string): User {
    return this.repository.find(userId);
  }
}

const MAX_RETRIES = 3;

⚠️ 警告

// ⚠️ Naming: class should use PascalCase
class userService {}

// ⚠️ SOLID: too many parameters
function createUser(name, email, age, address, phone, country) {}

// ⚠️ Code Smell: unused variable
const unusedVar = 42;

🛠️ 发展

先决条件

  • Node.js 18+
  • npm或纱线

设置

# Clone the repository
git clone 
cd pattern-police-mcp

# Install dependencies
npm install

# Build the project
npm run build

开发命令

# Development with auto-reload
npm run dev

# Build TypeScript
npm run build

# Run built version
npm start

# Test with MCP Inspector (built version)
npm run inspect

# Test with MCP Inspector (dev version)
npm run inspect:dev

项目结构

├── src/
│   ├── index.ts                         # Main MCP server
│   ├── types.ts                         # TypeScript/JavaScript types
│   ├── types-java.ts                    # Java types
│   ├── types-vue.ts                     # Vue.js types
│   └── validators/
│       ├── PatternValidator.ts          # TS/JS validator (AST)
│       ├── JavaPatternValidator.ts      # Java validator (CST)
│       └── VuePatternValidator.ts       # Vue.js validator (SFC)
├── examples/
│   ├── JavaPatterns/                    # Java pattern examples
│   └── VuePatterns/                     # Vue.js pattern examples
├── dist/                                # Compiled output
└── *.config.json                        # Configuration files

🧪 测试

使用MCP检查器交互式测试服务器:

npm run inspect

这将打开检查器 http://localhost:6274 您可以在哪里:

  • 使用不同参数测试所有MCP工具
  • 查看实时服务器日志
  • 验证来自的示例代码 examples/ 目录
  • 尝试不同的严重程度和配置

🔗 集成示例

Git挂钩

添加到 .git/hooks/pre-commit:

#!/bin/bash
# Validate staged files before commit
npx pattern-police-mcp validate-files $(git diff --cached --name-only)

CI/CD

# GitHub Actions example
- name: Validate Code Patterns
  run: |
    npm install -g @cmiretf/pattern-police-mcp
    pattern-police validate-all

📚 文档

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📝 许可证

该项目根据 MIT许可证 -允许您自由使用、修改和分发此软件的开源许可证。

这意味着:

  • 免费使用:您可以在任何项目中使用此软件,无论是商业还是个人
  • 开源:源代码是公开的,可以检查、修改和改进
  • 自由修改:您可以调整代码以满足您的特定需求
  • 分发:您可以共享原始版本或修改后的版本
  • 私人使用:您可以在不披露源代码的情况下在专有项目中使用它

许可证文本

版权所有(c)2026 Carlos Miret Fiuza

特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:

上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。

软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。

🔍 严重程度级别

  • 错误:应阻止提交的关键问题
  • 警告:重要模式违规(命名、SOLID)
  • 信息:改进建议(重复、评论)

💡 用例

  • 提交前验证:在模式违规到达回购之前将其捕获
  • 代码审查:PR中的自动模式检测
  • 学习工具:通过检测了解设计模式
  • 重构辅助:确定需要改进的领域
  • 团队标准:在团队中强制实施一致的编码模式

🌟 支持的语言

  • Types/JavaScript(ES6+)
  • Java(8+)
  • Vue.js(2.x和3.x)

______________________________________________________________________

👤 作者

该项目由以下人员开发和维护 卡洛斯 米雷特 菲乌扎.\ 欢迎在LinkedIn上联系,以获取合作、建议或任何与以下内容相关的问题 模式警察MCP服务器!

目录标签

目录标签

代码质量TypeScriptClaude代码验证本地部署设计模式检测静态代码分析开发工具

支持客户端

Claude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP