portalv4-context-server
Performs passive Git repository audits, reporting current branch, status, changed files, and diff stats, while suggesting branch names and commit messages.
Provides backend analysis and validation for Laravel projects, including database schema inspection via Laravel's database configuration, API route documentation export, and test template generation.
Supports read-only database schema inspection for MySQL, listing tables and retrieving table structures through INFORMATION_SCHEMA queries.
Exports Laravel API routes to Postman Collection v2.1.0 files, including URL variables and Authorization headers.
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., "@portalv4-context-serverGenerate a Feature test for BeneficioController"
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.
🛡️ PortalV4 Context Server (MCP) - Manual Oficial
Versión: 1.0.0
Entorno: Híbrido (Windows / WSL2)
Gestor de paquetes: pnpm
Transporte: stdio
📖 Introducción
El portalv4-context-server es un microservicio basado en el estándar Model Context Protocol (MCP). Actúa como el "gobierno técnico" del proyecto PortalV4. Su propósito principal es dotar a los agentes de Inteligencia Artificial (Cursor, Codex, Claude Code) de herramientas seguras para leer el contexto real del proyecto, validar reglas de arquitectura y prevenir código destructivo o fuera de estándar.
Related MCP server: git-context-mcp
🤖 Sección para Agentes de IA (Instrucciones)
ATENCIÓN IA: Este servidor te proporciona capacidades de lectura y validación sobre el entorno real del usuario.
PROHIBIDO adivinar rutas, esquemas de base de datos o inventar plantillas de tests.
OBLIGATORIO invocar las herramientas documentadas en este manual antes de generar o proponer código al desarrollador.
Tienes permiso implícito para usar estas herramientas de forma autónoma durante tu proceso de razonamiento.
🛠️ Catálogo de Herramientas (Skills)
El servidor expone 6 herramientas especializadas divididas por responsabilidades:
1. get_module_structure (Backend & Frontend)
Propósito: Garantizar el cumplimiento de la arquitectura modular desacoplada.
Qué hace: Verifica si un módulo existe en la arquitectura clásica o en la nueva arquitectura
Modules. Busca el nombre sin depender de mayúsculas/minúsculas y devuelve el nombre real del disco.Payload exacto:
{ "moduleName": "WebCoosajo" }Salida: Destinos que incluyen ruta nativa absoluta, ruta portable con
/, tipo y existencia actual.
2. lint_thin_controller (Solo Backend)
Propósito: Forzar el patrón Thin Controller.
Qué hace: Analiza estáticamente archivos PHP dentro de
portalv4/backend. Es un guardrail regex que detecta llamadas estáticas a modelos, mutaciones como->save()y->update(), y acceso directo medianteDB::.Payload exacto:
{ "controllerPath": "/ruta/absoluta/Controller.php" }Salida: Devuelve
passed: false, ubicación y acción requerida cuando hay hallazgos.
3. read_database_schema (Solo Backend)
Propósito: Eliminar alucinaciones de SQL y proteger el esquema de la base de datos.
Qué hace: Levanta un proceso PHP en segundo plano, lee la conexión real desde
config/database.phpde Laravel y ejecuta una consulta de solo lectura (INFORMATION_SCHEMA) al motor (SQL Server o MySQL).Payload exacto:
{ "table_name": "Agencia", "connection_name": "sqlsrv" }(Nota:connection_namees opcional. Sitable_namese deja vacía"", lista todas las tablas disponibles).
4. export_endpoint_docs (Solo Backend)
Propósito: Automatizar la documentación de la API.
Qué hace: Lee las rutas registradas en memoria en Laravel, realiza un análisis estático de los FormRequests y métodos para extraer parámetros obligatorios (
_Colaborador,_Token), y escribe una colección Postman Collection v2.1.0 exclusivamente en el archivo.jsonindicado por el usuario. También inyecta automáticamente variables de URL y encabezados comoAuthorization: Bearer {{token}}. No existe una ruta de salida predeterminada; el directorio padre debe existir y los enlaces simbólicos existentes se rechazan. Tampoco sobrescribe un archivo salvo autorización expresa.Filtros Granulares: Permite filtrar las rutas a documentar a través de los siguientes parámetros opcionales:
prefix: Filtra por prefijo de URL (ej.api/).module: Filtra por el nombre del módulo de la arquitectura (ej.WebCoosajo).route_file: Filtra por archivo de registro de ruta (ej.api.php).search_pattern: Regex para filtrar por URI, nombre de ruta o controlador.
Payload exacto:
{ "output_path": "/ruta/elegida/portalv4-api.json", "prefix": "api/", "module": "WebCoosajo", "overwrite": false }(Nota:output_pathes obligatorio, absoluto y debe terminar en.json; los filtros yoverwriteson opcionales. Para reemplazar un archivo existente, el usuario debe indicaroverwrite: trueexpresamente).Salida: Metadatos de la exportación: ruta efectiva, prefijo, cantidad de rutas y requests, bytes escritos y formato. La colección completa queda únicamente en
output_path.
5. generate_tests (Solo Backend)
Propósito: Proteger la base de datos de desarrollo frente a ejecuciones de tests destructivos.
Qué hace: Genera la plantilla base PHP para pruebas automatizadas garantizando la importación y uso estricto del trait
DatabaseTransactions(prohibiendoRefreshDatabase).Payload exacto:
{ "test_name": "BeneficioControllerTest", "type": "Feature", "module_name": "WebCoosajo" }(Nota:module_namees opcional).
6. review_quality_and_git (Backend & Frontend)
Propósito: Auditar de forma analítica y segura el control de versiones sin alterar Git.
Qué hace: Inspecciona automática y pasivamente los repositorios reales
backend/yfrontend/bajoPORTALV4_ROOT. Ejecuta exclusivamentegit status --porcelain,git rev-parse --abbrev-ref HEADygit diff --statcon bloqueos opcionales desactivados. A partir de esa evidencia propone, cuando corresponde, un nombre de rama válido y un mensaje bajo Conventional Commits acorde con los archivos modificados.Payload:
{}. No recibe nombres de rama ni mensajes redactados por el usuario; los campos heredados que un cliente antiguo envíe son ignorados.Salida: Reporte JSON por repositorio con rama actual, cumplimiento del estándar, estado porcelain, archivos cambiados, resumen del diff, observaciones y sugerencias. La herramienta nunca ejecuta
git add,git commit,git push,git mergeni ninguna otra operación de escritura o alteración.
👨💻 Sección para Desarrolladores Humanos
Requisitos Previos
Node.js: v20 o superior.
Gestor de paquetes:
pnpmv11+ (Requerido porpnpm-workspace.yaml).Una copia accesible de PortalV4 con los directorios
backend/yfrontend/.
Variables de Entorno
Variable | Uso |
| Raíz de PortalV4. Si se omite, se buscan |
| Distribución usada para traducir |
| Tamaño máximo del controlador analizado; predeterminado: 1 MiB. |
Instalación y Desarrollo
El servidor MCP no se ejecuta en tiempo de ejecución de TypeScript, debe compilarse previamente. El transporte stdio reserva stdout para MCP; cualquier diagnóstico debe escribirse a stderr.
# Instalación y validación
pnpm install
pnpm check
# Compilar TypeScript a JavaScript (Genera dist/index.js)
pnpm build
La opción más estable es ejecutar el servidor en el mismo entorno donde vive el código:
Bash
PORTALV4_ROOT=/home/sjdarita/proyectos/portalv4 pnpm start
Ejemplos de Configuración de Clientes MCP
Use rutas y variables nativas del proceso que lanza Node.
Cliente ejecutado en WSL (Codex / Claude Code)
JSON
{
"mcpServers": {
"portalv4-context": {
"command": "node",
"args": [
"/home/sjdarita/proyectos/portalv4-context-server/dist/index.js"
],
"env": {
"PORTALV4_ROOT": "/home/sjdarita/proyectos/portalv4"
}
}
}
}
Cliente ejecutado en Windows, código dentro de WSL (Cursor / VS Code)
JSON
{
"mcpServers": {
"portalv4-context": {
"command": "node",
"args": [
"\\\\wsl.localhost\\Ubuntu-24.04\\home\\sjdarita\\proyectos\\portalv4-context-server\\dist\\index.js"
],
"env": {
"PORTALV4_ROOT": "\\\\wsl.localhost\\Ubuntu-24.04\\home\\sjdarita\\proyectos\\portalv4"
}
}
}
}
Nota para Windows: Algunos clientes no permiten usar una ruta UNC (\\wsl.localhost\...) como directorio de trabajo. En ese caso, mantenga command como un ejecutable local de Windows y pase la ruta UNC sólo en args y PORTALV4_ROOT, o ejecute wsl.exe como wrapper.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.
Related MCP Connectors
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Read-only AI coding tools for change verification, release readiness, capacity, and guidance.
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with queryable, version-controlled project rules and coding standards. Enables validation, rule-based guidance, and task summaries to keep AI work aligned with your project's conventions without repeating context.2MIT
- FlicenseBqualityDmaintenanceProvides AI coding agents with structured Git repository context including project state, code structure, activity, and risk analysis without modifying or uploading code.53
- FlicenseNot gradedqualityCmaintenanceEnables AI clients to inspect backend systems through structured engineering tools including Git history, Winston logs, OpenAPI contracts, and sandboxed source code.1
- AlicenseNot gradedqualityAmaintenanceProvides AI clients with safe, structured access to local filesystem, Git repositories, and project contexts, featuring file operations, git status/diff, project management, and built-in code review/bug analysis prompts.2,013MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sjdanielarita/portalv4-context-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server