MCPatterns
Um servidor para armazenar e recuperar padrões de codificação personalizados de um arquivo JSONL local.
Documentação
MCPatterns
MCPatterns é um servidor Model Context Protocol (MCP) que permite aos usuários salvar e recuperar padrões de codificação personalizados. Ele ajuda LLMs a aprender como um indivíduo codifica, armazenando padrões estruturados categorizados por tecnologia, caso de uso e estilo.
🧠 Propósito
Este servidor atua como uma camada de memória persistente para agentes LLM, permitindo que eles referenciem os estilos, padrões e convenções de codificação preferidos do usuário. Ele suporta:
- Geração de código personalizada com base em padrões armazenados
- Refatoração consistente seguindo as preferências do usuário
- Sugestões conscientes de estilo usando padrões familiares
- Memória de longo prazo de práticas de codificação entre sessões
🧩 Integração MCP
MCPatterns segue a especificação Model Context Protocol, fornecendo ferramentas para criar, ler, atualizar e excluir padrões de codificação. Ele usa armazenamento JSONL (JSON delimitado por nova linha) para operações atômicas e consistência de dados.
🗂 Esquema de Padrão
interface Pattern {
name: string; // Unique identifier
category: string; // e.g., "Backend", "Frontend", "Database"
description: string; // What this pattern does
use_cases: string[]; // When to use this pattern
technologies: string[]; // Languages, frameworks, libraries
code_examples: { [language: string]: string }; // Code samples by language
}
Exemplo de Padrão
{
"name": "Error Handling Middleware",
"category": "Backend",
"description": "Express middleware for consistent error handling with structured responses",
"use_cases": ["API development", "Middleware composition", "Error standardization"],
"technologies": ["Node.js", "Express", "TypeScript"],
"code_examples": {
"JavaScript": "app.use((err, req, res, next) => {\n console.error(err.stack);\n res.status(500).json({ error: 'Something went wrong!' });\n});",
"TypeScript": "app.use((err: Error, req: Request, res: Response, next: NextFunction) => {\n console.error(err.stack);\n res.status(500).json({ error: 'Something went wrong!' });\n});"
}
}
🔧 Ferramentas Disponíveis
MCPatterns fornece as seguintes ferramentas MCP:
create_patterns
Crie vários novos padrões de codificação no banco de dados.
Entrada:
{
"patterns": [Pattern, ...]
}
add_code_examples
Adicione novos exemplos de código a padrões existentes.
Entrada:
{
"additions": [
{
"patternName": "string",
"examples": { "language": "code" }
}
]
}
delete_patterns
Exclua vários padrões pelo nome.
Entrada:
{
"patternNames": ["pattern1", "pattern2"]
}
delete_code_examples
Remova exemplos de código específicos de padrões.
Entrada:
{
"deletions": [
{
"patternName": "string",
"languages": ["JavaScript", "TypeScript"]
}
]
}
read_patterns
Recupere todos os padrões armazenados.
Entrada: Nenhuma
search_patterns
Pesquise padrões por consulta em todos os campos.
Entrada:
{
"query": "search term"
}
open_patterns
Recupere padrões específicos pelo nome.
Entrada:
{
"names": ["pattern1", "pattern2"]
}
🗄 Armazenamento
MCPatterns usa formato JSONL (JSON delimitado por nova linha) para armazenamento de dados:
- Localização do arquivo: Configurável via variável de ambiente
PATTERNS_FILE_PATH - Localização padrão:
patterns.jsonno diretório do servidor - Formato: Cada linha contém um objeto JSON com
type: "pattern" - Operações atômicas: Reescrita completa do arquivo garante consistência dos dados
🚀 Primeiros Passos
Instalação
git clone https://github.com/nicholasrubright/mcpatterns.git
cd mcpatterns
pnpm install
Desenvolvimento
pnpm run dev
Compilação
pnpm run build
Execução
pnpm start
# or
mcpatterns
🔧 Configuração
Variáveis de Ambiente
PATTERNS_FILE_PATH: Caminho personalizado para o arquivo do banco de dados de padrões- Pode ser um caminho absoluto ou relativo ao diretório do script
- O padrão é
patterns.jsonno diretório do servidor
Integração com Claude Desktop
Adicione ao seu claude_desktop_config.json:
{
"mcpServers": {
"mcpatterns": {
"command": "npx",
"args": ["-y", "@mcpatterns/server"]
}
}
}
Com Caminho de Armazenamento Personalizado
{
"mcpServers": {
"mcpatterns": {
"command": "npx",
"args": ["-y", "@mcpatterns/server"],
"env": {
"PATTERNS_FILE_PATH": "/path/to/custom/patterns.json"
}
}
}
}
Integração com VS Code
Adicione às configurações do seu VS Code (settings.json):
{
"mcp": {
"servers": {
"mcpatterns": {
"command": "npx",
"args": ["-y", "@mcpatterns/server"]
}
}
}
}
💡 Dicas de Uso
Para Agentes LLM
MCPatterns funciona melhor quando integrado ao seu fluxo de trabalho de IA com prompts como:
Before generating code, search my patterns for relevant examples using the technologies I'm working with. Use my established patterns and coding style preferences when creating new code.
Organização de Padrões
- Use nomes descritivos que identifiquem claramente o propósito do padrão
- Agrupe padrões relacionados com nomenclatura de categoria consistente
- Inclua casos de uso abrangentes para melhorar a capacidade de pesquisa
- Forneça exemplos em vários idiomas quando aplicável
Melhores Práticas
- Padrões atômicos: Armazene padrões focados e de propósito único
- Metadados ricos: Inclua casos de uso detalhados e tags de tecnologia
- Exemplos versionados: Mantenha exemplos de código atualizados com as práticas atuais
- Amigável para pesquisa: Use linguagem descritiva em descrições e casos de uso
📜 Licença
MIT