@junis/wms-junis-mcp
v0.2.1
Published
난소프트 EMP WMS MCP server
Readme
@junis/wms-junis-mcp
난소프트 EMP WMS MCP server.
npm 패키지명:
@junis/wms-junis-mcp(npm scope:junis) bin 명령어:junis-mcp-wms(또는wms-junis-mcp)
설치 / 실행
npx 로컬 실행 (개발)
npm install
npm run build
WMS_BASE_URL=<your-wms-url> \
WMS_API_KEY=<your-api-key> \
WMS_DEFAULT_WAREHOUSE_CODES=<code1,code2,...> \
npx tsx src/index.tsClaude Code / MCP 클라이언트 설정 예시
~/.claude.json 또는 클라이언트별 MCP 설정에 인증값을 환경변수로 주입:
{
"mcpServers": {
"junis-wms": {
"command": "npx",
"args": ["-y", "@junis/wms-junis-mcp"],
"env": {
"WMS_BASE_URL": "<your-wms-url>",
"WMS_API_KEY": "<your-api-key>",
"WMS_DEFAULT_WAREHOUSE_CODES": "<code1,code2,...>"
}
}
}
}⚠️ 인증값(
WMS_API_KEY)은 연결하는 측이 환경변수로 주입합니다. 본 레포 코드/문서에는 어떤 인증값도 포함되어 있지 않습니다. 운영 환경에서는 secret manager / 환경별 설정을 통해 주입하세요.
환경변수
| 변수 | 필수 | 기본값 | 설명 |
|---|---|---|---|
| WMS_BASE_URL | ✅ | — | 난소프트 EMP WMS 서버 base URL |
| WMS_API_KEY | ✅ | — | WMS ApiKey 헤더값 |
| WMS_DEFAULT_WAREHOUSE_CODES | ✅ | — | 도구 input 에 warehouseCodes 미명시 시 사용 (콤마 구분, 1개 이상) |
| WMS_BULK_CONCURRENCY | | 5 | 다수 SKU 조회 시 병렬 호출 수 |
| WMS_REQUEST_TIMEOUT_MS | | 30000 | 단일 호출 타임아웃 |
도구
wms_get_stock_for_skus
WMS 가용 재고 조회 (GetStockInformation).
Input:
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
| itemNos | string[] | ✅ | ItemNo / productCode 리스트 (1개 이상) |
| warehouseCodes | string[] | | 창고 코드 배열. 미명시 시 WMS_DEFAULT_WAREHOUSE_CODES 환경변수 사용 |
| asOfDate | YYYYMMDD | | 조회 기준일 (default: 오늘) |
Output:
{
warehouseCodes: string[], // 조회한 창고 리스트
asOfDate,
requestedCount, foundCount,
notFound: string[], // 모든 창고에서 0건인 ItemNo
errors: [{ itemNo, warehouseCode, error }],
bySku: {
"<sku>": {
totalQty, deliveryWaitQty, availableQty, // 조회 창고 합산
warehouseCodesQueried: string[],
lots: [
{
lotNo, productCode, productName,
expirationDate, // YYYY-MM-DD or null
qty, qtyWaiting, qtyAvailable,
warehousePCode, warehousePName // ← LOT 별 출처 창고 보존
}
]
}
}
}Use case 별 응답 활용:
| Use case | 활용 필드 |
|---|---|
| 재고 신호등 | bySku[sku].availableQty |
| 상품 상세 화면 (LOT 표시) | bySku[sku].lots |
| 유통기한 검증 | bySku[sku].lots + ERP MCP mfgDate join (lotNo 매칭) |
동작 특성
qtyAvailable > 0LOT 만 응답에 포함 (qty=0 LOT 자동 제외 → 후속 매핑 단순)- 다중 창고는 병렬 호출 (
WMS_BULK_CONCURRENCY만큼) — 시간 부담 없음 - WMS 응답
resultCode:"00"성공 /"94"결과 없음(빈 배열) / 그 외 에러 - read-only 도구 (재고 차감 등 mutation 없음)
개발
npm install
npm run typecheck
npm run dev
npm run build라이선스
UNLICENSED — 내부용.
