@nhnpayco-dev/mcp-devcenter 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +83 -46
  2. package/dist/index.js +20 -4
  3. package/package.json +13 -3
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # @nhnpayco-dev/mcp-devcenter
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/@nhnpayco-dev/mcp-devcenter.svg)](https://www.npmjs.com/package/@nhnpayco-dev/mcp-devcenter)
4
+ ![license](https://img.shields.io/npm/l/@nhnpayco-dev/mcp-devcenter.svg)
5
+ [![node](https://img.shields.io/node/v/@nhnpayco-dev/mcp-devcenter.svg)](https://nodejs.org)
6
+
3
7
  > PAYCO 개발자센터 가이드(온라인결제·자동결제·오프라인결제·오더클라우드·멤버십클라우드·결제정산대사)를
4
8
  > AI 에디터(Claude·Cursor·VS Code 등)에서 바로 조회·검색할 수 있게 해주는
5
9
  > MCP(Model Context Protocol) 서버.
@@ -7,12 +11,12 @@
7
11
  외부 가맹점/제휴사 개발자가 PAYCO 결제 연동을 진행할 때, 가이드 페이지를 일일이 뒤지지 않고
8
12
  AI 에디터에 자연어로 물어 즉시 정확한 답을 받을 수 있게 해줍니다.
9
13
 
10
- ```
11
- "PAYCO 자동결제 빌링키 발급부터 결제까지 흐름 알려줘"
12
- "결제 승인 API 에 필수로 보내야 하는 파라미터가 뭐야?"
13
- "에러코드 4802 무슨 뜻이야?"
14
- "BC카드 코드값은 PAYCO 에서 어떻게 표기해?"
15
- ```
14
+ AI 에디터에 이렇게 물어보면 됩니다.
15
+
16
+ - "PAYCO 자동결제 빌링키 발급부터 결제까지 흐름 알려줘"
17
+ - "결제 승인 API 에 필수로 보내야 하는 파라미터가 뭐야?"
18
+ - "에러코드 4802 무슨 뜻이야?"
19
+ - "BC카드 코드값은 PAYCO 에서 어떻게 표기해?"
16
20
 
17
21
  ---
18
22
 
@@ -96,57 +100,90 @@ AI 에디터에 자연어로 물어 즉시 정확한 답을 받을 수 있게
96
100
  | `export_validation_excel(path?, clearAfter?)` | 누적된 검수 결과를 xlsx로 추출. **3개 시트**: 검수요약 / 항목별 상세 / 공통검수체크리스트 |
97
101
  | `clear_validation_buffer()` | 누적된 검수 결과를 모두 초기화 (새 세션 시작 시) |
98
102
 
99
- **검증 도구 사용 예시 (외부 제휴사 시점):**
103
+ ### 검증 도구 사용 예시 (외부 제휴사 시점)
104
+
105
+ **① 페이로드를 붙여넣고 검수를 요청합니다.**
106
+
107
+ > 이 페이로드 검수해줘. API는 `online-easypay-01`.
100
108
 
109
+ ```json
110
+ {
111
+ "sellerKey": "S0FSJE",
112
+ "sellerOrderReferenceKey": "ORD-001",
113
+ "totalPaymentAmt": "15000",
114
+ "orderMethod": "EASYPAY"
115
+ }
101
116
  ```
102
- 사용자> 이 페이로드 검수해줘. API는 online-easypay-01.
103
- {"sellerKey":"S0FSJE", "sellerOrderReferenceKey":"ORD-001",
104
- "totalPaymentAmt": "15000", "orderMethod":"EASYPAY", ...}
105
117
 
106
- → # ✗ FAIL — online-easypay-01
107
- [POST] /outseller/order/reserve | 주문 예약 API로 결제창 호출하기
108
- 서비스: 온라인결제 | 자동실패 1개
118
+ **② 검수 결과가 돌아옵니다.**
109
119
 
110
- ## 검수 체크리스트 — 온라인결제 (22개)
111
- ✓ 개인정보 파라미터 미포함 / ✓ orderMethod 유효값 / ⬜ PAYCO 방화벽 등록 / ...
120
+ > **✗ FAIL — online-easypay-01**
121
+ > `[POST] /outseller/order/reserve` · 주문 예약 API로 결제창 호출하기
122
+ > 서비스: 온라인결제 · 자동실패 1개
123
+ >
124
+ > **검수 체크리스트 — 온라인결제 (22개)**
125
+ > ✓ 개인정보 파라미터 미포함 · ✓ orderMethod 유효값 · ⬜ PAYCO 방화벽 등록 · …
126
+ >
127
+ > **API 명세 문제 (1개)**
128
+ > ✗ `totalPaymentAmt` — 명세 `number` / 실제 `string`
112
129
 
113
- ## API 명세 문제 (1개)
114
- ✗ totalPaymentAmt: 명세 'number' / 실제 'string'
130
+ **③ 엑셀로 추출합니다.**
115
131
 
116
- 사용자> 엑셀로 추출해줘.
117
- → ✅ ~/Downloads/payco-validation-20260522-180000.xlsx 생성 완료
118
- - 시트: 검수요약 / 항목별 상세 / 공통검수체크리스트
119
- ```
132
+ > 엑셀로 추출해줘.
133
+
134
+ > ✅ `~/Downloads/payco-validation-20260522-180000.xlsx` 생성 완료
135
+ > 시트: 검수요약 / 항목별 상세 / 공통검수체크리스트
120
136
 
121
137
  ⚠️ **운영 로그(실제 카드번호·주민번호·고객 연락처 포함)는 그대로 붙여넣지 말 것.**
122
138
  테스트 환경 로그 또는 마스킹된 로그를 사용하세요. 본 MCP 서버는 입력을 검증만 하고 저장하지 않지만,
123
139
  검증 단계에서 Claude/Cursor 등 AI 측으로 텍스트가 전달됩니다.
124
140
 
125
- 사용 가능한 카테고리 슬러그 (28개):
141
+ ### 사용 가능한 카테고리 슬러그 (28개)
126
142
 
127
- | Root | 카테고리 |
128
- |---|---|
129
- | **online** (온라인 결제) | `online-start`, `online-easypay`, `online-autopay`, `online-etc`, `online-extra`, `online-extradata` 🆕, `online-code`, `online-check`, `online-sample` |
130
- | **offline** (오프라인 결제) | `offline-start`, `offline-vcat`, `offline-api`, `offline-authapi` 🆕, `offline-code`, `offline-check`, `offline-sample` |
131
- | **order** (오더 클라우드) | `order-start`, `order-vorder`, `order-code`, `order-check`, `order-sample` |
132
- | **membership** (멤버십 클라우드) | `membership-start`, `membership-vmem`, `membership-api`, `membership-code`, `membership-check`, `membership-sample` |
133
- | **calculate** | `calculate` (결제/정산 대사) |
143
+ **online** — 온라인 결제
144
+ `online-start` · `online-easypay` · `online-autopay` · `online-etc` · `online-extra` ·
145
+ `online-extradata` 🆕 · `online-code` · `online-check` · `online-sample`
146
+
147
+ **offline** — 오프라인 결제
148
+ `offline-start` · `offline-vcat` · `offline-api` · `offline-authapi` 🆕 ·
149
+ `offline-code` · `offline-check` · `offline-sample`
150
+
151
+ **order** — 오더 클라우드
152
+ `order-start` · `order-vorder` · `order-code` · `order-check` · `order-sample`
134
153
 
135
- 🆕 표시는 PAYCO 개발자센터에는 없는 사내 docx 기반 가이드입니다.
154
+ **membership** — 멤버십 클라우드
155
+ `membership-start` · `membership-vmem` · `membership-api` ·
156
+ `membership-code` · `membership-check` · `membership-sample`
157
+
158
+ **calculate** — 결제/정산 대사
159
+ `calculate`
160
+
161
+ 🆕 표시는 PAYCO 개발자센터에는 없는 사내 문서 기반 가이드입니다.
136
162
 
137
163
  ### 자동 검증 가능한 API 슬러그 (35개)
138
164
 
139
- | 카테고리 | 슬러그 |
140
- |---|---|
141
- | 온라인 reserve/승인/취소 | `online-easypay-01`~`04`, `online-autopay-01`~`06`, `online-etc-01`/`03`/`04`, `online-extra-02`/`03` |
142
- | 온라인 reserve 변형 (합성) | `online-easypay-nonmember`(비회원결제), `online-easypay-checkout`(바로구매), `online-easypay-ordersheet`(주문서결제) |
143
- | 부가정보 스키마 | `online-extradata` (reserve API의 extraData JSON 내부 26개 필드) |
144
- | 오프라인 심플형 | `offline-api-02`~`05` |
145
- | 오프라인 인증승인형 🆕 | `offline-authapi-posauth`, `-auth`, `-approval`, `-cancel`, `-netcancel` |
146
- | 오프라인 VCAT (DLL) | `offline-vcat-setpaycodata`, `-getpaycodata` |
147
- | 오더 VORDER (DLL) | `order-vorder-setdata`, `-senddata` |
148
- | 멤버십 API | `membership-api-05` |
149
- | 멤버십 VMEM (DLL) | `membership-vmem-execasyncapproval`, `-execcomplete`, `-execcancel` |
165
+ **온라인 — reserve / 승인 / 취소**
166
+ `online-easypay-01`~`04` · `online-autopay-01`~`06` ·
167
+ `online-etc-01`/`03`/`04` · `online-extra-02`/`03`
168
+
169
+ **온라인 — reserve 변형 (합성)**
170
+ `online-easypay-nonmember` (비회원결제) · `online-easypay-checkout` (바로구매) ·
171
+ `online-easypay-ordersheet` (주문서결제)
172
+
173
+ **부가정보 스키마**
174
+ `online-extradata` — reserve API 의 extraData JSON 내부 26개 필드
175
+
176
+ **오프라인**
177
+ 심플형 `offline-api-02`~`05`
178
+ 인증승인형 🆕 `offline-authapi-posauth` · `-auth` · `-approval` · `-cancel` · `-netcancel`
179
+ VCAT (DLL) `offline-vcat-setpaycodata` · `-getpaycodata`
180
+
181
+ **오더**
182
+ VORDER (DLL) `order-vorder-setdata` · `-senddata`
183
+
184
+ **멤버십**
185
+ API `membership-api-05`
186
+ VMEM (DLL) `membership-vmem-execasyncapproval` · `-execcomplete` · `-execcancel`
150
187
 
151
188
  ---
152
189
 
@@ -154,9 +191,9 @@ AI 에디터에 자연어로 물어 즉시 정확한 답을 받을 수 있게
154
191
 
155
192
  본 패키지에 포함된 가이드 정보:
156
193
  - [PAYCO 개발자센터](https://devcenter.payco.com)의 **연동하기 > 온라인/오프라인/오더/멤버십** 전 섹션 + **결제/정산 대사**
157
- - 사내 docx 기반 가이드 2종: 오프라인 POS **인증승인형 연동 가이드**, **부가정보(extraData) 명세**
194
+ - 사내 문서 기반 가이드 2종: 오프라인 POS **인증승인형 연동 가이드**, **부가정보(extraData) 명세**
158
195
 
159
- - 가이드 본문 카테고리: **28개** (devcenter 크롤 26개 + 사내 docx 2개)
196
+ - 가이드 본문 카테고리: **28개** (devcenter 크롤 26개 + 사내 문서 2개)
160
197
  - 에러코드/코드값 표 항목: **500+ 개** (4개 root 의 API 응답코드, 결제수단, 카드사, 은행, VAN사, 결제수단 코드 등 통합)
161
198
  - 자동 검증 가능한 API 명세: **35개**
162
199
  - REST API 27개 (easypay/autopay/etc/extra/offline-api/authapi 등)
@@ -179,19 +216,19 @@ AI 에디터에 자연어로 물어 즉시 정확한 답을 받을 수 있게
179
216
  PAYCO 개발자센터가 갱신될 경우 본 패키지도 주기적으로 재배포됩니다.
180
217
  항상 최신을 받으려면 설정에서 `@latest` 태그를 유지하세요.
181
218
 
182
- 특정 시점에 고정하고 싶다면 `@0.0.1` 같이 버전을 명시할 수 있습니다.
219
+ 특정 시점에 고정하고 싶다면 `@1.0.1` 같이 버전을 명시할 수 있습니다.
183
220
 
184
221
  ---
185
222
 
186
223
  ## 문의 / 이슈
187
224
 
188
225
  - PAYCO 가이드 자체 문의: <dl_payco_ts@nhn.com>
189
- - 본 MCP 서버 동작 문의: (TBD — 사내 협의 후 공식 채널 안내 예정)
226
+ - 본 MCP 서버 동작 문의: <dl_payco_ts@nhn.com>
190
227
 
191
228
  ---
192
229
 
193
230
  ## 라이선스 / 출처
194
231
 
232
+ - 라이선스: **MIT** (패키지에 포함된 `LICENSE` 파일 참조)
195
233
  - 가이드 본문 원본 저작권: NHN PAYCO Corp.
196
234
  - 패키지 형태로 가공·배포: PAYCO 개발팀
197
- - 라이선스: TBD (사내 협의 진행 중)
package/dist/index.js CHANGED
@@ -1,18 +1,34 @@
1
1
  #!/usr/bin/env node
2
- // PAYCO 개발자센터 MCP 서버 - 스켈레톤
3
- // 실제 6개 도구는 src/tools/ 에서 등록 (Task #7).
2
+ // PAYCO 개발자센터 MCP 서버 진입점.
3
+ // 도구 11개는 src/tools.ts 에서 등록한다.
4
+ import { readFile } from "node:fs/promises";
5
+ import { dirname, resolve } from "node:path";
6
+ import { fileURLToPath } from "node:url";
4
7
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
8
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
6
9
  import { loadDataStore } from "./data.js";
7
10
  import { registerAllTools } from "./tools.js";
11
+ /** package.json 의 version 을 그대로 사용한다.
12
+ * 하드코딩하면 배포 버전과 어긋난다(1.0.0 배포본이 0.2.0 으로 보고된 전례). */
13
+ async function packageVersion() {
14
+ try {
15
+ const here = dirname(fileURLToPath(import.meta.url)); // dist/
16
+ const raw = await readFile(resolve(here, "..", "package.json"), "utf8");
17
+ return JSON.parse(raw).version || "0.0.0";
18
+ }
19
+ catch {
20
+ return "0.0.0";
21
+ }
22
+ }
8
23
  async function main() {
9
24
  const store = await loadDataStore();
10
- console.error(`[payco-mcp-devcenter] loaded: ${store.index.category_count} guides, ` +
25
+ const version = await packageVersion();
26
+ console.error(`[payco-mcp-devcenter] v${version} loaded: ${store.index.category_count} guides, ` +
11
27
  `${store.errorCodes.total_items} error codes, ` +
12
28
  `data=${store.dataDir}`);
13
29
  const server = new McpServer({
14
30
  name: "payco-mcp-devcenter",
15
- version: "0.2.0",
31
+ version,
16
32
  });
17
33
  registerAllTools(server, store);
18
34
  const transport = new StdioServerTransport();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nhnpayco-dev/mcp-devcenter",
3
- "version": "1.0.0",
4
- "description": "PAYCO 개발자센터 가이드 전체(온라인·오프라인·오더·멤버십·결제정산) 를 AI 에디터에서 바로 조회·검색할 수 있게 해주는 MCP 서버",
3
+ "version": "1.0.2",
4
+ "description": "PAYCO 개발자센터 가이드 전체(온라인·오프라인·오더·멤버십·결제정산) 를 AI 에디터에서 바로 조회·검색할 수 있게 해주는 MCP 서버 (PAYCO Developer Center integration guide MCP server for Claude, Cursor and AI agents)",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "payco-mcp-devcenter": "dist/index.js"
@@ -34,13 +34,23 @@
34
34
  "keywords": [
35
35
  "mcp",
36
36
  "model-context-protocol",
37
+ "modelcontextprotocol",
37
38
  "payco",
39
+ "nhnpayco",
38
40
  "nhn-payco",
41
+ "payco-devcenter",
42
+ "devcenter",
39
43
  "payment",
44
+ "payment-gateway",
45
+ "pg",
40
46
  "online-payment",
41
47
  "auto-payment",
42
48
  "billing",
43
- "devcenter",
49
+ "integration-guide",
50
+ "ai",
51
+ "llm",
52
+ "agent",
53
+ "developer-tools",
44
54
  "korean",
45
55
  "claude",
46
56
  "cursor"