MCP 서버

MarketPilot

it.marketpilot/marketpilot

이 MCP로 할 수 있는 일

Lets Korean small businesses browse marketing products, request quotes, create card checkout links, place orders, manage balances, and track fulfillment.

cancel_charge_request
입금 대기(PENDING) 상태의 충전 신청을 취소합니다.
파괴적 작업
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['chargeRequestId'], 'properties': {'chargeRequestId': {'type': 'integer', 'description': '충전 신청 ID'}}, 'additionalProperties': False}
create_checkout
카드로 결제할 수 있는 결제 링크를 만듭니다. 상품 ID 와 수량만 넣으면 금액은 서버가 계산해요(단가를 직접 넣을 수 없어요). 응답의 checkoutUrl 을 사용자에게 그대로 보여주세요. 링크를 열면 품목·금액을 확인하고 카드·간편결제로 바로 결제할 수 있고, 회원가입은 필요 없어요. 링크를 만드는 것만으로는 돈이 나가지 않아요(결제는 사용자가 링크에서 직접). 만들기 전에 반드시 상품·수량·예상 금액을 사용자에게 확인받고, 이름(또는 상호)은 사용자에게 직접 물어보세요.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'customerName'], 'properties': {'note': {'type': 'string', 'maxLength': 500, 'description': '요청 메모 (선택) — 매장 주소·원하는 시작일 등'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['productId', 'quantity'], 'properties': {'quantity': {'type': 'integer', 'minimum': 1, 'description': '수량 (get_product 의 최소·최대·배수 제약을 지켜야 해요)'}, 'productId': {'type': 'integer', 'description': '상품 ID (list_products 의 productId)'}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 1, 'description': '담을 상품 목록'}, 'agentName': {'type': 'string', 'maxLength': 60, 'description': '이 요청을 넣는 AI 이름 (예: Claude, ChatGPT)'}, 'companyName': {'type': 'string', 'maxLength': 100, 'description': '회사·매장명 (선택)'}, 'customerName': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': '받는 분 이름 또는 상호 — 사용자에게 직접 물어본 값'}, 'customerEmail': {'type': 'string', 'description': '이메일 (선택)'}, 'customerPhone': {'type': 'string', 'description': '휴대폰 번호 (선택, 권장) — 결제 후 진행 안내를 받을 연락처'}}, 'additionalProperties': False}
create_order
[주문 2단계] 견적을 확정해 실제 주문을 생성합니다. 포인트가 즉시 차감되므로, 반드시 사용자에게 상품·수량·금액을 확인받은 뒤 confirm:true로 호출하세요.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['quoteToken', 'productId', 'quantity', 'confirm'], 'properties': {'confirm': {'type': 'boolean', 'description': '사용자에게 최종 확인을 받았으면 true'}, 'formData': {'type': 'object', 'description': '견적과 동일한 폼 데이터', 'additionalProperties': {}}, 'quantity': {'type': 'integer', 'minimum': 1, 'description': '견적과 동일한 수량'}, 'productId': {'type': 'integer', 'description': '견적과 동일한 상품 ID'}, 'quoteToken': {'type': 'string', 'description': 'quote_order가 발급한 견적 토큰'}, 'templateOption': {'type': 'string'}}, 'additionalProperties': False}
get_charge_request
충전 신청 1건의 상태를 확인합니다. 입금 후 status가 CONFIRMED(충전 완료)로 바뀌었는지 확인하는 용도입니다.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['chargeRequestId'], 'properties': {'chargeRequestId': {'type': 'integer', 'description': '충전 신청 ID'}}, 'additionalProperties': False}
get_checkout_status
결제 링크의 상태(결제 대기·결제 완료·만료)와 결제 후 만들어진 주문의 진행 상황을 확인합니다. 사용자가 "결제했어요"라고 하면 이 툴로 확인하고, setupUrl 이 있으면 집행 정보(매장 주소 등) 입력을 안내하세요.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['checkoutToken'], 'properties': {'checkoutToken': {'type': 'string', 'maxLength': 64, 'minLength': 16, 'description': 'create_checkout 응답의 checkoutToken'}}, 'additionalProperties': False}
get_my_order
주문 1건의 진행 상황을 조회합니다. status/statusLabel(결제완료→진행중→완료), phaseLabel(상품별 세부 단계), progress(수량 진행률·결과물 링크·단계 — 제공 상품만), recentLogs(진행 로그 최신순)를 반환해요. "내 주문 어떻게 돼가?" 같은 질문에 이 툴을 쓰고, progress가 null이면 statusLabel과 recentLogs로 안내하세요.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderId'], 'properties': {'orderId': {'type': 'integer', 'description': '주문 ID (list_my_orders의 orderId)'}}, 'additionalProperties': False}
get_point_balance
포인트 잔액을 조회합니다. 1P = 1원이며 주문 결제는 포인트로 이뤄집니다.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
get_product
상품 1개의 상세(단가·수량 제약)와 집행에 필요한 입력 항목(formFields)을 조회합니다. 결제 링크를 만들기 전에 수량 제약을 확인하세요.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['productId'], 'properties': {'productId': {'type': 'integer', 'description': '상품 ID (list_products 의 productId)'}}, 'additionalProperties': False}
list_charge_requests
내 포인트 충전 신청 내역을 조회합니다.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'minimum': 1}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}}, 'additionalProperties': False}
list_my_orders
내 주문 내역을 조회합니다. status로 필터할 수 있어요 (paid=결제완료, in_progress=진행중, completed=완료, refunded=환불, stopped=중단).
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'minimum': 1, 'description': '페이지 (기본 1)'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': '페이지당 건수 (기본 10)'}, 'status': {'type': 'string', 'description': '상태 필터'}}, 'additionalProperties': False}
list_products
주문 가능한 마케팅 상품 목록(상품 ID·이름·분류·단가·최소/최대 수량)을 조회합니다. aiOrderable=false 인 상품은 결제 링크로 주문할 수 없고 웹사이트나 상담(submit_inquiry)으로 안내해야 합니다. 로그인(키) 없이도 쓸 수 있어요.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
quote_order
[주문 1단계] 견적을 요청합니다. 총액·포인트 잔액·부족분과 15분 유효한 quoteToken을 돌려줍니다. 돈이 나가지 않는 안전한 호출입니다.
읽기 전용
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['productId', 'quantity'], 'properties': {'formData': {'type': 'object', 'description': 'get_product의 formFields에 맞춘 입력값 (예: nPlaceRawUrl, targetName, dailyTaskCount 등)', 'additionalProperties': {}}, 'quantity': {'type': 'integer', 'minimum': 1, 'description': '주문 수량 (단가 × 수량 = 총액)'}, 'productId': {'type': 'integer', 'description': '상품 ID'}, 'templateOption': {'type': 'string', 'description': '상품 템플릿 옵션 (필요한 상품만)'}}, 'additionalProperties': False}
request_point_charge
포인트 충전을 신청합니다. 응답의 transfer(무통장 입금 계좌·입금자명·금액)를 사용자에게 안내하세요. 실제 이체는 사용자가 직접 해야 하며, 입금자명·금액이 일치하면 몇 분 내 자동 충전됩니다.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amount', 'depositorName'], 'properties': {'amount': {'type': 'integer', 'minimum': 1, 'description': '충전할 포인트 (원 단위, 1P=1원)'}, 'depositorName': {'type': 'string', 'minLength': 1, 'description': '입금자명 — 실제 이체 시 사용할 이름과 정확히 일치해야 자동 충전됩니다'}, 'cashReceiptType': {'type': 'string', 'description': '증빙 종류: 세금계산서 | 소득공제 | 지출증빙 (선택)'}, 'taxInvoiceEmail': {'type': 'string', 'description': '세금계산서 수신 이메일'}, 'cashReceiptMethod': {'type': 'string', 'description': '현금영수증 발급 방법 (소득공제/지출증빙 시)'}, 'cashReceiptIdNumber': {'type': 'string', 'description': '사업자등록번호 또는 현금영수증 발급 번호'}}, 'additionalProperties': False}
search_places
네이버 플레이스를 업체명·키워드로 검색합니다. 사용자의 매장을 특정해 placeId·업체명·주소를 얻는 용도입니다.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['keyword'], 'properties': {'keyword': {'type': 'string', 'minLength': 1, 'description': '업체명 또는 검색 키워드 (예: "강남 OO삼겹살")'}}, 'additionalProperties': False}
send_signup_code
[회원가입 1단계] 사용자의 휴대폰으로 인증번호 문자를 보냅니다. 사용자가 가입을 원한다고 분명히 말했을 때만 호출하세요. 문자를 받은 사용자에게 번호를 물어본 뒤 signup 으로 넘기세요. 결제 링크(create_checkout)는 가입 없이도 쓸 수 있어요.
외부 접근 가능
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['phone'], 'properties': {'phone': {'type': 'string', 'maxLength': 20, 'minLength': 10, 'description': '휴대폰 번호 (010 으로 시작)'}}, 'additionalProperties': False}
signup
[회원가입 2단계] 인증번호를 확인하고 계정을 만듭니다. 아이디·비밀번호·이름은 사용자에게 직접 받으세요(임의로 짓지 마세요). 약관 동의는 사람의 의사표시예요 — 사용자에게 이용약관(https://www.marketpilot.it/terms)과 개인정보처리방침(https://www.marketpilot.it/privacy)을 안내하고 동의한다는 답을 받은 경우에만 true 로 넣으세요. 앞서 만든 결제 링크가 있으면 checkoutToken 을 같이 넣어 그 주문을 새 계정에 연결하세요.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['phone', 'code', 'loginId', 'password', 'name', 'agreedToTerms', 'agreedToPrivacy'], 'properties': {'code': {'type': 'string', 'maxLength': 10, 'minLength': 4, 'description': '문자로 받은 인증번호 (사용자에게 물어본 값)'}, 'name': {'type': 'string', 'maxLength': 15, 'minLength': 1, 'description': '이름'}, 'email': {'type': 'string', 'description': '이메일 (선택)'}, 'phone': {'type': 'string', 'maxLength': 20, 'minLength': 10, 'description': 'send_signup_code 에 쓴 휴대폰 번호'}, 'loginId': {'type': 'string', 'maxLength': 20, 'minLength': 4, 'description': '아이디 (영문 소문자·숫자 4~20자)'}, 'password': {'type': 'string', 'maxLength': 64, 'minLength': 8, 'description': '비밀번호 (8자 이상)'}, 'agentName': {'type': 'string', 'maxLength': 100, 'description': '이 가입을 진행하는 AI 이름'}, 'companyName': {'type': 'string', 'maxLength': 100, 'description': '회사·매장명 (선택)'}, 'agreedToTerms': {'type': 'boolean', 'description': '이용약관 동의 — 사용자에게 직접 확인받은 경우에만 true'}, 'checkoutToken': {'type': 'string', 'maxLength': 64, 'minLength': 16, 'description': '앞서 만든 결제 링크의 checkoutToken (있으면 새 계정에 연결)'}, 'agreedToPrivacy': {'type': 'boolean', 'description': '개인정보처리방침 동의 — 사용자에게 직접 확인받은 경우에만 true'}, 'agreedToMarketing': {'type': 'boolean', 'description': '마케팅 정보 수신 동의 (선택)'}}, 'additionalProperties': False}
submit_inquiry
상담·견적 문의를 접수합니다. 담당자가 영업일 1일 이내에 이메일로 회신해요. aiOrderable=false 인 상품(문의형·복잡한 견적), 원하는 게 카탈로그에 없을 때, 또는 사용자가 사람과 이야기하고 싶어할 때 사용하세요. 이름·이메일은 반드시 사용자에게 직접 물어보고 넣으세요 — 임의로 지어내면 안 돼요.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['message', 'contactName', 'contactEmail'], 'properties': {'budget': {'type': 'string', 'description': '예산 (예: 월 30만원)'}, 'message': {'type': 'string', 'minLength': 10, 'description': '문의 내용 — 업종·목표·상황을 사용자 말에서 정리해 10자 이상으로'}, 'agentName': {'type': 'string', 'description': '이 문의를 넣는 AI 이름 (예: Claude, ChatGPT)'}, 'companyName': {'type': 'string', 'description': '업체명 (선택)'}, 'contactName': {'type': 'string', 'minLength': 1, 'description': '회신받을 이름 (사용자에게 확인)'}, 'inquiryType': {'enum': ['consultation', 'quote', 'service', 'partnership', 'support', 'other'], 'type': 'string', 'description': 'consultation=뭐가 맞는지 상담 / quote=견적 / service=서비스 질문 / partnership=제휴 / support=기존 주문·계정'}, 'businessType': {'type': 'string', 'description': '업종 (예: 음식점, 카페, 미용실)'}, 'contactEmail': {'type': 'string', 'minLength': 1, 'description': '회신받을 이메일 (사용자에게 확인)'}, 'contactPhone': {'type': 'string', 'description': '연락처 (선택)'}, 'interestedServices': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'description': '관심 서비스명 목록'}}, 'additionalProperties': False}
whoami
지금 이 연결의 신원과 권한, 쓸 수 있는 툴 전체를 돌려줘요. 회사 데이터를 다루는 작업을 시작하기 전에 한 번 부르면, 서버에 새로 추가된 기능까지 재접속 없이 알 수 있어요. "뭘 할 수 있어?", "권한이 어떻게 돼?" 같은 질문에도 이걸 쓰세요. 어떤 툴이 안 보이면 unavailableGroups 의 reason 에 이유가 적혀 있어요.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
추가됨
cancel_charge_request
2026년 9월 23일 2:41 AM
추가됨
get_charge_request
2026년 9월 23일 2:41 AM
추가됨
list_charge_requests
2026년 9월 23일 2:41 AM
추가됨
request_point_charge
2026년 9월 23일 2:41 AM
추가됨
get_point_balance
2026년 9월 23일 2:41 AM
추가됨
get_my_order
2026년 9월 23일 2:41 AM
추가됨
list_my_orders
2026년 9월 23일 2:41 AM
추가됨
create_order
2026년 9월 23일 2:41 AM
추가됨
quote_order
2026년 9월 23일 2:41 AM
추가됨
signup
2026년 9월 21일 2:44 AM
추가됨
send_signup_code
2026년 9월 21일 2:44 AM
추가됨
submit_inquiry
2026년 9월 21일 2:44 AM
추가됨
get_checkout_status
2026년 9월 21일 2:44 AM
추가됨
create_checkout
2026년 9월 21일 2:44 AM
추가됨
search_places
2026년 9월 21일 2:44 AM
추가됨
get_product
2026년 9월 21일 2:44 AM
추가됨
list_products
2026년 9월 21일 2:44 AM
추가됨
whoami
2026년 9월 21일 2:44 AM