Skip to main content
Glama
sauravakij

Production Plan Variance MCP Server

by sauravakij

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

get_variance_summary

Los cuatro paneles: Líneas del plan / En objetivo / Variación marcada / Incidencias faltantes

list_plan_variance

La cuadrícula de filas (código de plan, artículo, planta, cantidad, diferencia, motivo, estado)

list_variance_reasons

La configuración de motivo "Incidencia por diferencia" + correos de escalado, por planta

list_plants

Desplegable de filtro de planta

list_shop_floors

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.json en 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:

  1. Crea (o reutiliza) un inicio de sesión de SQL Server con permisos de solo SELECT en las tablas DWH enumeradas arriba.

  2. Prueba manualmente, por ejemplo:

    SELECT TOP 5 * FROM dbo.tblProductionPlanVarianceIssueArc;
  3. Solo entonces apunta DB_USER/DB_PASSWORD en .env a 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 /mcp

Ponlo 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.

  1. Sube esta carpeta a un repositorio de GitHub (o ejecútala directamente desde la carpeta).

  2. Instala la CLI una vez: npm i -g vercel

  3. Desde dentro de production-variance-mcp/, inicia sesión en tu propia cuenta de Vercel y despliega:

    vercel login
    vercel --prod
  4. En 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.

  5. Tu endpoint MCP ahora es https://<your-project>.vercel.app/mcp. Pon esa URL en mcp-config.json y 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 tblProductionPlanVarianceIssueArc en el esquema que obtuve — probablemente se resuelve mediante una tabla de línea de producción / centro de trabajo en tu entorno. La consulta de list_plan_variance aún no la incluye; añade el JOIN apropiado en src/queries.js una vez que confirmes la tabla de origen (candidatas: tblProductionLineArc, tblWorkCenterArc).

  • La lógica de "Incidencias faltantes" de get_variance_summary asume 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 ajusta QUERY_SUMMARY si es diferente.

  • Añade autenticación (clave de API / OAuth) delante de /mcp antes de exponerlo más allá de tu red interna — esta versión no tiene ninguna por defecto.

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

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/sauravakij/AR-PP-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server