MCPatterns
Un servidor para almacenar y recuperar patrones de codificación personalizados desde un archivo JSONL local.
Documentación
MCPatterns
MCPatterns es un servidor de Model Context Protocol (MCP) que permite a los usuarios guardar y recuperar patrones de codificación personalizados. Ayuda a los LLMs a aprender cómo codifica un individuo almacenando patrones estructurados categorizados por tecnología, caso de uso y estilo.
🧠 Propósito
Este servidor actúa como una capa de memoria persistente para agentes LLM, permitiéndoles hacer referencia a los estilos, patrones y convenciones de codificación preferidos de un usuario. Soporta:
- Generación de código personalizada basada en patrones almacenados
- Refactorización consistente siguiendo las preferencias del usuario
- Sugerencias conscientes del estilo utilizando patrones familiares
- Memoria a largo plazo de prácticas de codificación entre sesiones
🧩 Integración MCP
MCPatterns sigue la especificación Model Context Protocol, proporcionando herramientas para crear, leer, actualizar y eliminar patrones de codificación. Utiliza almacenamiento JSONL (JSON delimitado por líneas) para operaciones atómicas y consistencia de datos.
🗂 Esquema de Patrones
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
}
Ejemplo de Patrón
{
"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});"
}
}
🔧 Herramientas Disponibles
MCPatterns proporciona las siguientes herramientas MCP:
create_patterns
Crea múltiples patrones de codificación nuevos en la base de datos.
Entrada:
{
"patterns": [Pattern, ...]
}
add_code_examples
Añade nuevos ejemplos de código a patrones existentes.
Entrada:
{
"additions": [
{
"patternName": "string",
"examples": { "language": "code" }
}
]
}
delete_patterns
Elimina múltiples patrones por nombre.
Entrada:
{
"patternNames": ["pattern1", "pattern2"]
}
delete_code_examples
Elimina ejemplos de código específicos de los patrones.
Entrada:
{
"deletions": [
{
"patternName": "string",
"languages": ["JavaScript", "TypeScript"]
}
]
}
read_patterns
Recupera todos los patrones almacenados.
Entrada: Ninguna
search_patterns
Busca patrones por consulta en todos los campos.
Entrada:
{
"query": "search term"
}
open_patterns
Recupera patrones específicos por nombre.
Entrada:
{
"names": ["pattern1", "pattern2"]
}
🗄 Almacenamiento
MCPatterns utiliza el formato JSONL (JSON delimitado por líneas) para el almacenamiento de datos:
- Ubicación del archivo: Configurable mediante la variable de entorno
PATTERNS_FILE_PATH - Ubicación predeterminada:
patterns.jsonen el directorio del servidor - Formato: Cada línea contiene un objeto JSON con
type: "pattern" - Operaciones atómicas: La reescritura completa del archivo garantiza la consistencia de los datos
🚀 Primeros Pasos
Instalación
git clone https://github.com/nicholasrubright/mcpatterns.git
cd mcpatterns
pnpm install
Desarrollo
pnpm run dev
Compilación
pnpm run build
Ejecución
pnpm start
# or
mcpatterns
🔧 Configuración
Variables de Entorno
PATTERNS_FILE_PATH: Ruta personalizada para el archivo de base de datos de patrones- Puede ser una ruta absoluta o relativa al directorio del script
- Por defecto es
patterns.jsonen el directorio del servidor
Integración con Claude Desktop
Añade a tu claude_desktop_config.json:
{
"mcpServers": {
"mcpatterns": {
"command": "npx",
"args": ["-y", "@mcpatterns/server"]
}
}
}
Con Ruta de Almacenamiento Personalizada
{
"mcpServers": {
"mcpatterns": {
"command": "npx",
"args": ["-y", "@mcpatterns/server"],
"env": {
"PATTERNS_FILE_PATH": "/path/to/custom/patterns.json"
}
}
}
}
Integración con VS Code
Añade a la configuración de VS Code (settings.json):
{
"mcp": {
"servers": {
"mcpatterns": {
"command": "npx",
"args": ["-y", "@mcpatterns/server"]
}
}
}
}
💡 Consejos de Uso
Para Agentes LLM
MCPatterns funciona mejor cuando se integra en tu flujo de trabajo de IA con indicaciones 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.
Organización de Patrones
- Utiliza nombres descriptivos que identifiquen claramente el propósito del patrón
- Agrupa patrones relacionados con nombres de categoría consistentes
- Incluye casos de uso completos para mejorar la capacidad de búsqueda
- Proporciona ejemplos en múltiples lenguajes cuando sea aplicable
Mejores Prácticas
- Patrones atómicos: Almacena patrones enfocados y de propósito único
- Metadatos enriquecidos: Incluye casos de uso detallados y etiquetas de tecnología
- Ejemplos versionados: Mantén los ejemplos de código actualizados con las prácticas vigentes
- Amigable para búsquedas: Utiliza lenguaje descriptivo en descripciones y casos de uso
📜 Licencia
MIT