Production Plan Variance MCP Server
Production Plan Variance MCP Server
Un pequeño servidor MCP que expone el panel Production Plan Variance & Issue Tracking (erp.peopledesk.io/production-management/mes/ProductionPlanVariance) como cinco herramientas de solo lectura, respaldado directamente por la base de datos DWH:
Herramienta | Refleja |
| Los cuatro paneles: Líneas del plan / En objetivo / Variación marcada / Incidencias faltantes |
| La cuadrícula de filas (código de plan, artículo, planta, cantidad, diferencia, motivo, estado) |
| La configuración de motivo "Incidencia por diferencia" + correos de escalado, por planta |
| Desplegable de filtro de planta |
| Desplegable de filtro de taller |
Consulta estas tablas DWH (verificadas contra el esquema en vivo):
tblProductionPlanVarianceIssueArc, tblProductionPlanVarianceReasonArc,
tblPlantArc, tblShopFloorArc.
Por qué esta estructura
Pediste algo que cualquiera pueda usar mediante un archivo JSON, sin que nadie tenga que introducir credenciales de base de datos. Por eso el diseño es:
Un solo servidor, alojado por ti, que guarda las credenciales de la base de datos en sus propias variables de entorno (
.env, nunca confirmado en el repositorio, nunca enviado a los clientes).Todos los demás solo colocan
mcp-config.jsonen su cliente MCP (Claude Desktop, Claude Code, etc.) — solo contiene una URL, nada secreto. El servidor es el único que se comunica con SQL Server.Todas las consultas son SELECT fijos y parametrizados definidos en
src/queries.js— no se expone ninguna herramienta SQL de formato libre, por lo que nadie que use este servidor MCP puede consultar fuera de los datos propios del panel ni ejecutar escrituras.
⚠️ Antes de desplegar: confirma los permisos de la base de datos
Mientras construía esto, verifiqué el esquema (tablas/columnas) usando tu conexión mssql-test-server, pero cada SELECT real a nivel de fila contra tblProductionPlanVarianceIssueArc / tblPlantArc etc. falló — la introspección del esquema funcionó, las consultas de datos no. Eso casi con seguridad es una brecha de permisos en ese inicio de sesión SQL específico (mcp_user), no un problema con estas consultas. Antes de pasar a producción:
Crea (o reutiliza) un inicio de sesión de SQL Server con permisos de solo
SELECTen las tablas DWH enumeradas arriba.Prueba manualmente, por ejemplo:
SELECT TOP 5 * FROM dbo.tblProductionPlanVarianceIssueArc;Solo entonces apunta
DB_USER/DB_PASSWORDen.enva ese inicio de sesión.
Despliegue
Opción A — tu propio servidor (nginx/Caddy delante)
npm install
cp .env.example .env # fill in DB_SERVER / DB_USER / DB_PASSWORD
npm start # listens on :3300, endpoint POST /mcpPonlo detrás de HTTPS en un dominio accesible para tu equipo, p. ej. https://mcp.yourcompany.com/mcp.
Opción B — Vercel (ya configurado en este repositorio)
Los archivos api/mcp.js + vercel.json convierten el mismo servidor en una función serverless de Vercel, expuesta en /mcp.
Sube esta carpeta a un repositorio de GitHub (o ejecútala directamente desde la carpeta).
Instala la CLI una vez:
npm i -g vercelDesde dentro de
production-variance-mcp/, inicia sesión en tu propia cuenta de Vercel y despliega:vercel login vercel --prodEn el panel de Vercel → tu proyecto → Configuración → Variables de entorno, añade
DB_SERVER,DB_PORT,DB_DATABASE,DB_USER,DB_PASSWORD,DB_ENCRYPT,DB_TRUST_CERT(los mismos valores que en.env.example), y luego vuelve a desplegar para que la función los recoja.Tu endpoint MCP ahora es
https://<your-project>.vercel.app/mcp. Pon esa URL enmcp-config.jsony compártelo.
Nota: SQL Server debe ser accesible desde la red de Vercel (es decir, no estar restringido por firewall solo a la IP de tu oficina) — consulta con quien administra 203.202.241.211 si la conexión agota el tiempo de espera después de desplegar. Añade también algún tipo de autenticación delante de /mcp (ver nota más abajo) antes de que esta URL sea pública — ahora mismo cualquiera con el enlace puede llamar a estas herramientas de solo lectura.
Distribución
Edita mcp-config.json, reemplazando YOUR-HOSTED-DOMAIN con tu dominio real, y comparte ese único archivo. Cualquiera lo añade a su cliente MCP y de inmediato tiene acceso de solo lectura por chat a los datos de este panel — sin instalación, sin credenciales, sin conocimientos de SQL.
Notas / cosas que debes verificar por tu cuenta
La columna "Máquina" del panel (p. ej. "Aromatic Unit Line - 01") no se encontró en
tblProductionPlanVarianceIssueArcen el esquema que obtuve — probablemente se resuelve mediante una tabla de línea de producción / centro de trabajo en tu entorno. La consulta delist_plan_varianceaún no la incluye; añade el JOIN apropiado ensrc/queries.jsuna vez que confirmes la tabla de origen (candidatas:tblProductionLineArc,tblWorkCenterArc).La lógica de "Incidencias faltantes" de
get_variance_summaryasume que significa "variación marcada sin motivo/estado registrado todavía" — confírmalo contra la lógica de negocio real de la aplicación y ajustaQUERY_SUMMARYsi es diferente.Añade autenticación (clave de API / OAuth) delante de
/mcpantes de exponerlo más allá de tu red interna — esta versión no tiene ninguna por defecto.
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
Read-only access to your VortexIQ store data: audits, KPIs, alerts, Brand DNA, reports, Ask VIQ.
Read-only NuMetric.work accounting & ERP data: statements, KPIs, reports, invoices, documents.
Read-only MCP server for wafergraph.com's semiconductor & AI supply-chain data: 30 tools, no auth.
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/sauravakij/AR-PP-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server