MarketPilot

Korean SMB marketing: browse, pay by card link, track orders. No login to start; OAuth to link.

사용해야 할까요

품질 및 안전성

A
설명 품질
76%
스키마 완전성
86%
이름 품질
96%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (8)

  • LOWTool 'get_product' description lacks action verbget_product에서
  • LOWTool 'search_places' description lacks action verbsearch_places에서
  • LOWTool 'submit_inquiry' description lacks action verbsubmit_inquiry에서
  • LOWTool 'quote_order' description lacks action verbquote_order에서
  • LOWTool 'get_point_balance' description lacks action verbget_point_balance에서
  • LOWTool 'request_point_charge' description lacks action verbrequest_point_charge에서
  • LOWTool 'list_charge_requests' description lacks action verblist_charge_requests에서
  • LOWTool 'cancel_charge_request' description lacks action verbcancel_charge_request에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~5,051토큰 (도구 정의)
~1.2 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.95%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "marketpilot": {
      "url": "https://api.marketpilot.it/mcp"
    }
  }
}

원격 엔드포인트

https://api.marketpilot.it/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (18)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢whoami

지금 이 연결의 신원과 권한, 쓸 수 있는 툴 전체를 돌려줘요. 회사 데이터를 다루는 작업을 시작하기 전에 한 번 부르면, 서버에 새로 추가된 기능까지 재접속 없이 알 수 있어요. "뭘 할 수 있어?", "권한이 어떻게 돼?" 같은 질문에도 이걸 쓰세요. 어떤 툴이 안 보이면 unavailableGroups 의 reason 에 이유가 적혀 있어요.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_products

주문 가능한 마케팅 상품 목록(상품 ID·이름·분류·단가·최소/최대 수량)을 조회합니다. aiOrderable=false 인 상품은 결제 링크로 주문할 수 없고 웹사이트나 상담(submit_inquiry)으로 안내해야 합니다. 로그인(키) 없이도 쓸 수 있어요.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product(productId)

상품 1개의 상세(단가·수량 제약)와 집행에 필요한 입력 항목(formFields)을 조회합니다. 결제 링크를 만들기 전에 수량 제약을 확인하세요.

입력 스키마

{
  "type": "object",
  "properties": {
    "productId": {
      "type": "integer",
      "description": "상품 ID (list_products 의 productId)"
    }
  },
  "required": [
    "productId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_places(keyword)

네이버 플레이스를 업체명·키워드로 검색합니다. 사용자의 매장을 특정해 placeId·업체명·주소를 얻는 용도입니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "keyword": {
      "type": "string",
      "minLength": 1,
      "description": "업체명 또는 검색 키워드 (예: \"강남 OO삼겹살\")"
    }
  },
  "required": [
    "keyword"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_checkout(items, customerName, customerPhone, customerEmail, companyName, ...)

카드로 결제할 수 있는 결제 링크를 만듭니다. 상품 ID 와 수량만 넣으면 금액은 서버가 계산해요(단가를 직접 넣을 수 없어요). 응답의 checkoutUrl 을 사용자에게 그대로 보여주세요. 링크를 열면 품목·금액을 확인하고 카드·간편결제로 바로 결제할 수 있고, 회원가입은 필요 없어요. 링크를 만드는 것만으로는 돈이 나가지 않아요(결제는 사용자가 링크에서 직접). 만들기 전에 반드시 상품·수량·예상 금액을 사용자에게 확인받고, 이름(또는 상호)은 사용자에게 직접 물어보세요.

입력 스키마

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "description": "상품 ID (list_products 의 productId)"
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "description": "수량 (get_product 의 최소·최대·배수 제약을 지켜야 해요)"
          }
        },
        "required": [
          "productId",
          "quantity"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 10,
      "description": "담을 상품 목록"
    },
    "customerName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "받는 분 이름 또는 상호 — 사용자에게 직접 물어본 값"
    },
    "customerPhone": {
      "type": "string",
      "description": "휴대폰 번호 (선택, 권장) — 결제 후 진행 안내를 받을 연락처"
    },
    "customerEmail": {
      "type": "string",
      "description": "이메일 (선택)"
    },
    "companyName": {
      "type": "string",
      "maxLength": 100,
      "description": "회사·매장명 (선택)"
    },
    "note": {
      "type": "string",
      "maxLength": 500,
      "description": "요청 메모 (선택) — 매장 주소·원하는 시작일 등"
    },
    "agentName": {
      "type": "string",
      "maxLength": 60,
      "description": "이 요청을 넣는 AI 이름 (예: Claude, ChatGPT)"
    }
  },
  "required": [
    "items",
    "customerName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_checkout_status(checkoutToken)

결제 링크의 상태(결제 대기·결제 완료·만료)와 결제 후 만들어진 주문의 진행 상황을 확인합니다. 사용자가 "결제했어요"라고 하면 이 툴로 확인하고, setupUrl 이 있으면 집행 정보(매장 주소 등) 입력을 안내하세요.

입력 스키마

{
  "type": "object",
  "properties": {
    "checkoutToken": {
      "type": "string",
      "minLength": 16,
      "maxLength": 64,
      "description": "create_checkout 응답의 checkoutToken"
    }
  },
  "required": [
    "checkoutToken"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡submit_inquiry(message, contactName, contactEmail, inquiryType, contactPhone, ...)

상담·견적 문의를 접수합니다. 담당자가 영업일 1일 이내에 이메일로 회신해요. aiOrderable=false 인 상품(문의형·복잡한 견적), 원하는 게 카탈로그에 없을 때, 또는 사용자가 사람과 이야기하고 싶어할 때 사용하세요. 이름·이메일은 반드시 사용자에게 직접 물어보고 넣으세요 — 임의로 지어내면 안 돼요.

입력 스키마

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "minLength": 10,
      "description": "문의 내용 — 업종·목표·상황을 사용자 말에서 정리해 10자 이상으로"
    },
    "contactName": {
      "type": "string",
      "minLength": 1,
      "description": "회신받을 이름 (사용자에게 확인)"
    },
    "contactEmail": {
      "type": "string",
      "minLength": 1,
      "description": "회신받을 이메일 (사용자에게 확인)"
    },
    "inquiryType": {
      "type": "string",
      "enum": [
        "consultation",
        "quote",
        "service",
        "partnership",
        "support",
        "other"
      ],
      "description": "consultation=뭐가 맞는지 상담 / quote=견적 / service=서비스 질문 / partnership=제휴 / support=기존 주문·계정"
    },
    "contactPhone": {
      "type": "string",
      "description": "연락처 (선택)"
    },
    "companyName": {
      "type": "string",
      "description": "업체명 (선택)"
    },
    "businessType": {
      "type": "string",
      "description": "업종 (예: 음식점, 카페, 미용실)"
    },
    "budget": {
      "type": "string",
      "description": "예산 (예: 월 30만원)"
    },
    "interestedServices": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "관심 서비스명 목록"
    },
    "agentName": {
      "type": "string",
      "description": "이 문의를 넣는 AI 이름 (예: Claude, ChatGPT)"
    }
  },
  "required": [
    "message",
    "contactName",
    "contactEmail"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡send_signup_code(phone)

[회원가입 1단계] 사용자의 휴대폰으로 인증번호 문자를 보냅니다. 사용자가 가입을 원한다고 분명히 말했을 때만 호출하세요. 문자를 받은 사용자에게 번호를 물어본 뒤 signup 으로 넘기세요. 결제 링크(create_checkout)는 가입 없이도 쓸 수 있어요.

입력 스키마

{
  "type": "object",
  "properties": {
    "phone": {
      "type": "string",
      "minLength": 10,
      "maxLength": 20,
      "description": "휴대폰 번호 (010 으로 시작)"
    }
  },
  "required": [
    "phone"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪signup(phone, code, loginId, password, name, ...)

[회원가입 2단계] 인증번호를 확인하고 계정을 만듭니다. 아이디·비밀번호·이름은 사용자에게 직접 받으세요(임의로 짓지 마세요). 약관 동의는 사람의 의사표시예요 — 사용자에게 이용약관(https://www.marketpilot.it/terms)과 개인정보처리방침(https://www.marketpilot.it/privacy)을 안내하고 동의한다는 답을 받은 경우에만 true 로 넣으세요. 앞서 만든 결제 링크가 있으면 checkoutToken 을 같이 넣어 그 주문을 새 계정에 연결하세요.

입력 스키마

{
  "type": "object",
  "properties": {
    "phone": {
      "type": "string",
      "minLength": 10,
      "maxLength": 20,
      "description": "send_signup_code 에 쓴 휴대폰 번호"
    },
    "code": {
      "type": "string",
      "minLength": 4,
      "maxLength": 10,
      "description": "문자로 받은 인증번호 (사용자에게 물어본 값)"
    },
    "loginId": {
      "type": "string",
      "minLength": 4,
      "maxLength": 20,
      "description": "아이디 (영문 소문자·숫자 4~20자)"
    },
    "password": {
      "type": "string",
      "minLength": 8,
      "maxLength": 64,
      "description": "비밀번호 (8자 이상)"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 15,
      "description": "이름"
    },
    "email": {
      "type": "string",
      "description": "이메일 (선택)"
    },
    "companyName": {
      "type": "string",
      "maxLength": 100,
      "description": "회사·매장명 (선택)"
    },
    "agreedToTerms": {
      "type": "boolean",
      "description": "이용약관 동의 — 사용자에게 직접 확인받은 경우에만 true"
    },
    "agreedToPrivacy": {
      "type": "boolean",
      "description": "개인정보처리방침 동의 — 사용자에게 직접 확인받은 경우에만 true"
    },
    "agreedToMarketing": {
      "type": "boolean",
      "description": "마케팅 정보 수신 동의 (선택)"
    },
    "checkoutToken": {
      "type": "string",
      "minLength": 16,
      "maxLength": 64,
      "description": "앞서 만든 결제 링크의 checkoutToken (있으면 새 계정에 연결)"
    },
    "agentName": {
      "type": "string",
      "maxLength": 100,
      "description": "이 가입을 진행하는 AI 이름"
    }
  },
  "required": [
    "phone",
    "code",
    "loginId",
    "password",
    "name",
    "agreedToTerms",
    "agreedToPrivacy"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢quote_order(productId, quantity, formData, templateOption)

[주문 1단계] 견적을 요청합니다. 총액·포인트 잔액·부족분과 15분 유효한 quoteToken을 돌려줍니다. 돈이 나가지 않는 안전한 호출입니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "productId": {
      "type": "integer",
      "description": "상품 ID"
    },
    "quantity": {
      "type": "integer",
      "minimum": 1,
      "description": "주문 수량 (단가 × 수량 = 총액)"
    },
    "formData": {
      "type": "object",
      "additionalProperties": {},
      "description": "get_product의 formFields에 맞춘 입력값 (예: nPlaceRawUrl, targetName, dailyTaskCount 등)"
    },
    "templateOption": {
      "type": "string",
      "description": "상품 템플릿 옵션 (필요한 상품만)"
    }
  },
  "required": [
    "productId",
    "quantity"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_order(quoteToken, productId, quantity, formData, templateOption, ...)

[주문 2단계] 견적을 확정해 실제 주문을 생성합니다. 포인트가 즉시 차감되므로, 반드시 사용자에게 상품·수량·금액을 확인받은 뒤 confirm:true로 호출하세요.

입력 스키마

{
  "type": "object",
  "properties": {
    "quoteToken": {
      "type": "string",
      "description": "quote_order가 발급한 견적 토큰"
    },
    "productId": {
      "type": "integer",
      "description": "견적과 동일한 상품 ID"
    },
    "quantity": {
      "type": "integer",
      "minimum": 1,
      "description": "견적과 동일한 수량"
    },
    "formData": {
      "type": "object",
      "additionalProperties": {},
      "description": "견적과 동일한 폼 데이터"
    },
    "templateOption": {
      "type": "string"
    },
    "confirm": {
      "type": "boolean",
      "description": "사용자에게 최종 확인을 받았으면 true"
    }
  },
  "required": [
    "quoteToken",
    "productId",
    "quantity",
    "confirm"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_my_orders(page, limit, status)

내 주문 내역을 조회합니다. status로 필터할 수 있어요 (paid=결제완료, in_progress=진행중, completed=완료, refunded=환불, stopped=중단).

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "페이지 (기본 1)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "페이지당 건수 (기본 10)"
    },
    "status": {
      "type": "string",
      "description": "상태 필터"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_my_order(orderId)

주문 1건의 진행 상황을 조회합니다. status/statusLabel(결제완료→진행중→완료), phaseLabel(상품별 세부 단계), progress(수량 진행률·결과물 링크·단계 — 제공 상품만), recentLogs(진행 로그 최신순)를 반환해요. "내 주문 어떻게 돼가?" 같은 질문에 이 툴을 쓰고, progress가 null이면 statusLabel과 recentLogs로 안내하세요.

입력 스키마

{
  "type": "object",
  "properties": {
    "orderId": {
      "type": "integer",
      "description": "주문 ID (list_my_orders의 orderId)"
    }
  },
  "required": [
    "orderId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_point_balance

포인트 잔액을 조회합니다. 1P = 1원이며 주문 결제는 포인트로 이뤄집니다.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪request_point_charge(amount, depositorName, cashReceiptType, cashReceiptMethod, cashReceiptIdNumber, ...)

포인트 충전을 신청합니다. 응답의 transfer(무통장 입금 계좌·입금자명·금액)를 사용자에게 안내하세요. 실제 이체는 사용자가 직접 해야 하며, 입금자명·금액이 일치하면 몇 분 내 자동 충전됩니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "amount": {
      "type": "integer",
      "minimum": 1,
      "description": "충전할 포인트 (원 단위, 1P=1원)"
    },
    "depositorName": {
      "type": "string",
      "minLength": 1,
      "description": "입금자명 — 실제 이체 시 사용할 이름과 정확히 일치해야 자동 충전됩니다"
    },
    "cashReceiptType": {
      "type": "string",
      "description": "증빙 종류: 세금계산서 | 소득공제 | 지출증빙 (선택)"
    },
    "cashReceiptMethod": {
      "type": "string",
      "description": "현금영수증 발급 방법 (소득공제/지출증빙 시)"
    },
    "cashReceiptIdNumber": {
      "type": "string",
      "description": "사업자등록번호 또는 현금영수증 발급 번호"
    },
    "taxInvoiceEmail": {
      "type": "string",
      "description": "세금계산서 수신 이메일"
    }
  },
  "required": [
    "amount",
    "depositorName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_charge_requests(page, limit)

내 포인트 충전 신청 내역을 조회합니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_charge_request(chargeRequestId)

충전 신청 1건의 상태를 확인합니다. 입금 후 status가 CONFIRMED(충전 완료)로 바뀌었는지 확인하는 용도입니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "chargeRequestId": {
      "type": "integer",
      "description": "충전 신청 ID"
    }
  },
  "required": [
    "chargeRequestId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴cancel_charge_request(chargeRequestId)

입금 대기(PENDING) 상태의 충전 신청을 취소합니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "chargeRequestId": {
      "type": "integer",
      "description": "충전 신청 ID"
    }
  },
  "required": [
    "chargeRequestId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

권장 프롬프트

search_research
Search for information about [topic] using MarketPilot
예상 도구: search_places
find_specific
Find [specific item] using MarketPilot
예상 도구: search_places
retrieve_data
Get details about [item] from MarketPilot
예상 도구: get_product
fetch_info
Fetch [information type] using MarketPilot
예상 도구: get_product
list_items
List all [items] available in MarketPilot
예상 도구: list_products

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 18개
검증됨버전이 기록되지 않음도구 18개