高级思维MCP
MCP(模型上下文协议)服务器,复制高级开发人员的心态。提供工具、资源和提示,以引导人工智能代理(Cursor、Claude Desktop等)了解软件工程最佳实践。
哦?
高级心灵MCP作为一个 高级副驾驶 为您的人工智能代理。代理人不仅仅依赖于LLM的一般知识,还可以访问:
- 清洁守则和物体健美操原则 对于有根据的审查
- 框架公约 (lararal、nestjs、Vue 3、react 18)用于codigo习语
- 分析工具 架构,代码审查,重构和TDD
- 结构化模板 用于 SQL 架构、规划和分析决策
______________________________________________________________________
要求
- 码头工人 e Docker编写
- 欧点: >= 22(不使用 Docker)
______________________________________________________________________
快速入门
1.克隆或存储库
git clone
cd senior-mind-mcp2. 设置环境
cp .env.example .env编辑o .env 用你的名字:
DEVELOPER_NAME=SeuNome变量 DEVELOPER_NAME 自定义 MCP 生成的消息和模板。如果未设置, 则假设为“ 开发者 ” 。
3.执行com Docker
docker compose up -d这将启动两个服务:
| Servico | Descricao |
|---|---|
app | 伺服MCP(stdio)com热重新加载 |
inspector | MCP检查员UI em http://localhost:6274 |
4.MCP检验员测试
访问 http://localhost:6274 没有浏览器。声音可以:
- 工具选择并运行任何带有参数的工具
- 资源查看知识资源
- 提示调用提示符并填写参数以生成模板
______________________________________________________________________
测试
该项目遵循TDD(测试驱动开发),拥有超过220个测试,涵盖所有工具,资源和提示。
# Modo watch (re-executa ao salvar)
docker compose exec app npm test
# Execucao unica
docker compose exec app npm run test:runSem Docker:
npm test
npm run test:run______________________________________________________________________
可用组件
工具(11)
工具sao 代理执行的动作 自动检测到需要分析,修改或生成某些内容时。
| 工具 | 描述 | 参数 |
|---|---|---|
ping 检查 MCP 是否处于活动状态。 | ||
analyze_architecture 分析问题并提出架构选项(清洁架构,服务层,DDD),包括优缺点和建议。 problem, technology, context | ||
review_code 检查 Clean Code 和 Object Calisthenics 的代码,以确定严重程度和建议的违规行为。 code, language, focus | ||
suggest_refactoring 建议基于 Object Calisthenics 的 9 条规则进行重构,并提供 before/after 示例。 code, language, rules | ||
tdd_guide 引导红绿重构(TDD)循环,使用跨阶段审批门。 feature, phase, technology, code, test_code | ||
compare_sql 比较ORM与纯SQL的方法与性能分析 description, technology, tables, context | ||
plan_implementation 生成分阶段实施计划,包括对齐问题和 按阶段推荐人工智能剂 | feature, technology, requirements, team_context (可选) | |
detect_code_smells | 检测代码的气味按类别(注释、函数、通用、名称、所有):幻数、标志参数、特征嫉妒、上帝类、长方法、数据簇等。 | code, language, category |
validate_architecture 符合清洁架构层的有效性;报告无效的导入和建议 。 structure, technology, layer | ||
explain_principle | 原则词典(SRP、OCP、LSP、ISP、DIP、DRY、KISS、YAGNI、Demeter、Tell-Don't Ask、FIRST、SOLID):解释、解释、反解释 | principle, language, context (可选) |
资源(12)
资源sao a 被动知识库 代理人自动查询以证明其答案。
| 资源 | 种类 | 内容 |
|---|---|---|
| 干净代码 | senior-mind://references/clean-code | 原理、命名法、函数、错误策略、边界、CQS、涌现 |
| 干净的代码气味 | senior-mind://references/clean-code-smells | Code smells in 6 categories (注释, 函数, 一般, 名称, 测试) with example and correction |
| 坚实的原则 | senior-mind://references/solid-principles SRP,OCP,LSP,ISP,DIP在TypeScript和PHP中违反和修正 | |
| 清洁建筑 | senior-mind://references/clean-architecture | Camadas、重新定义依赖、用例、适配器、尖叫架构、谦逊对象 |
| 干净的架构模式 | senior-mind://references/clean-architecture-patterns | 存储库、网关、演示者、DTO、用例交互器、映射器、域事件 |
| 设计模式 | senior-mind://references/design-patterns | GoF无上下文清洁架构:工厂、构建器、适配器、策略、观察者、命令 |
| 目标健美操 | senior-mind://references/object-calisthenics | 9规则与违反和纠正的例子 |
| Laravel约定 | senior-mind://references/laravel-conventions | Eloquent、FormRequest、资源、服务模式、N+1 |
| NestJS模式 | senior-mind://references/nestjs-patterns | 模块、DI、DTO、管道、防护装置、拦截器、存储库 |
| TDD参考 | senior-mind://references/tdd-reference | Red-Green-Refactor,策略,指标,测试模式 |
| Vue 3模式 | senior-mind://references/vue-patterns | 组合API,脚本设置,可组合,reativade,性能 |
| 反应18模式 | senior-mind://references/react-patterns | 挂钩、定制挂钩、组件图案、记忆卡、悬架 |
提示(7)
提示sao 结构化模板 用户明确调用以启动引导对话。
| 提示 | 描述 | 论证 |
|---|---|---|
architecture-decision | Gera模板ADR(架构决策记录) | problem (强制性的) constraints (可选) |
tdd-cycle | 生成带检查列表的完整Red-Green-Refactor指南 | feature, technology |
code-review-backend | 后端模板反代码审查 | code, framework (laravel/nestjs) |
code-review-frontend | 前端模板代码审查 | code, framework (查看/反应) |
implementation-plan | 调查问卷 + 分阶段计划 按阶段推荐人工智能剂 | feature, context (可选), team_context (可选) |
sql-analysis | SQL查询深度分析 | query, context (可选) |
mentor-mode 指示代理NAO编写最终代码,直到完成清洁架构,清洁代码和TDD检查点。 feature, technology, complexity (可选) |
______________________________________________________________________
Modo导师
O提示 mentor-mode 引导代理人到 不要写最终代码 直到质量检查点完成。非常适合需要在部署前做出架构和设计决策的功能。
检查点:
- 建筑 分析 --Camadas(实体、用例、适配器、框架)、重新定义依赖关系、DIP
- Revisao清洁代码 — 名称约定、函数大小、错误处理、DRY/KISS/YAGNI
- 合同和接口(固态) --端口、DTO、SRP/OCP
- 测试策略(TDD) --用例场景、测试用例、订单实体→ 用例→ 适配器
- 几内亚实施 --前方的情况也是如此;TDD rigoroso e Object健美操不可重构
复杂度 : low (简化检查点), medium (完整) high (+权衡ADR)。
用法 : 调用o提示符 mentor-mode 使用特性和堆栈(laravel/nestjs/generic)。代理将收到包含5个检查点的模板,并且只需继续编码每个门。
______________________________________________________________________
人工智能代理推荐
一个工具 plan_implementation e o提示 implementation-plan 包括 建议在每个阶段使用哪种AI模型 计划(快速与高级),以优化成本而不损失质量。
按阶段逻辑 :
| 阶段 | 推荐代理人 | 原因 |
|---|---|---|
| 1.实体/建模 | 高级 | 域决策、属性、关系 |
| 2.存储库 | Rapido | 锅炉板预览版 |
| 3。服务/TDD | 高级 | 商业逻辑,测试中心,设计 |
| 4.API/控制器 | 快速 | 精细控制器、DTO、路径 — 机械标准 |
| 5.精炼 | 混合 | 分页/过滤器(快速);cache/performance(高级) |
平面上的每个阶段都显示 模型级别, 理由 e 使用DICA (如何指导代理人)计划结束时,一个 表摘要 按阶段整合建议。
参数 team_context (可选): 输入团队级别(例如:“初级团队,2名开发人员”)。对于经验较少的团队,MCP 可以推荐多阶段的高级模型(包括 Repository 和 API),以减少重复工作。
对齐问题 : 调查问卷包括“您正在使用哪个 IDE/人工智能代理?(Cursor、Claude Desktop、Copilot、其他)”来定制提示(例如,在 Cursor 中,使用代理模式执行高级任务)。
______________________________________________________________________
AI代理如何使用Senior Mind
资源 — 被动知识库
资源sao 自动读取 当他需要一个主题的背景时。代理查询资源就像内部文档一样。
实际使用示例:
- 当提示“检查此代码”时,代理阅读
senior-mind://clean-codeesenior-mind://object-calisthenics为了证明审查 - 在使用 Laravel 时,代理阅读
senior-mind://laravel-conventions运用正确的惯例 - 在讨论建筑时,代理阅读
senior-mind://clean-architecture作为参考
Tools — 代理执行的动作
工具sao 主动调用 当代理检测到需要执行分析或生成某些内容时。代理根据用户的请求自行决定使用哪个工具。
实际使用示例:
- 用户:“分析支付模块的架构” → 代理调用
analyze_architecture - 用户:“检查此代码”→Chama代理
review_code与代码 - Usuario:“检测代码闻起来是neste trecho”→ 查马探员
detect_code_smells(按类别) - 用户:“如果此结构尊重清洁架构,则有效” → 代理调用
validate_architecture - 用户:“在TypeScript中解释SRP原则” → 代理调用
explain_principle - 用户:“Sugira Refatoracoes for this class”→查马特工
suggest_refactoring - 用户:“我引导没有TDD来提高用户的UM端点”→Chama代理
tdd_guidecomphase="red" - 用户:“比较此查询的ORM与SQL”→Chama代理
compare_sql - 用户:“为此功能创建部署计划” → 代理调用
plan_implementation(按阶段推荐代理)
提示符-用户调用的模板
提示sao 明确发票 用户(通过 Cursor 中的提示菜单或 Claude 中的斜线命令)。与工具不同,提示符生成一个 结构化模板 开始引导对话。
如何访问:
- 光标在 MCP 面板中的“提示”选项卡,或键入
/没有聊天 - 克劳德桌面:剪辑图标(anexar)→ “选择集成”
实际使用示例:
- 选择
code-review-backend普里恩查codeeframework: laravel获得完整的审查清单 - 选择
architecture-decision普里恩查problem接收ADR模板 - 选择
implementation-plan普里恩查feature→接收调查问卷+分阶段计划,并按阶段推荐人工智能代理 - 选择
mentor-mode普里恩查featureetechnology→ 在编码前接收5个检查点(架构,清洁代码,SOLID,TDD,实现) - 选择
sql-analysis普里恩查query→获取完整的SQL分析模板
典型的混合使用流程
实际工作会议示例:
1. Invoque o prompt `implementation-plan` para "Modulo de autenticacao JWT"
→ Receba questionario + plano faseado
2. Peca ao agente para analisar a arquitetura
→ Agente chama tool `analyze_architecture` e le resource `clean-architecture`
3. Documente a decisao com prompt `architecture-decision`
→ Receba template ADR preenchido
4. Inicie TDD com prompt `tdd-cycle` para a primeira fase
→ Receba guia Red-Green-Refactor
5. Durante o codigo, peca revisao
→ Agente chama tool `review_code` (consultando resources de Clean Code)
6. Apos implementar, peca sugestoes de refatoracao
→ Agente chama tool `suggest_refactoring`______________________________________________________________________
配置无光标
添加到文件 .cursor/mcp.json 您的项目或全局配置:
Docker(推荐):
在使用 MCP(或更改源代码)之前,请编译项目以生成 dist/:
cd /caminho/para/senior-mind-mcp
docker compose run --rm app npx tsc然后,将光标配置为通过 Docker 使用 MCP:
{
"mcpServers": {
"senior-mind": {
"command": "docker",
"args": ["compose", "-f", "/caminho/para/senior-mind-mcp/docker-compose.yml", "exec", "-T", "app", "node", "dist/index.js"]
}
}
}没有Docker(直接使用Node.js):
{
"mcpServers": {
"senior-mind": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "/caminho/para/senior-mind-mcp",
"env": {
"DEVELOPER_NAME": "SeuNome"
}
}
}
}配置无克劳德桌面
编辑 Claude 桌面配置文件 (claude_desktop_config.json):
{
"mcpServers": {
"senior-mind": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "/caminho/para/senior-mind-mcp",
"env": {
"DEVELOPER_NAME": "SeuNome"
}
}
}
}______________________________________________________________________
技能、子代理和工作流
Senior Mind MCP包括 可复制标准 技能(光标)、子代理和工作流程(Claude Code/其他),以协调MCP的日常使用。 对复杂性(复杂/中位数/简单)进行分类的人始终是用户; 代理只是询问并应用流。
默认规则
- 总是问复杂性在开始实施或规划时,代理会询问:“这个任务是复杂的,中等的还是简单的?”并等待用户的答案。
- TDD+条件导师模式:SE或用户Disser 复杂或中位数 → TDD + Mentor模式是强制性的。如果说 简单 → 可选(询问是否要使用)。
- 实施计划无修改计划当处于计划模式时,请使用计划工作流程(具有复杂性问题)。
无光标(自然技能)
该项目已包括在 .cursor/:
- 规则:
use-senior-mind-mcp.mdc,ask-complexity-first.mdc,tdd-conditional.mdc - 技能:
code-review,architecture-advisor,tdd-workflow,implementation-planning,sql-advisor - 代理:
.cursor/agents/AGENTS.mdcom configuracao dos 5个子代理(代码审查、架构、TDD、实施计划、重构)
规则会自动执行;技能在相关时由代理人发现。
在Claude Code和其他代理商
对于没有本机技能的代理,请使用文件夹 .senior-mind/:
- 工作流程:副本o conteudo
workflows/CONDITIONAL-TDD-WORKFLOW.md或workflows/CONDITIONAL-PLANNING.md在谈话的开始,根据背景。 - Opcionais工作流:
code-review-workflow.md,architecture-workflow.md,sql-workflow.md - 说明: 查看
.senior-mind/README.md
复制到另一个工程
将此模式引入项目(例如:您的 API 或前端):
# Do diretorio senior-mind-mcp
./copy-senior-mind-patterns.sh /caminho/para/seu-projeto这复制 .cursor/rules, .cursor/skills, .cursor/agents e .senior-mind/ 目标项目。然后,在项目中配置 Senior Mind MCP(mcp.json 或全局配置),并正常使用。
______________________________________________________________________
Integracao com上下文7
Senior Mind可以与 上下文7 MCP 对位:
- 文档已更新Context7搜索框架(Laravel,NestJS,Vue,React)的实时文档,而Senior Mind提供惯例和最佳实践
- 互补性:O高级心灵 *怎么* 写好代码;Context7 提供文档 *已更新* 每个框架
设置 Context7
无光标 — 添加到 .cursor/mcp.json (与Senior Mind一起):
{
"mcpServers": {
"senior-mind": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "/caminho/para/senior-mind-mcp",
"env": { "DEVELOPER_NAME": "SeuNome" }
},
"context7": {
"url": "https://mcp.context7.com/mcp"
}
}
}无克劳德桌面 — 添加到 claude_desktop_config.json:
{
"mcpServers": {
"senior-mind": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "/caminho/para/senior-mind-mcp",
"env": { "DEVELOPER_NAME": "SeuNome" }
},
"context7": {
"url": "https://mcp.context7.com/mcp"
}
}
}如何一起使用两者
添加 use context7 提示代理在 Context7 中查找最新的文档,而 Senior Mind 则应用最佳实践:
Crie um endpoint de autenticacao JWT no NestJS. use context7
→ O Context7 busca a documentacao atual do NestJS e JWT
→ O Senior Mind aplica Clean Architecture, SOLID e convencoes NestJS
→ O agente combina ambos para gerar codigo idiomatico e bem estruturado______________________________________________________________________
项目结构
senior-mind-mcp/
├── .cursor/ # Padrao para Cursor (rules, skills, agents)
│ ├── rules/
│ │ ├── use-senior-mind-mcp.mdc
│ │ ├── ask-complexity-first.mdc
│ │ └── tdd-conditional.mdc
│ ├── skills/
│ │ ├── code-review/
│ │ ├── architecture-advisor/
│ │ ├── tdd-workflow/
│ │ ├── implementation-planning/
│ │ └── sql-advisor/
│ └── agents/
│ └── AGENTS.md
├── .senior-mind/ # Padrao para Claude Code/outros (workflows)
│ ├── workflows/
│ │ ├── CONDITIONAL-TDD-WORKFLOW.md
│ │ ├── CONDITIONAL-PLANNING.md
│ │ ├── code-review-workflow.md
│ │ ├── architecture-workflow.md
│ │ └── sql-workflow.md
│ └── README.md
├── copy-senior-mind-patterns.sh # Script para replicar padrao em outros projetos
├── src/
│ ├── index.ts # Entry point (stdio transport)
│ ├── server.ts # Criacao do McpServer e registro de componentes
│ ├── config.ts # Configuracao via .env
│ ├── tools/
│ │ ├── index.ts # Registro de todas as tools
│ │ ├── ping.ts
│ │ ├── analyze-architecture.ts
│ │ ├── review-code.ts
│ │ ├── suggest-refactoring.ts
│ │ ├── tdd-guide.ts
│ │ ├── compare-sql.ts
│ │ ├── plan-implementation.ts
│ │ ├── detect-code-smells.ts
│ │ ├── validate-architecture.ts
│ │ └── explain-principle.ts
│ ├── resources/
│ │ ├── index.ts # Registro de todos os resources
│ │ ├── clean-code.ts
│ │ ├── clean-code-smells.ts
│ │ ├── solid-principles.ts
│ │ ├── clean-architecture.ts
│ │ ├── clean-architecture-patterns.ts
│ │ ├── design-patterns.ts
│ │ ├── object-calisthenics.ts
│ │ ├── laravel-conventions.ts
│ │ ├── nestjs-patterns.ts
│ │ ├── tdd-reference.ts
│ │ ├── vue-patterns.ts
│ │ └── react-patterns.ts
│ └── prompts/
│ ├── index.ts # Registro de todos os prompts
│ ├── architecture-decision.ts
│ ├── tdd-cycle.ts
│ ├── code-review-backend.ts
│ ├── code-review-frontend.ts
│ ├── implementation-plan.ts
│ ├── sql-analysis.ts
│ └── mentor-mode.ts
├── tests/
│ ├── config.test.ts
│ ├── server.test.ts
│ ├── tools/
│ │ ├── ping.test.ts
│ │ ├── analyze-architecture.test.ts
│ │ ├── review-code.test.ts
│ │ ├── suggest-refactoring.test.ts
│ │ ├── tdd-guide.test.ts
│ │ ├── compare-sql.test.ts
│ │ ├── plan-implementation.test.ts
│ │ ├── detect-code-smells.test.ts
│ │ ├── validate-architecture.test.ts
│ │ └── explain-principle.test.ts
│ ├── resources/
│ │ ├── fundamentals.test.ts
│ │ ├── backend.test.ts
│ │ ├── frontend.test.ts
│ │ ├── clean-code-advanced.test.ts
│ │ └── clean-architecture-advanced.test.ts
│ └── prompts/
│ ├── architecture-tdd.test.ts
│ ├── code-review.test.ts
│ ├── planning-sql.test.ts
│ └── mentor-mode.test.ts
├── docker-compose.yml
├── Dockerfile
├── package.json
├── tsconfig.json
├── vitest.config.ts
└── .env______________________________________________________________________
如何扩展
该设计遵循模块化标准 register(server)若要添加新组件:
添加新工具
- 创建
src/tools/minha-tool.ts:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
export function register(server: McpServer): void {
server.tool(
"minha_tool",
"Descricao clara do que a tool faz",
{
argumento: z.string().describe("O que este argumento espera"),
},
async ({ argumento }) => ({
content: [{ type: "text", text: `Resultado: ${argumento}` }],
})
);
}- 注册
src/tools/index.ts:
import { register as minhaTool } from "./minha-tool.js";
// ... dentro de registerAllTools:
minhaTool(server);- 创建测试
tests/tools/minha-tool.test.ts:
import { describe, it, expect, beforeEach } from "vitest";
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
import { createServer } from "../../src/server.js";
describe("minha_tool", () => {
let client: Client;
beforeEach(async () => {
const server = createServer();
const [clientTransport, serverTransport] =
InMemoryTransport.createLinkedPair();
await server.connect(serverTransport);
client = new Client({ name: "test-client", version: "1.0.0" });
await client.connect(clientTransport);
});
it("deve retornar o resultado esperado", async () => {
const result = await client.callTool({
name: "minha_tool",
arguments: { argumento: "teste" },
});
const text = (result.content as Array)[0].text;
expect(text).toContain("Resultado: teste");
});
});添加新资源
- 创建
src/resources/meu-resource.ts:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
const CONTEUDO = `# Titulo do Resource
Conteudo em markdown...
`;
export function register(server: McpServer): void {
server.resource(
"meu-resource",
"senior-mind://meu-resource",
{ description: "Descricao do resource" },
async () => ({
contents: [
{
uri: "senior-mind://meu-resource",
text: CONTEUDO,
mimeType: "text/markdown",
},
],
})
);
}- 注册
src/resources/index.ts:
import { register as meuResource } from "./meu-resource.js";
// ... dentro de registerAllResources:
meuResource(server);添加新提示符
- 创建
src/prompts/meu-prompt.ts:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
export function register(server: McpServer): void {
server.prompt(
"meu-prompt",
"Descricao do que o prompt gera",
{
argumento: z.string().describe("O que este argumento espera"),
},
({ argumento }) => ({
messages: [
{
role: "user" as const,
content: {
type: "text" as const,
text: `Template gerado para: ${argumento}`,
},
},
],
})
);
}- 注册
src/prompts/index.ts:
import { register as meuPrompt } from "./meu-prompt.js";
// ... dentro de registerAllPrompts:
meuPrompt(server);会议
- 档案名称:烤肉串箱(
minha-tool.ts) - 工具名称:蛇病例(
minha_tool) - 资源/提示名称:烤肉串箱(
meu-prompt) - 资源URI:
senior-mind://nome-do-resource - 测试: 相同的后缀模块名称
.test.ts组织成镜像文件夹 - 每个组件做一件事 (单一职责)
______________________________________________________________________
可观察性
K8s/ NAO 后端的日志和配置默认包含在此工程中 。如有必要,可以根据明确要求添加。
______________________________________________________________________
Liceca
麻省理工学院
