mcp-rules-server
Provides code validation and rules for Android mobile projects
Provides code validation and rules for Angular web projects
Provides code validation and rules for Django API projects
Provides code validation and rules for FastAPI API projects
Provides code validation and rules for Flutter mobile projects
Provides code validation and rules for iOS mobile projects
Provides code validation and rules for NestJS API projects
Provides code validation and rules for React web projects
Provides code validation and rules for Spring API projects
Provides code validation and rules for Svelte web projects
Provides code validation and rules for Terraform infrastructure projects
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-rules-servervalidar"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Rules Server - Guía de Uso
Servidor MCP que proporciona reglas de código y validación por stack/framework para equipos de desarrollo.
🎯 Optimización de Tokens (Nuevo)
Ahorro del 90-95% en consumo de tokens mediante caché inteligente y carga bajo demanda.
📖 Guía completa de optimización - Cómo reducir costos drásticamente
Resumen rápido:
✅ Herramientas optimizadas retornan metadata compacta por defecto
✅ Nueva herramienta
get_rule_content(stack, kind)para carga específica✅
agent_flow()ahora retorna resumen ejecutivo (~85% menos tokens)✅
bootstrap()modo lightweight por defecto (~90% menos tokens)✅ Ahorro estimado: ~$810 USD/mes (100 consultas/día)
Related MCP server: code-graph-mcp
🚀 Configuración en VS Code
1. Requisitos
Visual Studio Code
Extensión GitHub Copilot Chat (con soporte MCP)
2. Configurar el servidor MCP
Hay dos formas de acceder a la configuración:
Opción A: Comando directo MCP
Presiona
Ctrl+Shift+PEscribe:
MCP: Open User ConfigurationSe abrirá el archivo
mcp.jsondirectamenteAgrega la siguiente configuracion:
{
"servers": {
"satrack-code-validator": {
"url": "https://mcp-dev-rules.satrack.com/sse",
"type": "http"
}
},
"inputs": []
}Opción B: Settings de VS Code
Presiona
Ctrl+Shift+PEscribe:
Preferences: Open User Settings (JSON)Agrega la sección
mcpServerssi no existe
Agrega la configuración del servidor:
{
"mcpServers": {
"mcp-rules-server": { // nombre original
"transport": "sse",
"url": "https://mcp-dev-rules.satrack.com"
},
"satrack-code-validator": { // alias para usar @satrack-code-validator
"transport": "sse",
"url": "https://mcp-dev-rules.satrack.com"
}
}
}3. Recarga VS Code
Presiona Ctrl+Shift+P → "Developer: Reload Window"
🧪 Pruebas con Copilot Chat (VS Code)
Iniciar validación de código
Abre GitHub Copilot Chat (icono de chat en la barra lateral) y usa:
@mcp-rules agent_flowO el alias corto:
@mcp-rules validarO simplemente:
Validar el codigoEsto carga las instrucciones obligatorias del flujo de validación.
🔍 Ejemplo de Flujo Completo
Nota: El sistema detecta automáticamente el usuario desde:
Git config (user.name, user.email)
Variables de entorno (MCP_USER, VSCODE_USER)
Usuario del sistema operativo
Paso 0: (Opcional) Obtener información del usuario
@mcp-rules get_user_infoTe mostrará:
contact_name: "Carlos Perez"contact_mail: "carlos_perez@satrack.com"username: "carlos.perez" (normalizado para reportes)source: De dónde se obtuvo (git_config, system, etc.)
Esta información se usa automáticamente en los reportes.
Paso 1: Iniciar validación
@mcp-rules validarCopilot te preguntará:
¿Análisis solo de archivos modificados o todo el código?
Paso 2: Obtener reglas según tu respuesta
Si dijiste "archivos modificados":
@mcp-rules rules(Obtendrás prompt-code-review.md)
Si dijiste "todo el código":
@mcp-rules rules(Obtendrás prompt-full-code-analysis.md)
Nota: El sistema detecta automáticamente si tu proyecto es
mobile,web,apioservice.
Paso 3: Copilot analiza el código
Copilot usará las reglas cargadas para analizar tu código.
Paso 4: Reportar resultados
@mcp-rules report_validation
analysis_type="code-review"
stack="web"
stack_version="17.3.0"
files_analyzed=["src/app/app-routing.module.ts", "src/app/app.component.html"]
findings={
"errors": [
{"file": "src/app/app-routing.module.ts", "line": 9, "severity": "Blocker", "message": "Sintaxis incorrecta en imports"}
],
"warnings": [],
"suggestions": []
}
summary="Se detectan 1 error crítico de sintaxis"
recommendations=["Revertir cambios", "Ejecutar ng build"]📊 Formato del Log Generado
Cuando ejecutas report_validation, se genera un log en /var/log/mcp/metrics.jsonl:
{
"timestamp": "2025-12-31T07:46:11.743778-05:00",
"user": "maria_andrade",
"mcp_name": "code-review",
"project": "mf-sidenav-izquierdo",
"report": {
"stack": "web - angular",
"stack_version": "17.3.0",
"files_analyzed": [
"src/app/app-routing.module.ts",
"src/app/app.component.html"
],
"total_files": 2,
"findings": {
"errors": [
{
"file": "src/app/app-routing.module.ts",
"line": 9,
"severity": "Blocker",
"message": "Sintaxis incorrecta en imports del @NgModule"
}
],
"warnings": [],
"suggestions": []
},
"summary": "Se detectan 1 error crítico de sintaxis que rompe la compilación",
"recommendations": [
"Revertir cambios inmediatamente",
"Ejecutar 'ng build' para validar compilación"
]
}
}Tipos de mcp_name
code-review: Análisis de archivos modificados (partial/PR)full-code-analysis: Análisis completo del proyecto
🎯 Pruebas con Visual Studio
Configuración en Visual Studio 2022
Instala la extensión GitHub Copilot
Abre
Tools→Options→GitHub Copilot→MCP ServersAgrega el servidor:
{
"mcpServers": {
"mcp-rules": {
"transport": "sse",
"url": "https://mcp-dev-rules.satrack.com/"
}
}
}Reinicia Visual Studio
Usar en Visual Studio
Abre el Copilot Chat (View → Copilot Chat) y usa los mismos comandos:
@mcp-rules validar📋 Herramientas MCP Disponibles
Herramienta | Descripción |
| Iniciar validación - Retorna flujo obligatorio de AGENTS.md (resumen ejecutivo) |
| Obtener AGENTS.md completo con instrucciones detalladas |
| Obtener reglas de código para un stack específico (metadata por defecto) |
| Obtener contenido completo de una regla específica bajo demanda |
| Detectar stack/framework del proyecto automáticamente |
| Listar todos los stacks disponibles |
| Inicialización completa: detecta stack + carga reglas (modo ligero por defecto) |
| Registrar usuario de VSCode para métricas |
| Nuevo - Obtener información del usuario actual automáticamente (nombre, email, username) |
| Registrar reporte de validación completado |
| Ejecutar validación completa y generar reporte automáticamente |
| Detectar agentes disponibles de VSCode/GitHub Copilot |
🔧 Verificar Logs en Kubernetes
Para descargar y ver los logs generados:
# Obtener nombre del pod
$podName = kubectl get pods -n mcp -l app=guidelines-mcp -o jsonpath='{.items[0].metadata.name}'
# Descargar logs
kubectl cp mcp/${podName}:/var/log/mcp/metrics.jsonl ./metrics.jsonl
# Ver contenido
Get-Content ./metrics.jsonl -Tail 20📈 Visualización en Grafana
Los logs se envían automáticamente a Loki y pueden visualizarse en Grafana usando LogQL:
{namespace="mcp", app="guidelines-mcp", filename=~".*/metrics.jsonl"}
| json
| line_format "{{.timestamp}} | {{.user}} | {{.project}} | {{.mcp_name}} | {{.report_stack}}"Panel de conteo por usuario:
sum by (user, mcp_name) (
count_over_time(
{namespace="mcp", app="guidelines-mcp", filename=~".*/metrics.jsonl"}
| json
[24h]
)
)🌍 Categorías Soportadas
El sistema detecta automáticamente el tipo de proyecto y aplica las reglas correspondientes:
mobile: Aplicaciones móviles (Flutter, React Native, Android, iOS)web: Aplicaciones web frontend (Angular, React, Vue, Svelte)api: APIs y servicios backend (FastAPI, Django, NestJS, Spring)service: Servicios de infraestructura (Terraform, microservicios, workers)
La detección se realiza automáticamente analizando los archivos del proyecto (package.json, pubspec.yaml, requirements.txt, etc.).
🗄️ Persistencia en PostgreSQL
El servidor puede guardar automáticamente los reportes de validación en una base de datos PostgreSQL.
Configuración
Define la variable de entorno POSTGRES_DSN con la cadena de conexión:
# Formato
POSTGRES_DSN="postgresql://user:password@host:port/database"
# Ejemplo
POSTGRES_DSN="postgresql://mcp_user:secret@postgres.satrack.com:5432/mcp_metrics"Deployment en Kubernetes
Agrega el secret y variable de entorno en el deployment:
# k8s/postgres-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mcp-postgres-credentials
namespace: mcp
type: Opaque
stringData:
dsn: "postgresql://mcp_user:secret@postgres-service:5432/mcp_metrics"
---
# En k8s/mcp-server.yaml, agrega:
env:
- name: POSTGRES_DSN
valueFrom:
secretKeyRef:
name: mcp-postgres-credentials
key: dsnSchema de Base de Datos
El servidor crea automáticamente la tabla al iniciar (si tiene permisos):
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE validation_reports (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
timestamp TIMESTAMPTZ NOT NULL,
user_name VARCHAR(255) NOT NULL,
mcp_name VARCHAR(100) NOT NULL,
project VARCHAR(255) NOT NULL,
report JSONB NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Índices para consultas comunes
CREATE INDEX idx_validation_reports_timestamp ON validation_reports(timestamp);
CREATE INDEX idx_validation_reports_user ON validation_reports(user_name);
CREATE INDEX idx_validation_reports_project ON validation_reports(project);
CREATE INDEX idx_validation_reports_mcp_name ON validation_reports(mcp_name);
CREATE INDEX idx_validation_reports_report_stack ON validation_reports((report->>'stack'));Consultas Útiles
-- Reportes recientes
SELECT id, timestamp, user_name, project, mcp_name,
report->>'stack' as stack,
report->>'summary' as summary
FROM validation_reports
ORDER BY timestamp DESC
LIMIT 20;
-- Estadísticas por usuario
SELECT user_name, mcp_name, COUNT(*) as total
FROM validation_reports
WHERE timestamp > NOW() - INTERVAL '7 days'
GROUP BY user_name, mcp_name
ORDER BY total DESC;
-- Errores críticos por proyecto
SELECT project,
COUNT(*) as reports,
SUM(jsonb_array_length(report->'findings'->'errors')) as total_errors
FROM validation_reports
WHERE timestamp > NOW() - INTERVAL '30 days'
GROUP BY project
ORDER BY total_errors DESC;
-- Ver reporte completo por ID
SELECT id, timestamp, user_name, mcp_name, project,
jsonb_pretty(report) as report_formatted
FROM validation_reports
WHERE id = 'uuid-here'::uuid;
-- Filtrar por stack específico
SELECT timestamp, user_name, project, report->>'summary' as summary
FROM validation_reports
WHERE report->>'stack' LIKE 'web - %'
ORDER BY timestamp DESC
LIMIT 10;Comportamiento
Opcional: Si
POSTGRES_DSNno está configurado, el servidor funciona normalmente (solo logs a archivo).Fail-safe: Errores de PostgreSQL no interrumpen el flujo; se registran en stderr.
Async: Las inserciones son no-bloqueantes y se ejecutan en background.
🆘 Troubleshooting
El servidor no aparece en Copilot Chat
Verifica que la URL es correcta:
https://mcp-dev-rules.satrack.com/sseRecarga VS Code:
Ctrl+Shift+P→ "Developer: Reload Window"Revisa la consola:
Help→Toggle Developer Tools→Console
Error de conexión
Verifica conectividad a
https://mcp-dev-rules.satrack.com/ssePrueba en navegador: debe responder JSON con metadata MCP
No se generan logs
Chequea que el pod tenga el volumen montado:
kubectl describe pod -n mcp
📝 Ejemplo Completo de Sesión
# La identificación se hace automáticamente al iniciar
# 1. Iniciar validación
@mcp-rules validar
# Copilot: "¿Archivos modificados o completo?"
# Usuario: "Solo modificados"
# 2. Detectar categoría
@mcp-rules detect_stack
# Respuesta: "api"
# 3. Obtener reglas
@mcp-rules rules
# 4. Copilot analiza y encuentra 3 errores...
# 5. Reportar
@mcp-rules report_validation
analysis_type="code-review"
stack="api"
stack_version="0.115.0"
files_analyzed=["api/routes.py", "api/models.py"]
findings={"errors": [...], "warnings": [...]}
summary="3 errores críticos encontrados"
recommendations=["Corregir imports", "Añadir type hints"]
# 6. Ver logs generados
kubectl cp mcp/guidelines-mcp-xxx:/var/log/mcp/metrics.jsonl ./metrics.jsonl🔗 Enlaces Útiles
Servidor Dev: https://mcp-dev-rules.satrack.com/
Grafana: https://grafana.satrack.com/
Repositorio: https://satrack-ts.visualstudio.com/Artificial-Intelligence/_git/mcp-guidelines
📄 Licencia
Uso interno - SATRACK
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/camoran89/mcp-code-review'
If you have feedback or need assistance with the MCP directory API, please join our Discord server