Token导航 LogoToken导航

MCP Server · 开发工具

Pattern Police MCP

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

stdio官方级别未说明来源级核验工具 10@modelcontextprotocol/inspector
代码质量TypeScriptClaude

快速开始

作者 / 组织
cmiretf
提供方
cmiretf
运行时
Node.js

工具数量

10

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Pattern Police MCP 属于开发工具类 MCP Server,公开资料标注 10 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

npx @modelcontextprotocol/inspector pattern-police

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 10 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

模式警察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服务器!

工具与能力

工具数量

10

资源数量

0

提示词数量

0

能力标签

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

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 工具数量 10 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Pattern Police MCP

MCP World · 本页

10stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Pattern Police MCP 怎么安装?

公开资料给出的安装命令是 npx @modelcontextprotocol/inspector pattern-police,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Pattern Police MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Pattern Police MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Pattern Police MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Pattern Police MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP