Skip to main content
Glama
Production Plan Variance MCP Server

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.

Related MCP server: mcp-server

⚠️ 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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides read-only SQL Server access via MCP tools and a chat interface for natural-language database queries.
    4
    ISC
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only operational tools (sales summaries, orders, top customers) over a multi-tenant dataset, with tenant isolation enforced server-side so no tenant parameter appears in the tool schema.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides remote read-only access to a Data Warehouse SQL Server, enabling users to query manufacturing OEE data, SBU lists, and run ad-hoc SELECT queries.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Read-only MCP server exposing Flowsery analytics and AI-detected issues via 17 GET tools, enabling natural language queries in compatible clients.
    MIT