← MCP Security Catalog

PortOne MCP Server 0.20.1

npm · @portone/mcp-server · latest release

Scan failed
Security result
16
Observed tools
Version rating
Change risk

Independent inventory

Observed 2026-08-21T17:23:43.786Z using mcpSecurity-inventory. Protocol 2025-06-18.

ToolCategoryRisk
addTestChannel고객사의 대표상점에 공용 테스트 채널을 추가합니다. NOTE: 반드시 listSharedTestChannels를 통해 얻은 MID를 사용하세요.
Input schema
{
  "type": "object",
  "properties": {
    "mid": {
      "type": "string",
      "description": "테스트 채널의 PG사 MID"
    },
    "manualConfirm": {
      "type": "boolean",
      "default": false,
      "description": "수동 승인 사용 여부"
    }
  },
  "required": [
    "mid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "channelKey": {
      "type": "string",
      "description": "추가된 채널의 채널키"
    }
  },
  "required": [
    "channelKey"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getChannelsOfStore고객사의 상점에 존재하는 모든 채널 정보를 가져옵니다.
Input schema
{
  "type": "object",
  "properties": {
    "store": {
      "type": "string",
      "description": "채널을 검색할 상점아이디"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "pg",
          "mid",
          "name",
          "usage",
          "createdAt",
          "modifiedAt",
          "taxType",
          "key",
          "canV2",
          "manualConfirm"
        ]
      },
      "description": "결과로 받을 채널 정보 목록"
    }
  },
  "required": [
    "store",
    "fields"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "채널 ID로 채널 수정 시마다 변경됩니다. 모든 결제건은 채널 ID와 햠께 저장되어 채널 수정 후에도 이전 ID를 유지합니다."
          },
          "pg": {
            "type": "string",
            "description": "PG사 결제 모듈의 식별자로, PG사별로 여러 모듈이 있을 수 있습니다."
          },
          "mid": {
            "type": "string",
            "description": "PG사에서 고객사를 구분하기 위한 ID"
          },
          "name": {
            "type": "string",
            "description": "채널명"
          },
          "usage": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "PAYMENT",
                "IDENTITY"
              ]
            },
            "description": "채널을 사용 가능한 용도"
          },
          "createdAt": {
            "type": "string",
            "description": "생성 시각"
          },
          "modifiedAt": {
            "type": "string",
            "description": "마지막 수정 시각"
          },
          "taxType": {
            "type": "string",
            "description": "정산 시에만 참고하는, MID의 과세 정보"
          },
          "key": {
            "type": "string",
            "description": "채널 키"
          },
          "canV2": {
            "type": "boolean",
            "description": "V2 사용 가능 여부"
          },
          "manualConfirm": {
            "type": "boolean",
            "description": "수동 승인 (2-transaction) 사용 여부"
          }
        },
        "additionalProperties": false
      },
      "description": "조회된 채널 목록"
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getPaymentsByFilter포트원 서버에서 주어진 조건을 모두 만족하는 결제 내역을 검색합니다. Note: 소문자 imp_ 혹은 imps_ 로 시작하는 거래번호는 고객사 거래번호가 아닌 V1 포트원 거래번호(imp_uid)일 가능성이 있습니다. 날짜 및 시간 정보 입출력 시에는 반드시 타임존을 명시합니다.
Input schema
{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "format": "date-time",
      "description": "조회 시작 시간 (ISO 8601 형식)"
    },
    "to": {
      "type": "string",
      "format": "date-time",
      "description": "조회 종료 시간 (ISO 8601 형식)"
    },
    "timeType": {
      "type": "string",
      "enum": [
        "CREATED_AT",
        "STATUS_CHANGED_AT"
      ],
      "description": "from, to로 제약할 결제건의 기준 시각 조건"
    },
    "page": {
      "type": "number",
      "minimum": 0,
      "description": "검색할 페이지 위치입니다. 0부터 시작합니다."
    },
    "pageSize": {
      "type": "number",
      "minimum": 1,
      "default": 10,
      "description": "한 페이지에 반환할 결과의 수"
    },
    "status": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "READY",
          "PENDING",
          "VIRTUAL_ACCOUNT_ISSUED",
          "PAID",
          "FAILED",
          "PARTIAL_CANCELLED",
          "CANCELLED"
        ]
      },
      "description": "포함할 결제 상태 목록"
    },
    "types": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "NORMAL",
          "SCHEDULE"
        ]
      },
      "description": "일반 / 정기결제 여부"
    },
    "method": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "CARD",
          "TRANSFER",
          "VIRTUAL_ACCOUNT",
          "GIFT_CERTIFICATE",
          "MOBILE",
          "EASY_PAY",
          "CONVENIENCE_STORE",
          "POINT"
        ]
      },
      "description": "포함할 결제수단 목록"
    },
    "pg": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "HTML5_INICIS",
          "PAYPAL",
          "PAYPAL_V2",
          "INICIS",
          "DANAL",
          "NICE",
          "DANAL_TPAY",
          "JTNET",
          "UPLUS",
          "NAVERPAY",
          "KAKAO",
          "SETTLE",
          "KCP",
          "MOBILIANS",
          "KAKAOPAY",
          "NAVERCO",
          "SYRUP",
          "KICC",
          "EXIMBAY",
          "SMILEPAY",
          "PAYCO",
          "KCP_BILLING",
          "ALIPAY",
          "PAYPLE",
          "CHAI",
          "BLUEWALNUT",
          "SMARTRO",
          "SMARTRO_V2",
          "PAYMENTWALL",
          "TOSSPAYMENTS",
          "KCP_QUICK",
          "DAOU",
          "GALAXIA",
          "TOSSPAY",
          "KCP_DIRECT",
          "SETTLE_ACC",
          "SETTLE_FIRM",
          "INICIS_UNIFIED",
          "KSNET",
          "PINPAY",
          "NICE_V2",
          "TOSS_BRANDPAY",
          "WELCOME",
          "TOSSPAY_V2",
          "INICIS_V2",
          "KPN",
          "KCP_V2",
          "HYPHEN",
          "EXIMBAY_V2",
          "INICIS_JP",
          "PAYLETTER_GLOBAL"
        ]
      },
      "description": "포함할 PG사 모듈 목록"
    },
    "channel": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "LIVE",
          "TEST"
        ]
      },
      "description": "실연동 및 테스트 포함 목록"
    },
    "currency": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 3,
        "maxLength": 3
      },
      "description": "포함할 통화 목록, 세 자리 통화 코드"
    },
    "webhook": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "SUCCEEDED",
          "FAILED_NOT_OK_RESPONSE",
          "FAILED_UNEXPECTED_ERROR"
        ]
      },
      "description": "포함할 결제건의 웹훅 상태 목록"
    },
    "id": {
      "type": "string",
      "description": "paymentId / txId / imp_uid / merchant_uid 검색 필드"
    },
    "order": {
      "type": "string",
      "description": "결제건의 주문명"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "amount",
          "billKey",
          "channel",
          "group",
          "currency",
          "customer",
          "history",
          "webhook",
          "order",
          "txId",
          "storeId",
          "schedule",
          "requestAt",
          "paymentId",
          "method",
          "failure",
          "cancellation",
          "amount.total",
          "amount.taxFree",
          "amount.vat",
          "amount.supply",
          "amount.dc",
          "amount.cancel",
          "amount.taxFreeCancel",
          "amount.cardDc",
          "amount.easyDc",
          "amount.promotionDc",
          "amount.balance",
          "channel.type",
          "channel.id",
          "channel.key",
          "channel.name",
          "channel.pg",
          "channel.mid",
          "group.id",
          "group.name",
          "group.test",
          "history.status",
          "history.changedAt",
          "history.paid",
          "history.cancel",
          "failure.reason",
          "failure.pgCode",
          "failure.pgMessage",
          "cancellation.reason",
          "cancellation.amount",
          "cancellation.requestAt",
          "cancellation.cancelAt",
          "cancellation.trigger"
        ]
      },
      "description": "검색 결과로 받을 필드 목록입니다."
    }
  },
  "required": [
    "from",
    "to",
    "timeType",
    "page",
    "fields"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number",
                "description": "총 금액"
              },
              "taxFree": {
                "type": "number",
                "description": "면세 금액"
              },
              "vat": {
                "type": "number",
                "description": "부가세"
              },
              "supply": {
                "type": "number",
                "description": "공급가액"
              },
              "dc": {
                "type": "number",
                "description": "할인액"
              },
              "cancel": {
                "type": "number",
                "description": "총 취소액"
              },
              "taxFreeCancel": {
                "type": "number",
                "description": "면세 취소액"
              },
              "cardDc": {
                "type": "number",
                "description": "카드사 할인액"
              },
              "easyDc": {
                "type": "number",
                "description": "간편결제 할인액"
              },
              "promotionDc": {
                "type": "number",
                "description": "프로모션 할인액"
              },
              "balance": {
                "type": "number",
                "description": "취소 가능 잔액"
              }
            },
            "additionalProperties": false,
            "description": "금액 정보"
          },
          "billKey": {
            "type": "string",
            "description": "사용된 빌링키"
          },
          "channel": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "채널 실연동 종류"
              },
              "id": {
                "type": "string",
                "description": "채널 ID. 채널을 수정하면 채널 ID가 변경되며 채널키는 유지됨."
              },
              "key": {
                "type": "string",
                "description": "채널키"
              },
              "name": {
                "type": "string",
                "description": "채널명"
              },
              "pg": {
                "type": "string",
                "description": "PG사 모듈"
              },
              "mid": {
                "type": "string",
                "description": "PG사 MID"
              }
            },
            "additionalProperties": false,
            "description": "결제 당시 선택된 채널 정보"
          },
          "group": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "채널 그룹 ID"
              },
              "name": {
                "type": "string",
                "description": "그룹명"
              },
              "test": {
                "type": "boolean",
                "description": "테스트 여부"
              }
            },
            "additionalProperties": false,
            "description": "채널 그룹 정보"
          },
          "currency": {
            "type": "string",
            "description": "결제 통화"
          },
          "customer": {
            "type": "string",
            "description": "고객 ID"
          },
          "history": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "description": "거래 상태"
                },
                "changedAt": {
                  "type": "string",
                  "description": "상태 변경 시각"
                },
                "paid": {
                  "type": "number",
                  "description": "결제액"
                },
                "cancel": {
                  "type": "number",
                  "description": "취소액"
                }
              },
              "additionalProperties": false
            },
            "description": "결제 상태 변경 기록"
          },
          "webhook": {
            "type": "string",
            "description": "마지막 웹훅 수신 결과"
          },
          "order": {
            "type": "string",
            "description": "주문명"
          },
          "txId": {
            "type": "string",
            "description": "포트원 거래번호 (V1에서는 imp_uid)"
          },
          "storeId": {
            "type": "string",
            "description": "거래 발생 상점아이디"
          },
          "schedule": {
            "type": "string",
            "description": "결제 예약 ID"
          },
          "requestAt": {
            "type": "string",
            "description": "결제 요청 시각"
          },
          "paymentId": {
            "type": "string",
            "description": "고객사 거래번호 (V1에서는 merchant_uid)"
          },
          "method": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "사용된 결제수단 목록"
          },
          "failure": {
            "type": "object",
            "properties": {
              "reason": {
                "type": "string",
                "description": "결제 실패 사유"
              },
              "pgCode": {
                "type": "string",
                "description": "PG사 실패 코드"
              },
              "pgMessage": {
                "type": "string",
                "description": "PG사 실패 메시지"
              }
            },
            "additionalProperties": false,
            "description": "결제 실패 정보. 실패한 결제건에만 존재함."
          },
          "cancellation": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reason": {
                  "type": "string",
                  "description": "결제 취소 사유"
                },
                "amount": {
                  "type": "number",
                  "description": "취소 금액"
                },
                "requestAt": {
                  "type": "string",
                  "description": "취소 요청 시각"
                },
                "cancelAt": {
                  "type": "string",
                  "description": "취소 완료 시각"
                },
                "trigger": {
                  "type": "string",
                  "description": "취소 요청 주체 (CONSOLE, API, PORTONE_ADMIN, CHARGEBACK)"
                }
              },
              "additionalProperties": false
            },
            "description": "결제 취소 내역. 전체 / 부분 취소된 결제건에만 존재함."
          }
        },
        "additionalProperties": false
      },
      "description": "조회된 결제 목록"
    },
    "count": {
      "type": "number",
      "description": "페이지와 관계없이 조건에 맞는 결제 총 개수"
    }
  },
  "required": [
    "items",
    "count"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getPortoneDocsUrl포트원 개별 문서들의 경로를 통해 해당 포트원 문서의 웹으로 접근 가능한 링크를 가져옵니다. Note: 문서가 1개뿐인 경우에는 readPortoneDoc을 사용하면 문서 내용과 메타 정보도 획득할 수 있습니다. getPortoneDocsUrl은 여러 문서의 링크를 가져올 수 있습니다.
Input schema
{
  "type": "object",
  "properties": {
    "path": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "읽을 포트원 문서들의 경로 목록"
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "문서를 웹으로 접근 가능한 링크가 입력한 문서 순서대로 주어집니다."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getReconciliationsByFilter특정 하위 상점(store)의 거래대사(정산/거래 대사) 건별 내역을 조회합니다. 각 건은 다음 상태 중 하나를 가집니다: MATCHED(대사 성공), NOT_MATCHED(대사 불일치), INCOMPARABLE(대사 불가), NOT_COLLECTED(PG 정보 미수집), POST_CORRECTION(후보정) (내부적으로 구분되는 역방향 대사 불가(backward incomparable)는 INCOMPARABLE 로 합쳐져 제공됩니다.) 대사 불일치 상세는 statuses=[NOT_MATCHED] 로 조회 후 각 건의 notMatchedReasons 를 확인합니다. 대사 불가 사유는 INCOMPARABLE 건의 incomparableReason 필드에서 확인합니다. 날짜는 반드시 YYYY-MM-DD 형식으로 입력하며, dateType 으로 정산일/결제일 기준을 선택합니다. 조회 기간 제약: from 은 최근 6개월 이내여야 하고, 한 번에 조회 가능한 구간은 최대 2주입니다. store 아이디는 list_stores 도구로 먼저 조회할 수 있습니다.
Input schema
{
  "type": "object",
  "properties": {
    "store": {
      "type": "string",
      "description": "조회할 하위 상점 아이디. 생략하면 고객사 내 모든 하위 상점을 조회합니다."
    },
    "dateType": {
      "type": "string",
      "enum": [
        "SETTLEMENT",
        "TRANSACTION"
      ],
      "default": "TRANSACTION",
      "description": "from/to 로 제약할 기준 (정산일 / 결제일)"
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "조회 시작일 (YYYY-MM-DD)"
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "조회 종료일 (YYYY-MM-DD)"
    },
    "statuses": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "MATCHED",
          "NOT_MATCHED",
          "INCOMPARABLE",
          "NOT_COLLECTED"
        ]
      },
      "description": "포함할 대사 상태 목록. 불일치 건만 보려면 [NOT_MATCHED] 로 지정합니다."
    },
    "actionTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "APPROVAL",
          "FULL_CANCEL",
          "PARTIAL_CANCEL",
          "UNCLASSIFIED_CANCEL",
          "POST_CORRECTION"
        ]
      },
      "description": "포함할 결제 상태 목록"
    },
    "paymentMethodTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "CARD",
          "CHARGE",
          "TRANSFER",
          "ARS",
          "GIFT_CERTIFICATE",
          "MOBILE",
          "VIRTUAL_ACCOUNT",
          "ETC",
          "EASY_PAY_ETC",
          "EASY_PAY_PAYCO",
          "EASY_PAY_SAMSUNGPAY",
          "EASY_PAY_SSGPAY",
          "EASY_PAY_KAKAOPAY",
          "EASY_PAY_NAVERPAY",
          "EASY_PAY_CHAI",
          "EASY_PAY_LPAY",
          "EASY_PAY_KPAY",
          "EASY_PAY_TOSSPAY",
          "EASY_PAY_LGPAY",
          "EASY_PAY_APPLEPAY",
          "EASY_PAY_PINPAY",
          "EASY_PAY_SKPAY",
          "EASY_PAY_WECHATPAY",
          "EASY_PAY_PAYPAL",
          "EASY_PAY_ALIPAY",
          "EASY_PAY_TOSS_BRANDPAY",
          "EASY_PAY_KB_APP",
          "EASY_PAY_TMONEYPAY",
          "EASY_PAY_HYPHEN",
          "EASY_PAY_OK_CASHBAG",
          "EASY_PAY_BENEPIA"
        ]
      },
      "description": "포함할 결제 수단 목록"
    },
    "transactionCurrencies": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 3,
        "maxLength": 3
      },
      "description": "포함할 결제 통화 목록 (세 자리 통화 코드)"
    },
    "settlementCurrencies": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 3,
        "maxLength": 3
      },
      "description": "포함할 정산 통화 목록 (세 자리 통화 코드)"
    },
    "paymentId": {
      "type": "string",
      "description": "고객사 결제 아이디 검색"
    },
    "transactionId": {
      "type": "string",
      "description": "포트원 결제 아이디 검색"
    },
    "pgTxId": {
      "type": "string",
      "description": "PG사 거래 아이디 검색"
    },
    "orderName": {
      "type": "string",
      "description": "주문명 검색"
    },
    "first": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "default": 20,
      "description": "조회할 건 수 (최대 100)"
    },
    "after": {
      "type": "string",
      "description": "이전 페이지의 마지막 커서 (endCursor 값)"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "거래대사 아이디"
          },
          "status": {
            "type": "string",
            "description": "대사 상태 (MATCHED/NOT_MATCHED/INCOMPARABLE/NOT_COLLECTED/POST_CORRECTION)"
          },
          "actionType": {
            "type": "string",
            "description": "결제 상태 (승인/취소/후보정)"
          },
          "pgProvider": {
            "type": "string",
            "description": "대사용 PG사"
          },
          "pgMerchantId": {
            "type": "string",
            "description": "PG사 가맹점 식별 아이디"
          },
          "pgTxId": {
            "type": "string",
            "description": "PG사 거래 아이디"
          },
          "paymentAmount": {
            "type": "number",
            "description": "결제 금액"
          },
          "supplyAmount": {
            "type": "number",
            "description": "공급가액"
          },
          "vatAmount": {
            "type": "number",
            "description": "부가세"
          },
          "taxFreeAmount": {
            "type": "number",
            "description": "면세가액"
          },
          "anomalyAmount": {
            "type": "number",
            "description": "거래이상 금액"
          },
          "paidAt": {
            "type": "string",
            "description": "결제일"
          },
          "paymentCurrency": {
            "type": "string",
            "description": "결제 통화"
          },
          "isEscrow": {
            "type": "boolean",
            "description": "에스크로 여부"
          },
          "paymentMethodType": {
            "type": "string",
            "description": "결제 수단 종류(__typename 기반)"
          },
          "transactionId": {
            "type": "string",
            "description": "포트원 결제 아이디"
          },
          "paymentId": {
            "type": "string",
            "description": "고객사 결제 아이디"
          },
          "orderName": {
            "type": "string",
            "description": "주문명"
          },
          "storeId": {
            "type": "string",
            "description": "하위 상점 아이디"
          },
          "notMatchedReasons": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "대사 불일치 사유 목록 (NOT_MATCHED 인 경우)"
          },
          "incomparableReason": {
            "type": "string",
            "description": "대사 불가 사유 (INCOMPARABLE 인 경우). 내부 backward_incomparable 사유(PG_COLLECTION_FAILED/PG_DATA_MISSING 등)도 이 값으로 병합되어 제공됩니다."
          },
          "settlement": {
            "type": "object",
            "properties": {
              "feeAmount": {
                "type": "number",
                "description": "PG 수수료"
              },
              "feeVatAmount": {
                "type": "number",
                "description": "PG 수수료 부가세"
              },
              "settlementAmount": {
                "type": "number",
                "description": "정산 금액"
              },
              "settlementCurrency": {
                "type": "string",
                "description": "정산 통화"
              },
              "settlementDate": {
                "type": "string",
                "description": "정산일"
              }
            },
            "additionalProperties": false,
            "description": "정산 정보"
          }
        },
        "additionalProperties": false
      },
      "description": "조회된 거래대사 목록"
    },
    "hasNextPage": {
      "type": "boolean",
      "description": "다음 페이지 존재 여부"
    },
    "endCursor": {
      "type": "string",
      "description": "다음 페이지 조회에 사용할 커서 (after 로 전달)"
    }
  },
  "required": [
    "items",
    "hasNextPage",
    "endCursor"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getSettlementStatistics특정 하위 상점(store)의 거래대사 정산 통계를 조회합니다. 검색 구간 내 통화별 합산 통계(정산/정산예정 금액·건수)와 일별 통계를 제공합니다. 날짜는 반드시 YYYY-MM-DD 형식으로 입력합니다. 조회 기간 제약: from 은 최근 6개월 이내여야 하고, 한 번에 조회 가능한 구간은 최대 1개월입니다. store 아이디는 list_stores 도구로 먼저 조회할 수 있습니다.
Input schema
{
  "type": "object",
  "properties": {
    "store": {
      "type": "string",
      "description": "조회할 하위 상점 아이디. 생략하면 고객사 내 모든 하위 상점을 조회합니다."
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "정산일 조회 시작일 (YYYY-MM-DD)"
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "정산일 조회 종료일 (YYYY-MM-DD)"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "rangeTotalStatistics": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "통화"
          },
          "amount": {
            "type": "number",
            "description": "정산 금액"
          },
          "count": {
            "type": "number",
            "description": "정산 건 수"
          },
          "pendingAmount": {
            "type": "number",
            "description": "정산 예정 금액"
          },
          "pendingCount": {
            "type": "number",
            "description": "정산 예정 건 수"
          }
        },
        "required": [
          "currency",
          "amount",
          "count",
          "pendingAmount",
          "pendingCount"
        ],
        "additionalProperties": false
      },
      "description": "검색 구간 내 통화별 합산 통계"
    },
    "dailyStatistics": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "정산일"
          },
          "statistics": {
            "type": "array",
            "items": {
              "$ref": "#/properties/rangeTotalStatistics/items"
            },
            "description": "해당 일자의 통화별 통계"
          }
        },
        "required": [
          "date",
          "statistics"
        ],
        "additionalProperties": false
      },
      "description": "일별 정산 통계"
    }
  },
  "required": [
    "rangeTotalStatistics",
    "dailyStatistics"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getSettlementSummaries특정 하위 상점(store)의 거래대사 정산 요약을 정산일 기준 일별로 조회합니다. 각 일자별로 정산 금액/건수, PG 수수료, 취소, 후보정 합산치와 상점·PG별 상세 내역을 제공합니다. 날짜는 반드시 YYYY-MM-DD 형식으로 입력합니다. 조회 기간 제약: from 은 최근 6개월 이내여야 하고, 한 번에 조회 가능한 구간은 최대 1개월입니다. store 아이디는 list_stores 도구로 먼저 조회할 수 있습니다.
Input schema
{
  "type": "object",
  "properties": {
    "store": {
      "type": "string",
      "description": "조회할 하위 상점 아이디. 생략하면 고객사 내 모든 하위 상점을 조회합니다."
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "정산일 조회 시작일 (YYYY-MM-DD)"
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "정산일 조회 종료일 (YYYY-MM-DD)"
    },
    "first": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "default": 31,
      "description": "조회할 일 수 (최대 100)"
    },
    "after": {
      "type": "string",
      "description": "이전 페이지의 마지막 커서"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "정산일"
          },
          "settlementCurrency": {
            "type": "string",
            "description": "정산 통화"
          },
          "transactionCurrency": {
            "type": "string",
            "description": "결제 통화"
          },
          "aggregate": {
            "type": "object",
            "properties": {
              "settlementAmount": {
                "type": "number",
                "description": "정산 금액"
              },
              "settlementCount": {
                "type": "number",
                "description": "정산 건 수"
              },
              "feeAmount": {
                "type": "number",
                "description": "PG 수수료"
              },
              "feeVatAmount": {
                "type": "number",
                "description": "PG 수수료 부가세"
              },
              "cancelAmount": {
                "type": "number",
                "description": "취소 금액"
              },
              "cancelCount": {
                "type": "number",
                "description": "취소 건 수"
              },
              "transactionAmount": {
                "type": "number",
                "description": "거래 합계 금액"
              },
              "postCorrectionCount": {
                "type": "number",
                "description": "후보정 건 수"
              },
              "postCorrectionAmount": {
                "type": "number",
                "description": "후보정 금액"
              }
            },
            "required": [
              "settlementAmount",
              "settlementCount",
              "feeAmount",
              "feeVatAmount",
              "cancelAmount",
              "cancelCount",
              "transactionAmount",
              "postCorrectionCount",
              "postCorrectionAmount"
            ],
            "additionalProperties": false,
            "description": "정산내역 합산 데이터"
          },
          "details": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "settlementAmount": {
                  "$ref": "#/properties/items/items/properties/aggregate/properties/settlementAmount"
                },
                "settlementCount": {
                  "$ref": "#/properties/items/items/properties/aggregate/properties/settlementCount"
                },
                "feeAmount": {
                  "$ref": "#/properties/items/items/properties/aggregate/properties/feeAmount"
                },
                "feeVatAmount": {
                  "$ref": "#/properties/items/items/properties/aggregate/properties/feeVatAmount"
                },
                "cancelAmount": {
                  "$ref": "#/properties/items/items/properties/aggregate/properties/cancelAmount"
                },
                "cancelCount": {
                  "$ref": "#/properties/items/items/properties/aggregate/properties/cancelCount"
                },
                "transactionAmount": {
                  "$ref": "#/properties/items/items/properties/aggregate/properties/transactionAmount"
                },
                "postCorrectionCount": {
                  "$ref": "#/properties/items/items/properties/aggregate/properties/postCorrectionCount"
                },
                "postCorrectionAmount": {
                  "$ref": "#/properties/items/items/properties/aggregate/properties/postCorrectionAmount"
                },
                "storeId": {
                  "type": "string",
                  "description": "하위 상점 아이디"
                },
                "pgProvider": {
                  "type": "string",
                  "description": "대사용 PG사"
                },
                "pgMerchantId": {
                  "type": "string",
                  "description": "PG사 가맹점 식별 아이디"
                }
              },
              "required": [
                "settlementAmount",
                "settlementCount",
                "feeAmount",
                "feeVatAmount",
                "cancelAmount",
                "cancelCount",
                "transactionAmount",
                "postCorrectionCount",
                "postCorrectionAmount"
              ],
              "additionalProperties": false
            },
            "description": "상점/PG 별 상세 데이터"
          }
        },
        "required": [
          "date",
          "settlementCurrency",
          "transactionCurrency",
          "aggregate",
          "details"
        ],
        "additionalProperties": false
      },
      "description": "일별 정산 요약 목록"
    },
    "hasNextPage": {
      "type": "boolean",
      "description": "다음 페이지 존재 여부"
    },
    "endCursor": {
      "type": "string",
      "description": "다음 페이지 조회에 사용할 커서"
    }
  },
  "required": [
    "items",
    "hasNextPage",
    "endCursor"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
listPortoneDocs특정 경로 하위에 있는 모든 포트원 문서 목록을 트리 형태로 조회합니다. 목록에는 문서 경로, 제목, 설명, 대상 버전 등 축약된 문서 정보가 포함되어 있습니다. Returns: 필터링된 문서 목록 (각 문서의 파일명, 길이, 제목, 설명, 대상 버전 등) Note: 문서 목록은 대량의 데이터이므로 상위 디렉토리를 조회할 경우 omitFiles를 true로 설정합니다.
Input schema
{
  "type": "object",
  "properties": {
    "paths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": [],
      "description": "하위 목록을 조회할 경로들입니다. 미입력 시 전체 목록을 조회합니다."
    },
    "onlyPaths": {
      "type": "boolean",
      "default": false,
      "description": "true인 경우 문서를 제외한 디렉토리 목록만 표시하고, 디렉토리 하위에 readme.md가 있는 경우 해당 파일의 설명을 표시합니다."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
listSharedTestChannels포트원에서 테스트 용도로 제공하는 채널의 목록을 가져옵니다.
Input schema
{
  "type": "object",
  "properties": {
    "pgProviders": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "HTML5_INICIS",
          "PAYPAL",
          "PAYPAL_V2",
          "INICIS",
          "DANAL",
          "NICE",
          "DANAL_TPAY",
          "JTNET",
          "UPLUS",
          "NAVERPAY",
          "KAKAO",
          "SETTLE",
          "KCP",
          "MOBILIANS",
          "KAKAOPAY",
          "NAVERCO",
          "SYRUP",
          "KICC",
          "EXIMBAY",
          "SMILEPAY",
          "PAYCO",
          "KCP_BILLING",
          "ALIPAY",
          "PAYPLE",
          "CHAI",
          "BLUEWALNUT",
          "SMARTRO",
          "SMARTRO_V2",
          "PAYMENTWALL",
          "TOSSPAYMENTS",
          "KCP_QUICK",
          "DAOU",
          "GALAXIA",
          "TOSSPAY",
          "KCP_DIRECT",
          "SETTLE_ACC",
          "SETTLE_FIRM",
          "INICIS_UNIFIED",
          "KSNET",
          "PINPAY",
          "NICE_V2",
          "TOSS_BRANDPAY",
          "WELCOME",
          "TOSSPAY_V2",
          "INICIS_V2",
          "KPN",
          "KCP_V2",
          "HYPHEN",
          "EXIMBAY_V2",
          "INICIS_JP",
          "PAYLETTER_GLOBAL"
        ]
      },
      "description": "목록에 있는 PG사(미설정 시 모든 PG사)만 보여줍니다."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "pg": {
            "type": "string",
            "description": "PG사 결제 모듈의 식별자로, PG사별로 여러 모듈이 있을 수 있습니다."
          },
          "mid": {
            "type": "string",
            "description": "PG사에서 고객사를 구분하기 위한 ID"
          },
          "name": {
            "type": "string",
            "description": "포트원에서 지정한 채널의 이름"
          },
          "usage": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "PAYMENT",
                "IDENTITY"
              ]
            },
            "description": "채널을 사용 가능한 용도"
          }
        },
        "required": [
          "pg",
          "mid",
          "name",
          "usage"
        ],
        "additionalProperties": false
      },
      "description": "조회된 채널 목록으로, MID가 포함됩니다."
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
listStores포트원 계정에 연결된 대표상점 및 하위상점의 정보를 가져옵니다.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Output schema
{
  "type": "object",
  "properties": {
    "main": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "거래 다건 조회용 상점 식별자"
        },
        "storeId": {
          "type": "string",
          "description": "포트원 상점아이디"
        },
        "name": {
          "type": "string",
          "description": "상점명"
        },
        "userId": {
          "type": "number",
          "description": "V1 유저 아이디"
        },
        "userCode": {
          "type": "string",
          "description": "V1 고객 식별번호"
        },
        "tierCode": {
          "type": "string",
          "description": "티어코드"
        }
      },
      "required": [
        "id",
        "storeId",
        "name"
      ],
      "additionalProperties": false,
      "description": "대표상점"
    },
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/properties/main"
      },
      "description": "하위상점 목록"
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
readPortoneDoc포트원 개별 문서의 경로를 통해 해당 포트원 문서의 내용, 메타 정보(제목, 설명, 대상 버전 등), 웹으로 접근 가능한 링크를 가져옵니다. Note: 먼저 listPortoneDocs을 사용해 포트원 문서 목록을 확인하고, 그 중 원하는 문서의 path를 readPortoneDoc에 전달하여 내용을 확인할 수 있습니다.
Input schema
{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "읽을 포트원 문서의 경로"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "content",
          "metadata",
          "url"
        ]
      },
      "description": "받을 필드 목록"
    },
    "startIndex": {
      "type": "number",
      "description": "읽어올 범위 시작 인덱스. 미설정 시 처음부터 읽어옵니다."
    },
    "endIndex": {
      "type": "number",
      "description": "읽어올 범위 끝 인덱스. 미설정 시 끝까지 읽어옵니다."
    }
  },
  "required": [
    "path",
    "fields"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "찾은 포트원 문서의 내용"
    },
    "metadata": {
      "type": "string",
      "description": "찾은 포트원 문서의 메타 정보"
    },
    "url": {
      "type": "string",
      "description": "문서를 웹으로 접근 가능한 링크"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
readPortoneOpenapiSchema요청된 포트원 버전에서 제공하는 OpenAPI 스키마 내 특정 path의 데이터를 반환합니다.
Input schema
{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "enum": [
        "V1",
        "V2"
      ],
      "description": "포트원 버전"
    },
    "yaml_path": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "OpenAPI 스키마 내의 yaml path (list of strings)\n키 또는 인덱스(0부터 시작)를 포함할 수 있습니다."
    }
  },
  "required": [
    "version",
    "yaml_path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "result": {
      "type": "string",
      "description": " OpenAPI 스키마를 최대 depth 3으로 요약한 YAML 형식의 문자열"
    }
  },
  "required": [
    "result"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
readPortoneOpenapiSchemaSummary요청된 포트원 버전에서 제공하는 OpenAPI 스키마를 요약해 문자열로 반환합니다. 해당 요약에는 요청된 포트원 버전에서 제공하는 모든 REST API가 포함되어 있습니다.
Input schema
{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "enum": [
        "V1",
        "V2"
      ],
      "description": "포트원 버전"
    }
  },
  "required": [
    "version"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
{
  "type": "object",
  "properties": {
    "result": {
      "type": "string",
      "description": "OpenAPI 스키마를 최대 depth 3으로 요약한 YAML 형식의 문자열"
    }
  },
  "required": [
    "result"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
readPortoneV2BackendCode지정된 매개변수에 따라 포트원 V2 백엔드 코드 예제를 가져옵니다. 포트원 V2에 관련해 어떤 상황이든 프로그래밍 언어로 코드를 작성해야 한다면, 예외 없이 가장 먼저 이 도구를 호출해 예시 코드를 참고한 후 사용자를 도우세요. framework를 제외한 모든 Args는 선택사항이며, 특정되지 않은 경우 비워두세요.
Input schema
{
  "type": "object",
  "properties": {
    "framework": {
      "type": "string",
      "description": "사용할 프레임워크. 일치하지 않더라도 현재 맥락에서 가장 유사한 프레임워크를 명시합니다. 옵션: express, fastapi, flask, spring-kotlin"
    },
    "pg": {
      "type": "string",
      "description": "사용할 결제 게이트웨이. 옵션: toss, nice, smartro, kpn, inicis, ksnet, kcp, kakao, naver, tosspay, hyphen, eximbay"
    },
    "pay_method": {
      "type": "string",
      "description": "사용할 결제 방법. 옵션: card, virtualAccount, easyPay, transfer, mobile, giftCertificate"
    },
    "smart_routing": {
      "type": "boolean",
      "description": "스마트 라우팅 사용 여부. 옵션: true 또는 false"
    }
  },
  "required": [
    "framework",
    "pg",
    "pay_method"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
readPortoneV2FrontendCode지정된 매개변수에 따라 포트원 V2 프론트엔드 코드 예제를 가져옵니다. 포트원 V2에 관련해 어떤 상황이든 프로그래밍 언어로 코드를 작성해야 한다면, 예외 없이 가장 먼저 이 도구를 호출해 예시 코드를 참고한 후 사용자를 도우세요. framework를 제외한 모든 Args는 선택사항이며, 특정되지 않은 경우 비워두세요.
Input schema
{
  "type": "object",
  "properties": {
    "framework": {
      "type": "string",
      "description": "사용할 프레임워크. 일치하지 않더라도 현재 맥락에서 가장 유사한 프레임워크를 명시합니다. 옵션: html, react"
    },
    "pg": {
      "type": "string",
      "description": "사용할 결제 게이트웨이. 옵션: toss, nice, smartro, kpn, inicis, ksnet, kcp, kakao, naver, tosspay, hyphen, eximbay"
    },
    "pay_method": {
      "type": "string",
      "description": "사용할 결제 방법. 옵션: card, virtualAccount, easyPay, transfer, mobile, giftCertificate"
    },
    "smart_routing": {
      "type": "boolean",
      "description": "스마트 라우팅 사용 여부. 옵션: true 또는 false"
    }
  },
  "required": [
    "framework",
    "pg",
    "pay_method"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
regexSearchPortoneDocs특정 경로 하위의 포트원 문서의 내용 중 Node.js RegExp 형식의 query가 매칭된 부분을 모두 찾아 반환합니다. 정규식 기반으로 관련 포트원 문서를 찾고 싶은 경우 이 도구를 사용하며, 메타 정보와 문서 내용 모두 검색합니다.
Input schema
{
  "type": "object",
  "properties": {
    "paths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "설정 시 이 경로를 접두사로 가지는 문서에서만 검색을 수행합니다. 예를 들어 OPI 문서의 경우 opi/를 입력합니다."
    },
    "query": {
      "type": "string",
      "description": "Node.js RegExp 형식의 문자열을 입력해야 하며, 영어 알파벳 대소문자는 구분 없이 매칭됩니다.\n절대 query에 공백을 포함시키지 마세요. 여러 키워드를 한 번에 검색하고 싶다면, 공백 대신 | 연산자를 사용하여 구분합니다.\n단어 글자 사이에 공백이 있는 경우도 매칭하고 싶다면, 공백 대신 \\s*를 사용하세요."
    },
    "contextSize": {
      "type": "number",
      "default": 0,
      "description": "0보다 큰 값을 설정할 경우, 검색 결과의 컨텍스트 크기로, 문자 수를 기준으로 합니다. 0 또는 50 정도를 추천합니다.\nquery 매치가 발견된 시작 인덱스를 idx라고 할 때,\nmax(0, idx - contextSize)부터 min(contentLength, idx + len(query) + contextSize) - 1까지의 내용을 반환합니다.\n단, 이전 검색결과와 겹치는 컨텍스트는 병합되어 반환됩니다."
    },
    "limit": {
      "type": "number",
      "default": 1000,
      "description": "반환할 최대 문자열 길이입니다. 출력이 이 길이를 초과하면 잘리고 truncation 메시지가 추가됩니다."
    },
    "page": {
      "type": "number",
      "default": 0,
      "description": "결과 문자열의 페이지네이션을 위한 시작 인덱스입니다. 한 페이지의 글자 수는 limit 입니다."
    },
    "showMetadata": {
      "type": "boolean",
      "default": false,
      "description": "true이면 문서의 메타데이터(제목, 설명, 대상 버전)을 결과에 포함합니다."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Resources 0

Resource templates 0

Prompts 0

Changes from previous version

No completed comparison is available.

RiskChangeSubject
No material changes recorded.

Confirmed vulnerabilities

SeverityFindingAdvisory
No confirmed vulnerability is published for this version.

Provenance

Artifact SHA-256: 5d2262d614af8bdd7ccfd4f07e347a8f40321ff2a415923ec034f406df402463

Scanner: mcp-proof-engine 0.1.0.

Let’s talk about MCP security.

Share your details and our security team will contact you.