Koskamo

HOTKER MCP

HOTKER의 무인증·읽기 전용 streamable-http MCP 서버로, 검증된 판매조건 검색, 24개월 실질비용 계산, 약정 반환금 및 결합할인 참고 계산을 제공하며 출처와 누락 조건을 함께 표시합니다.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

HOTKER MCP logo, by HOTKERVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by HOTKER
MCP endpoint (Streamable HTTP)
https://hotker.ai/mcp
Vendor documentation

What its tools do

6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

6 of 6 have a description · 6 of 6 declare behavior hints · 6 of 6 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to hotker.ai ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • 검증된 판매조건 검색
  • 총비용 및 약정 반환금 참고 계산
  • 결합할인 확인
  • 출처 및 누락 조건 확인

Source and maintenance

Vendor evidenceRegistry 1.0.2
Maintenance checked

Protocol and capabilities

Server
hotker_public 1.0.2
MCP protocol negotiated in check
2025-11-25
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

6 advertised

calculate_mobile_tco — HOTKER 휴대폰 총비용 계산
Advertised by the server during the last successful anonymous check.
Advertised read-only

사용자가 확인한 견적의 12~36개월 총비용을 계산합니다. 단말 전체 판매가, 기간별 요금, 의무 부가서비스·비용, 할부이자에서 확정 할인을 차감하며 현금 사은품은 별도 표시합니다. 반환값 data.result의 expected_total_spend, completeness, warnings를 함께 읽고 incomplete/estimated를 확정 견적으로 표현하지 마세요. 무인증·읽기 전용이며 구매나 계정 조회를 하지 않습니다. 실제 판매조건 검색은 search_verified_mobile_deals, 산식 출처는 get_calculation_evidence를 사용하세요. 미확인 입력을 추측하거나 0으로 채우지 마세요.

calculate_mobile_tco input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "deal"
  ],
  "properties": {
    "deal": {
      "type": "object",
      "required": [
        "subsidy_type",
        "device_sale_price"
      ],
      "properties": {
        "addons": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "hold_days": {
                "type": "integer",
                "maximum": 3660,
                "minimum": 0,
                "description": "hold_type=days일 때 필요한 유지 일수. 해당 유형에서는 1 이상."
              },
              "hold_type": {
                "enum": [
                  "none",
                  "days",
                  "months",
                  "m_plus",
                  "date",
                  "unknown"
                ],
                "type": "string",
                "description": "유지조건: none=없음, days=일수, months=개월, m_plus=개통월 이후 N개월, date=변경 가능일, unknown=미확인. 해당 기간 필드를 함께 제공."
              },
              "mandatory": {
                "type": "boolean",
                "description": "false이면 의무비용에서 제외. 생략 시 의무 서비스로 취급."
              },
              "addon_name": {
                "type": "string",
                "maxLength": 200,
                "minLength": 1,
                "description": "부가서비스 이름. 개인정보 제외."
              },
              "hold_months": {
                "type": "integer",
                "maximum": 120,
                "minimum": 0,
                "description": "months 또는 m_plus일 때 필요한 유지 개월 수. 해당 유형에서는 1 이상."
              },
              "source_text": {
                "type": "string",
                "maxLength": 500,
                "minLength": 1,
                "description": "유지조건 원문. 개인정보를 제거한 확인 자료만 입력."
              },
              "monthly_price": {
                "type": "number",
                "maximum": 100000000,
                "minimum": 0,
                "description": "부가서비스 월 비용, 원(KRW). 미확인을 0으로 넣지 마세요."
              },
              "cancel_allowed_at": {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                "description": "해지 가능일 YYYY-MM-DD. date 유형이면 activationDate도 필요."
              }
            },
            "additionalProperties": false
          },
          "maxItems": 20,
          "description": "부가서비스 최대 20개. 없음이 확인된 경우 빈 배열. 미확인 비용을 없다고 단정하지 마세요."
        },
        "deal_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "사용자 견적 식별자. 고객 이름·전화번호·계약번호 금지."
        },
        "retail_price": {
          "type": "number",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "확인된 출고가, 원(KRW). 판매가 대신 사용하지 않음."
        },
        "subsidy_type": {
          "enum": [
            "public_subsidy",
            "contract_discount",
            "unsubsidized",
            "unknown"
          ],
          "type": "string",
          "description": "지원방식: 공시지원금, 선택약정, 무지원, 미확인. 추측 금지."
        },
        "card_required": {
          "type": "boolean",
          "description": "카드 조건 존재 여부. true가 할인 자격 충족을 뜻하지 않음."
        },
        "plan_hold_days": {
          "type": "integer",
          "maximum": 3660,
          "minimum": 0,
          "description": "days 유형의 요금제 유지 일수. 해당 유형에서는 1 이상."
        },
        "plan_hold_type": {
          "enum": [
            "none",
            "days",
            "months",
            "m_plus",
            "date",
            "unknown"
          ],
          "type": "string",
          "description": "유지조건: none=없음, days=일수, months=개월, m_plus=개통월 이후 N개월, date=변경 가능일, unknown=미확인. 해당 기간 필드를 함께 제공."
        },
        "public_subsidy": {
          "type": "number",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "확인된 공시지원금, 원(KRW). device_sale_price에서 중복 차감하지 않음."
        },
        "seller_subsidy": {
          "type": "number",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "확인된 판매자 지원금, 원(KRW). device_sale_price에서 중복 차감하지 않음."
        },
        "bundle_required": {
          "type": "boolean",
          "description": "결합 조건 존재 여부. 실제 승인·할인 자격을 보장하지 않음."
        },
        "mandatory_costs": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000,
                "minimum": 0,
                "description": "확정 총액, 원(KRW). 할인 배열의 숫자는 확정 할인으로 차감되므로 미확정 혜택은 숫자로 넣지 마세요."
              },
              {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "maximum": 1000000000,
                    "minimum": 0,
                    "description": "항목 전체 금액, 원(KRW). 월 금액이 아님."
                  },
                  "mandatory": {
                    "type": "boolean",
                    "description": "의무비용 배열에서 false이면 제외. 할인 배열에는 적용하지 않음."
                  },
                  "guaranteed": {
                    "type": "boolean",
                    "description": "할인이 확정됐으면 true. 객체형 할인은 true일 때만 차감 후보."
                  },
                  "conditional": {
                    "type": "boolean",
                    "description": "조건부 할인이면 true. guaranteed=true여도 차감하지 않음."
                  }
                },
                "additionalProperties": false
              }
            ]
          },
          "maxItems": 20,
          "description": "추가 의무비용 전체 금액 목록. 월 비용은 해당 기간 총액으로 제공. 최대 20개."
        },
        "cash_gift_amount": {
          "type": "number",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "현금 사은품 총액, 원(KRW). 기본 총비용에서 차감하지 않고 별도 표시."
        },
        "plan_hold_months": {
          "type": "integer",
          "maximum": 120,
          "minimum": 0,
          "description": "months 또는 m_plus 유형의 유지 개월 수. 해당 유형에서는 1 이상."
        },
        "change_allowed_at": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "요금제 변경 가능일 YYYY-MM-DD. date 유형이면 activationDate도 제공."
        },
        "device_sale_price": {
          "type": "number",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "지원금 반영 후 단말 전체 판매가/원금, 원(KRW). 월 할부금이 아님. 지원금을 다시 차감하지 마세요."
        },
        "trade_in_required": {
          "type": "boolean",
          "description": "기기 반납 조건 존재 여부. 실제 반납가를 보장하지 않음."
        },
        "installment_months": {
          "type": "integer",
          "maximum": 60,
          "minimum": 1,
          "description": "할부 개월 수. 비교 기간 horizonMonths와 별개."
        },
        "confirmed_discounts": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000,
                "minimum": 0,
                "description": "확정 총액, 원(KRW). 할인 배열의 숫자는 확정 할인으로 차감되므로 미확정 혜택은 숫자로 넣지 마세요."
              },
              {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "maximum": 1000000000,
                    "minimum": 0,
                    "description": "항목 전체 금액, 원(KRW). 월 금액이 아님."
                  },
                  "mandatory": {
                    "type": "boolean",
                    "description": "의무비용 배열에서 false이면 제외. 할인 배열에는 적용하지 않음."
                  },
                  "guaranteed": {
                    "type": "boolean",
                    "description": "할인이 확정됐으면 true. 객체형 할인은 true일 때만 차감 후보."
                  },
                  "conditional": {
                    "type": "boolean",
                    "description": "조건부 할인이면 true. guaranteed=true여도 차감하지 않음."
                  }
                },
                "additionalProperties": false
              }
            ]
          },
          "maxItems": 20,
          "description": "중복되지 않는 확정 할인 총액 목록. 숫자는 확정으로 간주하며 객체는 guaranteed=true, conditional!=true일 때만 차감."
        },
        "installment_interest": {
          "type": "number",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "amount이면 전체 할부이자 원(KRW), apr이면 연이율 소수(5.9%=0.059, 0~1). 월 납입액이 아님."
        },
        "cash_gift_payout_policy": {
          "enum": [
            "next_month_end",
            "within_7_days"
          ],
          "type": "string",
          "description": "현금 사은품 지급 조건: 익월 말 또는 7일 이내. 지급 완료 보증 아님."
        },
        "plan_hold_original_text": {
          "type": "string",
          "maxLength": 500,
          "minLength": 1,
          "description": "확인된 유지조건 원문. 개인정보 제외."
        },
        "initial_plan_monthly_fee": {
          "type": "number",
          "maximum": 100000000,
          "minimum": 0,
          "description": "초기 요금제 월정액, 원(KRW). 선택약정 할인 적용 전 금액."
        },
        "installment_interest_type": {
          "enum": [
            "none",
            "amount",
            "apr"
          ],
          "type": "string",
          "description": "이자 방식. none=무이자 확인, amount=전체 이자 확정액, apr=연이율 추정. apr이면 installment_months도 필요."
        },
        "selection_discount_policy": {
          "type": "object",
          "properties": {
            "rate": {
              "type": "number",
              "maximum": 1,
              "minimum": 0,
              "description": "확인된 공통 요금 할인율. 25%는 0.25. 개별 기간 할인율보다 우선하지 않음."
            },
            "source": {
              "type": "string",
              "maxLength": 200,
              "minLength": 1,
              "description": "사용자가 확인한 할인 정책 근거. 개인정보를 넣지 마세요."
            },
            "policy_id": {
              "type": "string",
              "maxLength": 200,
              "minLength": 1,
              "description": "확인된 할인 정책 식별자. 미확인이면 생략."
            },
            "effective_at": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "description": "정책 적용일 YYYY-MM-DD. 조회·검증 사실을 의미하지 않음."
            },
            "initial_rate": {
              "type": "number",
              "maximum": 1,
              "minimum": 0,
              "description": "초기 요금제 할인율. 생략 시 rate 사용."
            },
            "post_hold_rate": {
              "type": "number",
              "maximum": 1,
              "minimum": 0,
              "description": "유지기간 이후 요금 할인율. 생략 시 rate 사용."
            },
            "eligible_months": {
              "type": "integer",
              "maximum": 60,
              "minimum": 0,
              "description": "할인 적용 개월 수. 생략 시 installment_months 또는 24 사용. 실제 약정 확인 필요."
            }
          },
          "description": "contract_discount의 확인된 요금 할인 정책. 임의로 25%를 채우지 마세요.",
          "additionalProperties": false
        },
        "post_hold_plan_monthly_fee": {
          "type": "number",
          "maximum": 100000000,
          "minimum": 0,
          "description": "유지기간 이후 요금제 월정액, 원(KRW). 선택약정 할인 적용 전 금액."
        }
      },
      "description": "사용자가 확인한 판매 조건. 필수 device_sale_price는 단말 전체 금액이며 월 할부금이 아닙니다.",
      "additionalProperties": false
    },
    "horizonMonths": {
      "type": "integer",
      "default": 24,
      "maximum": 36,
      "minimum": 12,
      "description": "총비용 비교 기간, 12~36개월. 기본 24. 할부 원금을 기간 비율로 축소하지 않음."
    },
    "activationDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "개통 기준일 YYYY-MM-DD. 날짜형 유지조건 계산에 필요. 미확인이면 생략하고 경고 확인."
    },
    "userPlanMonthlyFee": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 0,
      "description": "사용자가 원래 선택할 기준 요금제 월정액, 원(KRW). 조건 추가부담 비교용이며 실제 청구액이 아님."
    }
  }
}
calculate_mobile_tco output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "ok",
    "schemaVersion",
    "mcpServerVersion",
    "tool",
    "status",
    "generatedAt",
    "data"
  ],
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true,
      "description": "성공 여부. 실행 실패는 isError=true와 공개 오류 코드로 별도 반환합니다."
    },
    "data": {
      "type": "object",
      "description": "계산: inputBasis, engine, result, 선택 notice. 근거: engines, carriers, limitations. 검색: dataAsOf, resultCount, items 및 적용 필터. 개별 자료의 관측일·유효기간도 확인하세요.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "tool": {
      "type": "string",
      "description": "호출한 도구 이름."
    },
    "status": {
      "enum": [
        "calculated",
        "estimated",
        "incomplete",
        "reference",
        "verified",
        "partner_presented"
      ],
      "type": "string",
      "description": "calculated=입력 기준 계산, estimated=참고 추정, incomplete=정보 부족, reference=근거, verified=검색 공개 기준 통과, partner_presented=판매점 제시 조건 포함(통신사 확인 전). 실제 계약 보증 아님."
    },
    "generatedAt": {
      "type": "string",
      "description": "응답 생성 ISO 시각. 원본 자료의 갱신 시각과 다릅니다."
    },
    "schemaVersion": {
      "type": "string",
      "description": "공개 응답 데이터 계약 버전."
    },
    "mcpServerVersion": {
      "type": "string",
      "description": "HOTKER MCP 서버 버전."
    }
  },
  "additionalProperties": false
}
calculate_mobile_tco annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_contract_penalty — HOTKER 약정 반환금 계산
Advertised by the server during the last successful anonymous check.
Advertised read-only

SKT·KT·LG U+ 약정 반환금의 기본 참고값을 계산합니다. elapsedMonths 또는 elapsedDays 중 정확히 하나를 제공하세요. selective_contract는 accumulatedDiscount와 12/24개월 약정, public_subsidy는 receivedSubsidy와 24개월 약정이 필요합니다. data.result.penalty는 원(KRW)이며 항상 estimated입니다. LG U+ 지원금은 전환지원금 기본 산식 참고값으로 가입 프로그램별 최종 청구액과 다를 수 있습니다. 무인증·읽기 전용이며 통신사 개인계정 조회·해지는 하지 않습니다. 근거는 get_calculation_evidence를 사용하세요. 잘못된 조합은 오류를 반환하며 입력을 추측해 재호출하지 마세요.

calculate_contract_penalty input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "penaltyType",
    "carrier"
  ],
  "properties": {
    "carrier": {
      "enum": [
        "SKT",
        "KT",
        "LGU_PLUS"
      ],
      "type": "string",
      "description": "계산용 통신사 코드. LG U+는 LGU_PLUS. 개인 계정이나 가입 자격을 조회하지 않습니다."
    },
    "elapsedDays": {
      "type": "integer",
      "maximum": 730,
      "minimum": 0,
      "description": "경과 일수. elapsedMonths와 둘 중 하나만 입력. 12개월 약정 최대 365일, 24개월 최대 730일."
    },
    "penaltyType": {
      "enum": [
        "selective_contract",
        "public_subsidy"
      ],
      "type": "string",
      "description": "selective_contract=선택약정 할인반환금, public_subsidy=지원금 반환 참고액."
    },
    "elapsedMonths": {
      "type": "number",
      "maximum": 24,
      "minimum": 0,
      "description": "경과 개월 수. elapsedDays와 둘 중 하나만 입력하며 약정 기간 이하여야 함."
    },
    "contractMonths": {
      "anyOf": [
        {
          "type": "number",
          "const": 12
        },
        {
          "type": "number",
          "const": 24
        }
      ],
      "default": 24,
      "description": "약정 개월 수. 기본 24. public_subsidy는 24만 지원."
    },
    "receivedSubsidy": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "public_subsidy 필수: 실제 수령 지원금 총액, 원(KRW). 단말 원금·판매가가 아님."
    },
    "accumulatedDiscount": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "selective_contract 필수: 지금까지 받은 누적 요금 할인액, 원(KRW). 월 할인액이 아님."
    }
  }
}
calculate_contract_penalty output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "ok",
    "schemaVersion",
    "mcpServerVersion",
    "tool",
    "status",
    "generatedAt",
    "data"
  ],
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true,
      "description": "성공 여부. 실행 실패는 isError=true와 공개 오류 코드로 별도 반환합니다."
    },
    "data": {
      "type": "object",
      "description": "계산: inputBasis, engine, result, 선택 notice. 근거: engines, carriers, limitations. 검색: dataAsOf, resultCount, items 및 적용 필터. 개별 자료의 관측일·유효기간도 확인하세요.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "tool": {
      "type": "string",
      "description": "호출한 도구 이름."
    },
    "status": {
      "enum": [
        "calculated",
        "estimated",
        "incomplete",
        "reference",
        "verified",
        "partner_presented"
      ],
      "type": "string",
      "description": "calculated=입력 기준 계산, estimated=참고 추정, incomplete=정보 부족, reference=근거, verified=검색 공개 기준 통과, partner_presented=판매점 제시 조건 포함(통신사 확인 전). 실제 계약 보증 아님."
    },
    "generatedAt": {
      "type": "string",
      "description": "응답 생성 ISO 시각. 원본 자료의 갱신 시각과 다릅니다."
    },
    "schemaVersion": {
      "type": "string",
      "description": "공개 응답 데이터 계약 버전."
    },
    "mcpServerVersion": {
      "type": "string",
      "description": "HOTKER MCP 서버 버전."
    }
  },
  "additionalProperties": false
}
calculate_contract_penalty annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_combo_discount — HOTKER 통신 결합할인 계산
Advertised by the server during the last successful anonymous check.
Advertised read-only

통신사별 월 결합할인과 동일 조건 24개월 합계의 참고값을 계산합니다. SKT는 mobileLines, KT는 mobileMonthlyTotal, LGU_PLUS는 mobilePlanFees가 필요합니다. data.result에 mobileDiscount, internetDiscount, iptvDiscount, monthlyDiscount, discount24Months를 원(KRW)으로 반환합니다. KT 휴대폰 할인은 개인 몫이 아닌 가족 전체 배분 전 금액입니다. 결과는 항상 estimated이며 가입 자격·명의·프로모션·승인은 통신사 확인이 필요합니다. 무인증·읽기 전용으로 가입 변경은 하지 않습니다. 전체 구매비용은 calculate_mobile_tco, 출처는 get_calculation_evidence를 사용하세요.

calculate_combo_discount input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "carrier",
    "internetTier"
  ],
  "properties": {
    "iptv": {
      "type": "boolean",
      "description": "SKT IPTV 결합 여부. 생략 시 false. KT·LGU_PLUS에서는 이 필드를 사용하지 않음."
    },
    "carrier": {
      "enum": [
        "SKT",
        "KT",
        "LGU_PLUS"
      ],
      "type": "string",
      "description": "계산용 통신사 코드. LG U+는 LGU_PLUS. 개인 계정이나 가입 자격을 조회하지 않습니다."
    },
    "mobileLines": {
      "type": "integer",
      "maximum": 5,
      "minimum": 1,
      "description": "SKT 필수: 결합할 휴대폰 회선 수 1~5. 다른 통신사는 이 필드를 사용하지 않음."
    },
    "internetTier": {
      "enum": [
        "100M",
        "200M",
        "500M",
        "1G"
      ],
      "type": "string",
      "description": "인터넷 속도 등급. 200M은 LGU_PLUS만 지원."
    },
    "mobilePlanFees": {
      "type": "array",
      "items": {
        "type": "number",
        "maximum": 100000000,
        "minimum": 0
      },
      "maxItems": 10,
      "minItems": 1,
      "description": "LGU_PLUS 필수: 각 결합 회선의 월 요금제 금액 배열, 원(KRW), 1~10개. 다른 통신사는 사용하지 않음."
    },
    "mobileMonthlyTotal": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 0,
      "description": "KT 필수: 가족 전체 결합 대상 월정액 합계, 원(KRW). 요금약정 할인 후·선택약정 할인 전 기준."
    }
  }
}
calculate_combo_discount output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "ok",
    "schemaVersion",
    "mcpServerVersion",
    "tool",
    "status",
    "generatedAt",
    "data"
  ],
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true,
      "description": "성공 여부. 실행 실패는 isError=true와 공개 오류 코드로 별도 반환합니다."
    },
    "data": {
      "type": "object",
      "description": "계산: inputBasis, engine, result, 선택 notice. 근거: engines, carriers, limitations. 검색: dataAsOf, resultCount, items 및 적용 필터. 개별 자료의 관측일·유효기간도 확인하세요.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "tool": {
      "type": "string",
      "description": "호출한 도구 이름."
    },
    "status": {
      "enum": [
        "calculated",
        "estimated",
        "incomplete",
        "reference",
        "verified",
        "partner_presented"
      ],
      "type": "string",
      "description": "calculated=입력 기준 계산, estimated=참고 추정, incomplete=정보 부족, reference=근거, verified=검색 공개 기준 통과, partner_presented=판매점 제시 조건 포함(통신사 확인 전). 실제 계약 보증 아님."
    },
    "generatedAt": {
      "type": "string",
      "description": "응답 생성 ISO 시각. 원본 자료의 갱신 시각과 다릅니다."
    },
    "schemaVersion": {
      "type": "string",
      "description": "공개 응답 데이터 계약 버전."
    },
    "mcpServerVersion": {
      "type": "string",
      "description": "HOTKER MCP 서버 버전."
    }
  },
  "additionalProperties": false
}
calculate_combo_discount annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_calculation_evidence — HOTKER 계산 근거 확인
Advertised by the server during the last successful anonymous check.
Advertised read-only

HOTKER 계산 엔진 버전, 산식 설명, 통신사 출처 URL과 한계를 data.engines, data.carriers, data.limitations로 반환합니다. 계산 결과를 설명하거나 출처를 제시할 때 사용하세요. 무인증·읽기 전용이며 출처 사이트를 실시간 조회하거나 개인 계약을 검증하지 않습니다. calculationType은 요청 맥락 표시이며 현재 응답에서 다른 산식을 제거하지 않습니다. 실제 금액 계산은 calculate_mobile_tco, calculate_contract_penalty 또는 calculate_combo_discount를 사용하세요.

get_calculation_evidence input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "carrier": {
      "enum": [
        "SKT",
        "KT",
        "LGU_PLUS"
      ],
      "type": "string",
      "description": "근거를 볼 통신사: SKT, KT, LGU_PLUS. 생략하면 3사 근거를 반환."
    },
    "calculationType": {
      "enum": [
        "all",
        "mobile_tco",
        "selective_contract_penalty",
        "subsidy_penalty",
        "combo_discount"
      ],
      "type": "string",
      "default": "all",
      "description": "관심 계산 유형. 기본 all. 요청 맥락으로 반환하며 현재 엔진·산식 전체 구조는 유지."
    }
  }
}
get_calculation_evidence output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "ok",
    "schemaVersion",
    "mcpServerVersion",
    "tool",
    "status",
    "generatedAt",
    "data"
  ],
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true,
      "description": "성공 여부. 실행 실패는 isError=true와 공개 오류 코드로 별도 반환합니다."
    },
    "data": {
      "type": "object",
      "description": "계산: inputBasis, engine, result, 선택 notice. 근거: engines, carriers, limitations. 검색: dataAsOf, resultCount, items 및 적용 필터. 개별 자료의 관측일·유효기간도 확인하세요.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "tool": {
      "type": "string",
      "description": "호출한 도구 이름."
    },
    "status": {
      "enum": [
        "calculated",
        "estimated",
        "incomplete",
        "reference",
        "verified",
        "partner_presented"
      ],
      "type": "string",
      "description": "calculated=입력 기준 계산, estimated=참고 추정, incomplete=정보 부족, reference=근거, verified=검색 공개 기준 통과, partner_presented=판매점 제시 조건 포함(통신사 확인 전). 실제 계약 보증 아님."
    },
    "generatedAt": {
      "type": "string",
      "description": "응답 생성 ISO 시각. 원본 자료의 갱신 시각과 다릅니다."
    },
    "schemaVersion": {
      "type": "string",
      "description": "공개 응답 데이터 계약 버전."
    },
    "mcpServerVersion": {
      "type": "string",
      "description": "HOTKER MCP 서버 버전."
    }
  },
  "additionalProperties": false
}
get_calculation_evidence annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_verified_products — HOTKER 검증 상품 검색
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

HOTKER 공개 카탈로그의 INDEX 자격 상품을 검색합니다. data.items에 공개 상품 사실과 링크, data.resultCount에 반환 건수, data.dataAsOf에 조회 기준 시각을 반환합니다. NOINDEX·REVIEW·수집중 항목은 제외합니다. 최대 10개이며 빈 배열은 해당 조회 범위에 적격 결과가 없다는 뜻이지 전체 시장의 상품 부재가 아닙니다. 실시간 전 쇼핑몰 검색·최저가 보장이 아니므로 개별 가격 관측일도 확인하세요. 무인증·읽기 전용이며 주문하지 않습니다. 통신 약정 조건은 search_verified_mobile_deals를 사용하세요. 백엔드 장애는 빈 결과가 아니라 오류로 반환합니다.

search_verified_products input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "description": "최대 반환 건수 1~10, 기본 5. 전체 시장 개수나 페이지 번호가 아님."
    },
    "query": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "상품명·브랜드·모델 검색어, 최대 100자. 생략하면 검색어 필터 없음. 개인정보·URL·인증정보 제외."
    },
    "category": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "카탈로그 분류 키(예: smartphone). 모르면 생략. 최대 100자, 문자·숫자·점·밑줄·공백·하이픈만 허용."
    }
  }
}
search_verified_products output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "ok",
    "schemaVersion",
    "mcpServerVersion",
    "tool",
    "status",
    "generatedAt",
    "data"
  ],
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true,
      "description": "성공 여부. 실행 실패는 isError=true와 공개 오류 코드로 별도 반환합니다."
    },
    "data": {
      "type": "object",
      "description": "계산: inputBasis, engine, result, 선택 notice. 근거: engines, carriers, limitations. 검색: dataAsOf, resultCount, items 및 적용 필터. 개별 자료의 관측일·유효기간도 확인하세요.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "tool": {
      "type": "string",
      "description": "호출한 도구 이름."
    },
    "status": {
      "enum": [
        "calculated",
        "estimated",
        "incomplete",
        "reference",
        "verified",
        "partner_presented"
      ],
      "type": "string",
      "description": "calculated=입력 기준 계산, estimated=참고 추정, incomplete=정보 부족, reference=근거, verified=검색 공개 기준 통과, partner_presented=판매점 제시 조건 포함(통신사 확인 전). 실제 계약 보증 아님."
    },
    "generatedAt": {
      "type": "string",
      "description": "응답 생성 ISO 시각. 원본 자료의 갱신 시각과 다릅니다."
    },
    "schemaVersion": {
      "type": "string",
      "description": "공개 응답 데이터 계약 버전."
    },
    "mcpServerVersion": {
      "type": "string",
      "description": "HOTKER MCP 서버 버전."
    }
  },
  "additionalProperties": false
}
search_verified_products annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_verified_mobile_deals — HOTKER 검증 휴대폰 조건 검색
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

HOTKER 카탈로그의 휴대폰 판매조건 중 추정 없이 24개월 TCO가 완전한 조건을 검색합니다. 결과는 두 등급입니다: verification.tier=verified는 공식·통신사 확인과 유효기간을 통과한 조건, verification.tier=partner_presented는 인증판매점이 제시한 조건으로 최근 7일 안에 갱신됐지만 통신사 확인 전입니다. verified가 항상 먼저 오며, includePartnerPresented=false이면 verified만 반환합니다. data.items, data.verifiedCount, data.partnerPresentedCount, data.dataAsOf와 개별 조건의 updatedAt·validUntil을 확인하세요. 최대 10개이며 빈 결과는 판매 불가나 0원을 의미하지 않습니다. 무인증·읽기 전용이며 개통·재고 확보·개인 가입 자격 확인을 하지 않습니다. 일반 상품은 search_verified_products, 사용자 견적 계산은 calculate_mobile_tco를 사용하세요. 백엔드 장애는 오류로 반환하며 전국 최저가를 보장하지 않습니다.

search_verified_mobile_deals input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "description": "최대 반환 건수 1~10, 기본 5. 전체 조건 수나 최저가 순위를 뜻하지 않음."
    },
    "query": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "모델명·용량 등 검색어, 최대 100자. 생략하면 검색어 필터 없음. 개인정보 제외."
    },
    "carrier": {
      "enum": [
        "SKT",
        "KT",
        "LGU+",
        "MVNO"
      ],
      "type": "string",
      "description": "검색용 통신사 코드. LG U+는 LGU+이며 계산 도구의 LGU_PLUS와 다릅니다. 생략하면 통신사 필터 없음."
    },
    "includePartnerPresented": {
      "type": "boolean",
      "default": true,
      "description": "true(기본)면 통신사 확인 조건 뒤에 판매점 제시 조건(최근 7일 갱신)도 포함. false면 통신사 확인 조건만."
    }
  }
}
search_verified_mobile_deals output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "ok",
    "schemaVersion",
    "mcpServerVersion",
    "tool",
    "status",
    "generatedAt",
    "data"
  ],
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true,
      "description": "성공 여부. 실행 실패는 isError=true와 공개 오류 코드로 별도 반환합니다."
    },
    "data": {
      "type": "object",
      "description": "계산: inputBasis, engine, result, 선택 notice. 근거: engines, carriers, limitations. 검색: dataAsOf, resultCount, items 및 적용 필터. 개별 자료의 관측일·유효기간도 확인하세요.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "tool": {
      "type": "string",
      "description": "호출한 도구 이름."
    },
    "status": {
      "enum": [
        "calculated",
        "estimated",
        "incomplete",
        "reference",
        "verified",
        "partner_presented"
      ],
      "type": "string",
      "description": "calculated=입력 기준 계산, estimated=참고 추정, incomplete=정보 부족, reference=근거, verified=검색 공개 기준 통과, partner_presented=판매점 제시 조건 포함(통신사 확인 전). 실제 계약 보증 아님."
    },
    "generatedAt": {
      "type": "string",
      "description": "응답 생성 ISO 시각. 원본 자료의 갱신 시각과 다릅니다."
    },
    "schemaVersion": {
      "type": "string",
      "description": "공개 응답 데이터 계약 버전."
    },
    "mcpServerVersion": {
      "type": "string",
      "description": "HOTKER MCP 서버 버전."
    }
  },
  "additionalProperties": false
}
search_verified_mobile_deals annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
486 ms
95th percentile latency
486 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 486 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http hotker-mcp https://hotker.ai/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add hotker-mcp --url https://hotker.ai/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable hotker-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "hotker-mcp": {
      "url": "https://hotker.ai/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "hotker-mcp": {
      "type": "streamableHttp",
      "url": "https://hotker.ai/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start hotker-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "hotker-mcp": {
      "type": "http",
      "url": "https://hotker.ai/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http hotker-mcp https://hotker.ai/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://hotker.ai/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "hotker-mcp": {
      "serverUrl": "https://hotker.ai/mcp"
    }
  }
}

Let your agent find its tools

Find servers like HOTKER MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run HOTKER MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing