Production Plan Variance MCP Server
Production Plan Variance MCP Server
DWH 데이터베이스를 직접 기반으로 하여 Production Plan Variance & Issue Tracking 대시보드(erp.peopledesk.io/production-management/mes/ProductionPlanVariance)를 다섯 개의 읽기 전용 도구로 제공하는 작은 MCP 서버입니다:
도구 | 반영 대상 |
| 네 개의 타일: Plan Lines / On Target / Variance Flagged / Issues Missing |
| 행 그리드(계획 코드, 품목, 공장, 수량, 차이, 사유, 상태) |
| 공장별 "Issue for Difference" 사유 설정 + 에스컬레이션 이메일 |
| 공장 필터 드롭다운 |
| Shop Floor 필터 드롭다운 |
이 서버는 다음 DWH 테이블을 조회합니다(라이브 스키마 기준으로 검증됨):
tblProductionPlanVarianceIssueArc, tblProductionPlanVarianceReasonArc,
tblPlantArc, tblShopFloorArc.
왜 이런 구조인가
JSON 파일만으로 누구나 사용할 수 있고, 누구도 데이터베이스 자격 증명을 입력하지 않아도 되는 것을 원하셨습니다. 그래서 설계는 다음과 같습니다:
사용자가 호스팅하는 단일 서버가 데이터베이스 자격 증명을 자체 환경 변수에 보관합니다(
.env, 커밋되지 않으며 클라이언트로 전송되지 않음).그 외 모든 사용자는
mcp-config.json을 자신의 MCP 클라이언트(Claude Desktop, Claude Code 등)에 넣기만 하면 됩니다. 이 파일에는 URL만 있으며 비밀 정보는 없습니다. SQL Server와 통신하는 것은 서버뿐입니다.모든 쿼리는
src/queries.js에 정의된 고정된 매개변수화 SELECT입니다. 자유 형식 SQL 도구는 노출되지 않으므로, 이 MCP 서버를 사용하는 누구도 대시보드 자체 데이터 외부를 조회하거나 쓰기 작업을 실행할 수 없습니다.
Related MCP server: mcp-server
⚠️ 배포 전: 데이터베이스 권한 확인
이것을 구축하는 동안 mssql-test-server 연결을 사용하여 스키마(테이블/열)를 검증했습니다. 그러나 tblProductionPlanVarianceIssueArc / tblPlantArc 등에 대한 실제 행 수준 SELECT는 모두 실패했습니다. 스키마 내부 조회는 작동했지만 데이터 쿼리는 작동하지 않았습니다. 이것은 거의 확실히 해당 특정 SQL 로그인(mcp_user)의 권한 부족 문제이며, 이 쿼리들의 문제가 아닙니다. 라이브 전환 전에:
위에 나열된 DWH 테이블에 대해
SELECT권한만 있는 SQL Server 로그인을 생성(또는 재사용)합니다.수동으로 테스트합니다. 예:
SELECT TOP 5 * FROM dbo.tblProductionPlanVarianceIssueArc;그런 다음에만
.env의DB_USER/DB_PASSWORD가 해당 로그인을 가리키도록 설정합니다.
배포
옵션 A — 자체 서버(nginx/Caddy를 앞에 둠)
npm install
cp .env.example .env # fill in DB_SERVER / DB_USER / DB_PASSWORD
npm start # listens on :3300, endpoint POST /mcp팀이 접근할 수 있는 도메인의 HTTPS 뒤에 배치합니다. 예: https://mcp.yourcompany.com/mcp.
옵션 B — Vercel(이 저장소에 이미 설정되어 있음)
api/mcp.js + vercel.json 파일은 동일한 서버를 /mcp로 노출되는 Vercel 서버리스 함수로 변환합니다.
이 폴더를 GitHub 저장소에 푸시합니다(또는 폴더에서 직접 실행합니다).
CLI를 한 번 설치합니다:
npm i -g vercelproduction-variance-mcp/폴더 안에서 자신의 Vercel 계정으로 로그인하고 배포합니다:vercel login vercel --prodVercel 대시보드 → 프로젝트 → Settings → Environment Variables에서
DB_SERVER,DB_PORT,DB_DATABASE,DB_USER,DB_PASSWORD,DB_ENCRYPT,DB_TRUST_CERT를 추가합니다(.env.example과 동일한 값). 그런 다음 함수가 이를 적용하도록 다시 배포합니다.이제 MCP 엔드포인트는
https://<your-project>.vercel.app/mcp입니다. 이 URL을mcp-config.json에 넣고 팀에 공유하세요.
참고: SQL Server는 Vercel 네트워크에서 접근 가능해야 합니다(즉, 사무실 IP로만 방화벽이 제한되면 안 됩니다). 배포 후 연결이 시간 초과되면 203.202.241.211을 관리하는 담당자에게 확인하세요. 또한 이 URL이 공개되기 전에 /mcp 앞에 어떤 형태의 인증을 추가하세요(아래 참고 참조). 현재는 링크만 있으면 누구나 이 읽기 전용 도구를 호출할 수 있습니다.
공유
mcp-config.json을 편집하여 YOUR-HOSTED-DOMAIN을 실제 도메인으로 바꾼 다음, 그 파일 하나를 공유하세요. 누구나 이 파일을 자신의 MCP 클라이언트에 추가하면 즉시 이 대시보드 데이터에 대한 읽기 전용 채팅 액세스를 얻을 수 있습니다. 설치도, 자격 증명도, SQL 지식도 필요 없습니다.
참고 사항 / 직접 확인할 사항
대시보드의 "Machine" 열(예: "Aromatic Unit Line - 01")은 제가 가져온 스키마의
tblProductionPlanVarianceIssueArc에서 찾을 수 없었습니다. 아마도 사용자 환경의 생산 라인/작업 센터 테이블을 통해 확인되는 항목일 것입니다.list_plan_variance의 쿼리에는 아직 이 열이 포함되어 있지 않습니다. 소스 테이블을 확인한 후src/queries.js에 적절한 JOIN을 추가하세요(후보:tblProductionLineArc,tblWorkCenterArc).get_variance_summary의 "Issues Missing" 로직은 "아직 사유/상태가 기록되지 않은 플래그 지정 변동"을 의미한다고 가정합니다. 앱의 실제 비즈니스 로직과 대조해 확인하고, 다르다면QUERY_SUMMARY를 조정하세요.내부 네트워크 밖으로 노출하기 전에
/mcp앞에 인증(API 키 / OAuth)을 추가하세요. 이 빌드에는 기본적으로 인증이 없습니다.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only supply-chain decision support: forecasting, reorder policies, ABC-XYZ, data quality.
Securely query and analyze business data, dashboards, projections, alerts, and knowledge.
Live KPIs and shop data for Tekmetric and Shop-Ware. 29 read-only tools.
Manufacturing BI from your AI client: dashboards, OEE, spreadsheets, scheduling, text-to-CAD.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides read-only SQL Server access via MCP tools and a chat interface for natural-language database queries.4ISC
- FlicenseNot gradedqualityDmaintenanceProvides 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.-
- FlicenseNot gradedqualityCmaintenanceProvides 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.-
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server exposing Flowsery analytics and AI-detected issues via 17 GET tools, enabling natural language queries in compatible clients.MIT