{
  "data": {
    "tool": {
      "category": "text-to-speech",
      "endpoint": "https://apick.app/mcp/all",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/apick-all.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/apick-all.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/apick-all.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 35684,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 26
          },
          "findings": [
            {
              "rule": "TC06",
              "severity": "warn",
              "tool": "image_batch_create",
              "message": "the description is \"이미지 1~50장의 비동기 생성 또는 편집 작업을 접수합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1…\"",
              "fix": "Add when to use it, what it returns and any side effect, in two or three sentences."
            },
            {
              "rule": "TC06",
              "severity": "warn",
              "tool": "image_batch_result",
              "message": "the description is \"완료된 대량 작업 결과 중 지정한 한 장을 이미지 콘텐츠로 반환합니다. [무료]\"",
              "fix": "Add when to use it, what it returns and any side effect, in two or three sentences."
            },
            {
              "rule": "TC06",
              "severity": "warn",
              "tool": "image_batch_status",
              "message": "the description is \"대량 이미지 작업의 진행 상태, 선차감·환급·현재 차감 포인트를 조회합니다. [무료]\"",
              "fix": "Add when to use it, what it returns and any side effect, in two or three sentences."
            },
            {
              "rule": "TC06",
              "severity": "warn",
              "tool": "tts_jobs_quality",
              "message": "the description is \"TTS 발화별 검수 결과와 후보 이력을 조회합니다. 종료 후 72시간 보존되며 최종 결과 다운로드를 소비하지…\"",
              "fix": "Add when to use it, what it returns and any side effect, in two or three sentences."
            },
            {
              "rule": "TC12",
              "severity": "warn",
              "tool": "json_to_excel",
              "message": "no type for data_list[]",
              "fix": "Give every parameter a type (or an enum)."
            },
            {
              "rule": "TC12",
              "severity": "warn",
              "tool": "llm_chat",
              "message": "no type for messages[]",
              "fix": "Give every parameter a type (or an enum)."
            },
            {
              "rule": "TC12",
              "severity": "warn",
              "tool": "tts_gemini_create",
              "message": "no type for utterances[]",
              "fix": "Give every parameter a type (or an enum)."
            },
            {
              "rule": "TC12",
              "severity": "warn",
              "tool": "tts_jobs_create",
              "message": "no type for utterances[]",
              "fix": "Give every parameter a type (or an enum)."
            },
            {
              "rule": "TC12",
              "severity": "warn",
              "tool": "tts_jobs_retry",
              "message": "no type for utterance_ids[]",
              "fix": "Give every parameter a type (or an enum)."
            },
            {
              "rule": "TC12",
              "severity": "warn",
              "tool": "tts_quote",
              "message": "no type for utterances[]",
              "fix": "Give every parameter a type (or an enum)."
            },
            {
              "rule": "TC18",
              "severity": "warn",
              "tool": "pdf_merge",
              "message": "readOnlyHint is true but the name says \"merge\"",
              "fix": "If it changes anything, readOnlyHint must be false."
            },
            {
              "rule": "TC18",
              "severity": "warn",
              "tool": "set_watermark",
              "message": "readOnlyHint is true but the name says \"set\"",
              "fix": "If it changes anything, readOnlyHint must be false."
            },
            {
              "rule": "TC18",
              "severity": "warn",
              "tool": "transfer_1won",
              "message": "destructiveHint is false but the name says \"transfer\"",
              "fix": "If it deletes, overwrites or moves money, destructiveHint should be true."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "identi_card_image1",
              "message": "described almost the same as identi_card_image4 (80% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "image_generate",
              "message": "described almost the same as image_edit (100% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "pdf_to_docx",
              "message": "described almost the same as docx_to_pdf (100% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "rtms_trade",
              "message": "described almost the same as rtms_rent (89% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "seedance_jobs_create",
              "message": "described almost the same as veo_jobs_create (89% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "seedance_jobs_create",
              "message": "described almost the same as kling_jobs_create (89% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "seedance_jobs_status",
              "message": "described almost the same as veo_jobs_status (86% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "seedance_jobs_status",
              "message": "described almost the same as kling_jobs_status (86% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "veo_jobs_create",
              "message": "described almost the same as kling_jobs_create (92% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC21",
              "severity": "warn",
              "tool": "veo_jobs_status",
              "message": "described almost the same as kling_jobs_status (86% of the same words)",
              "fix": "Say in each description when to use it instead of the other."
            },
            {
              "rule": "TC22",
              "severity": "warn",
              "tool": "kling_jobs_create",
              "message": "the definition is about 1,502 tokens",
              "fix": "Trim the description and parameter docs, or split the tool."
            },
            {
              "rule": "TC22",
              "severity": "warn",
              "tool": "seedance_jobs_create",
              "message": "the definition is about 3,850 tokens",
              "fix": "Trim the description and parameter docs, or split the tool."
            },
            {
              "rule": "TC23",
              "severity": "warn",
              "message": "131 tools, about 35,737 tokens of definitions",
              "fix": "Split the server by job, or offer a smaller default toolset (a read-only set, or a search-then-call pattern)."
            },
            {
              "rule": "TC24",
              "severity": "note",
              "message": "131 of 131 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:21:02Z",
        "count": 131,
        "schemaTokens": 35684,
        "status": "ok",
        "tools": [
          {
            "name": "transfer_1won",
            "title": "1원 인증",
            "description": "Send a 1 KRW verification deposit to a Korean bank account and return the 4-character verification code printed on the transaction. 대한민국 은행 계좌로 1원을 입금해 적요에 표시되는 인증코드를 반환합니다. 계좌 실소유 확인(1원 인증) 절차에 사용합니다. bank_code 또는 bank_name 중 하나는 입력해야 합니다. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "account_num": {
                  "description": "계좌번호 (숫자만, 하이픈 제외)",
                  "type": "string"
                },
                "bank_code": {
                  "description": "은행 코드 (bank_code Tool로 조회 가능, 예: 004)",
                  "type": "string"
                },
                "bank_name": {
                  "description": "은행명 (예: 국민). bank_code 대신 입력 가능",
                  "type": "string"
                }
              },
              "required": [
                "account_num"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "account_realname",
            "title": "계좌 예금주 실명 조회",
            "description": "Look up the account holder name of a Korean bank account. 대한민국 은행 계좌의 예금주명을 조회합니다. 송금 전 예금주 확인 등에 사용합니다. bank_code 또는 bank_name 중 하나는 입력해야 합니다. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "account_num": {
                  "description": "계좌번호 (숫자만, 하이픈 제외)",
                  "type": "string"
                },
                "bank_code": {
                  "description": "은행 코드 (bank_code Tool로 조회 가능, 예: 004)",
                  "type": "string"
                },
                "bank_name": {
                  "description": "은행명 (예: 국민). bank_code 대신 입력 가능",
                  "type": "string"
                }
              },
              "required": [
                "account_num"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "bank_code",
            "title": "은행코드 조회",
            "description": "List Korean bank codes and names. 대한민국 은행 코드·은행명 전체 목록을 반환합니다. transfer_1won, account_realname Tool의 bank_code 입력값을 찾을 때 사용합니다. 무료입니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {},
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card1",
            "title": "[Text] 주민등록증 진위 확인",
            "description": "Verify the authenticity of a Korean resident registration card (jumin-deungnokjeung) using text input. 주민등록증의 기재 정보를 입력해 진위 여부를 확인합니다. name, rrn1, rrn2, date 네 항목을 모두 입력해야 하며, date는 숫자만 허용됩니다(예: 20230101). 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "date": {
                  "description": "발급일자 (숫자만, 예: 20230101)",
                  "type": "string"
                },
                "name": {
                  "description": "성명",
                  "type": "string"
                },
                "rrn1": {
                  "description": "주민등록번호 앞 6자리",
                  "type": "string"
                },
                "rrn2": {
                  "description": "주민등록번호 뒤 7자리",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "rrn1",
                "rrn2",
                "date"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card2",
            "title": "[Text] 운전면허증 진위 확인",
            "description": "Check Korean driver license number and personal details. ghost_num is optional, may be empty, and is not used in the match decision. 운전면허번호와 인적사항을 조회합니다. birth_y, birth_m, birth_d, name과 licen_no0~licen_no3은 필수입니다. ghost_num(식별번호)은 생략·빈값·임의 문자열 모두 허용하며 전달값을 판정에 사용하지 않습니다. rrn1, rrn2도 선택 입력입니다. 암호일련번호 자체나 실물 면허증의 위·변조 여부는 검증하지 않습니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "birth_d": {
                  "description": "생년월일 - 일 (예: 01)",
                  "type": "string"
                },
                "birth_m": {
                  "description": "생년월일 - 월 (예: 01)",
                  "type": "string"
                },
                "birth_y": {
                  "description": "생년월일 - 년 (예: 2000)",
                  "type": "string"
                },
                "ghost_num": {
                  "description": "식별번호 (선택, 생략·빈값 허용, 전달값은 판정에 사용하지 않음)",
                  "type": "string"
                },
                "licen_no0": {
                  "description": "면허번호 1구획 (예: 21)",
                  "type": "string"
                },
                "licen_no1": {
                  "description": "면허번호 2구획 (예: 19)",
                  "type": "string"
                },
                "licen_no2": {
                  "description": "면허번호 3구획 (예: 174133)",
                  "type": "string"
                },
                "licen_no3": {
                  "description": "면허번호 4구획 (예: 01)",
                  "type": "string"
                },
                "name": {
                  "description": "성명",
                  "type": "string"
                },
                "rrn1": {
                  "description": "주민등록번호 앞 6자리 (선택)",
                  "type": "string"
                },
                "rrn2": {
                  "description": "주민등록번호 뒤 7자리 (선택)",
                  "type": "string"
                }
              },
              "required": [
                "birth_y",
                "birth_m",
                "birth_d",
                "name",
                "licen_no0",
                "licen_no1",
                "licen_no2",
                "licen_no3"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card3",
            "title": "[Text] 여권 진위 확인",
            "description": "Verify the authenticity of a Korean passport using text input. 여권의 기재 정보를 입력해 진위 여부를 확인합니다. name, pass_num, made_date, exp_date, birth_date 다섯 항목을 모두 입력해야 하며, 일자 세 항목은 숫자만 허용됩니다(예: 20230101). 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "birth_date": {
                  "description": "생년월일 (숫자만, 예: 20000101)",
                  "type": "string"
                },
                "exp_date": {
                  "description": "만료일자 (숫자만, 예: 20330101)",
                  "type": "string"
                },
                "made_date": {
                  "description": "발급일자 (숫자만, 예: 20230101)",
                  "type": "string"
                },
                "name": {
                  "description": "성명",
                  "type": "string"
                },
                "pass_num": {
                  "description": "여권번호 (예: M00000000)",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "pass_num",
                "made_date",
                "exp_date",
                "birth_date"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card4",
            "title": "[Text] 주민등록등본 진위 확인",
            "description": "Verify the authenticity of a Korean resident registration certificate (jumin-deungnok-deungbon) using text input. 주민등록등본의 문서확인번호로 진위 여부를 확인합니다. 문서확인번호 16자리를 4자리씩 나눈 doc_num1~doc_num4와 발급 종류 type(1: 정부24 발급, 2: 기타 발급)은 필수이며, name(성명)은 선택 입력입니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "doc_num1": {
                  "description": "문서확인번호 1구획 (4자리)",
                  "type": "string"
                },
                "doc_num2": {
                  "description": "문서확인번호 2구획 (4자리)",
                  "type": "string"
                },
                "doc_num3": {
                  "description": "문서확인번호 3구획 (4자리)",
                  "type": "string"
                },
                "doc_num4": {
                  "description": "문서확인번호 4구획 (4자리)",
                  "type": "string"
                },
                "name": {
                  "description": "성명",
                  "type": "string"
                },
                "type": {
                  "description": "발급 종류 (1: 정부24 발급, 2: 기타 발급)",
                  "type": "string"
                }
              },
              "required": [
                "doc_num1",
                "doc_num2",
                "doc_num3",
                "doc_num4",
                "type"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card5",
            "title": "[Text] 외국인등록증 진위 확인",
            "description": "Verify the authenticity of a Korean alien registration card (residence card) using text input. 외국인등록증의 기재 정보를 입력해 진위 여부를 확인합니다. rrn(외국인등록번호 13자리)과 made_date(발급일자 10자리, 예: 2020-01-01)는 필수이며, card_sn(뒷면 일련번호)은 입력 시 11자리여야 하고 2011-01-01 이후 발급된 등록증은 필수입니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "card_sn": {
                  "description": "뒷면 일련번호 (11자리). 2011-01-01 이후 발급분은 필수",
                  "type": "string"
                },
                "made_date": {
                  "description": "발급일자 (10자리, 예: 2020-01-01)",
                  "type": "string"
                },
                "rrn": {
                  "description": "외국인등록번호 (숫자 13자리)",
                  "type": "string"
                }
              },
              "required": [
                "rrn",
                "made_date"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card_image1",
            "title": "[Image/PDF] 주민등록증 진위 확인",
            "description": "Verify the authenticity of a Korean resident registration card from an image or PDF file. 주민등록증 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card_image2",
            "title": "[Image/PDF] 운전면허증 진위 확인",
            "description": "Verify the authenticity of a Korean driver license from an image or PDF file. 운전면허증 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card_image3",
            "title": "[Image/PDF] 여권 진위 확인",
            "description": "Verify the authenticity of a Korean passport from an image or PDF file. 여권 인적사항면 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card_image4",
            "title": "[Image/PDF] 주민등록등본 진위 확인",
            "description": "Verify the authenticity of a Korean resident registration certificate from an image or PDF file. 주민등록등본 이미지 또는 PDF 파일을 업로드하면 문서확인번호 등 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "identi_card_image5",
            "title": "[Image/PDF] 외국인등록증 진위 확인",
            "description": "Verify the authenticity of a Korean alien registration card (residence card) from an image or PDF file. 외국인등록증 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. card_sn(뒷면 일련번호 11자리)은 선택 입력이며, 2011-01-01 이후 발급된 등록증은 필수입니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "card_sn": {
                  "description": "뒷면 일련번호 (11자리). 2011-01-01 이후 발급분은 필수",
                  "type": "string"
                },
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "name_rrn_auth",
            "title": "성명/주민등록번호 실명확인",
            "description": "Verify that a Korean name and resident registration number (RRN) match a real registered person. 성명과 주민등록번호의 일치 여부(실명 존재 여부)를 확인합니다. name, rrn1(앞 6자리), rrn2(뒤 7자리)를 모두 입력해야 합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 50포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "name": {
                  "description": "한글 성명",
                  "type": "string"
                },
                "rrn1": {
                  "description": "주민등록번호 앞 6자리 숫자",
                  "type": "string"
                },
                "rrn2": {
                  "description": "주민등록번호 뒤 7자리 숫자",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "rrn1",
                "rrn2"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "hide_rrn",
            "title": "개인정보 마스킹(주민등록번호)",
            "description": "Mask resident registration numbers found in an image and return the masked image. 이미지에서 주민등록번호를 인식해 지정한 방식으로 가린 이미지를 반환합니다. 이미지 파일과 type(1: 주민등록번호 전체 가림, 2: 뒷자리 전체 가림, 3: 뒷자리 첫 숫자 제외 가림, 4: 주민등록번호와 주소 가림)을 모두 입력해야 합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 50MB)",
                  "type": "string"
                },
                "type": {
                  "description": "가림 처리 타입 (1: 주민등록번호 전체, 2: 뒷자리 전체, 3: 뒷자리 첫 숫자 제외, 4: 주민등록번호+주소)",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "identity_document_residence_card",
            "title": "외국인등록증 개인정보 마스킹",
            "description": "Extract key fields from a Korean residence card, permanent resident card, or overseas Korean resident card image and mask the last 6 digits of the registration or domestic residence report number. 외국인등록증·영주증·외국국적동포 국내거소신고증 이미지에서 지정 정보를 추출하고 등록번호 또는 거소신고번호 뒷자리 6자리를 마스킹한 이미지를 함께 반환합니다. 한 번에 신분증 한 장이 포함된 PNG 또는 JPEG 이미지만 전달해야 하며, 마스킹된 이미지는 JSON 응답의 masked_image 필드에 base64로 포함됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "identity_document_passport",
            "title": "여권 개인정보 마스킹",
            "description": "Extract key fields from a passport image and mask the passport number and MRZ area. 여권 인적사항면 이미지에서 지정 정보를 추출하고 여권번호 및 MRZ 영역을 마스킹한 이미지를 함께 반환합니다. MRZ 2줄이 포함되도록 촬영한 PNG 또는 JPEG 이미지 파일 하나만 전달하면 되며, 마스킹된 이미지는 JSON 응답의 masked_image 필드에 base64로 포함됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "identity_document_id_card",
            "title": "주민등록증 개인정보 마스킹",
            "description": "Extract key fields from a Korean resident registration card image and mask the last 6 digits of the RRN. 주민등록증 이미지에서 지정 정보를 추출하고 주민등록번호 뒷자리 6자리를 마스킹한 이미지를 함께 반환합니다. PNG 또는 JPEG 이미지 파일 하나만 전달하면 되며, 마스킹된 이미지는 JSON 응답의 masked_image 필드에 base64로 포함됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "identity_document_driver_license",
            "title": "운전면허증 개인정보 마스킹",
            "description": "Extract key fields from a Korean driver license image and mask the last 6 digits of the RRN. 운전면허증(주민등록번호 표기형) 이미지에서 지정 정보를 추출하고 주민등록번호 뒷자리 6자리를 마스킹한 이미지를 함께 반환합니다. PNG 또는 JPEG 이미지 파일 하나만 전달하면 되며, 마스킹된 이미지는 JSON 응답의 masked_image 필드에 base64로 포함됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "ocr",
            "title": "이미지 텍스트 추출(OCR)",
            "description": "Extract text from an image file (OCR). 이미지 파일에서 텍스트를 추출해 전체 텍스트(full_text)를 반환합니다. 문서 사진, 스캔 이미지, 캡처 화면 등 범용 이미지에 사용합니다. [호출당 12포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "ocr_identi1",
            "title": "주민등록증 텍스트 추출(OCR)",
            "description": "Extract key fields from a Korean resident registration card (jumin card) image via OCR. 주민등록증 사진에서 이름, 주민등록번호, 주소, 발급일자 등 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를 반환합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 12포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "ocr_identi2",
            "title": "운전면허증 텍스트 추출(OCR)",
            "description": "Extract key fields from a Korean driver license image via OCR. 운전면허증 사진에서 이름, 면허번호, 생년월일 등 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를 반환합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 12포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "ocr_identi3",
            "title": "여권 텍스트 추출(OCR)",
            "description": "Extract key fields from a passport image via OCR. 여권 사진에서 이름, 여권번호, 발급일자, 만료일자, 생년월일 등 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를 반환합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 12포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "ocr_identi4",
            "title": "주민등록등본 텍스트 추출(OCR)",
            "description": "Extract key fields from a Korean certified copy of resident registration (deungbon) image via OCR. 주민등록등본 사진에서 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를 반환합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 12포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "ocr_identi5",
            "title": "외국인등록증 텍스트 추출(OCR)",
            "description": "Extract key fields from a Korean alien registration card (residence card) image via OCR. 외국인등록증 사진에서 이름, 외국인등록번호, 발급일자 등 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를 반환합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 12포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "biz_detail",
            "title": "사업자 정보 조회",
            "description": "Look up general status information of a Korean business by its 10-digit business registration number. 사업자등록번호로 해당 사업자의 일반 현황 정보(대표자, 주소, 직원수, 설립일, 업종, 업태, 종목, 연락처, 사업자상태, 과세유형 등)를 조회합니다. [호출당 50포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "biz_no": {
                  "description": "사업자등록번호 (숫자 10자리, 하이픈 제외, 예: 4398700761)",
                  "type": "string"
                }
              },
              "required": [
                "biz_no"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "venture_biz_info",
            "title": "벤처기업 정보조회",
            "description": "Look up venture company information of a Korean business, including financial statements and investment data. 벤처기업을 대상으로 사업자 정보, 대차대조표, 손익계산서, 투자정보, 벤처기업확인정보를 조회합니다. [호출당 40포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "biz_no": {
                  "description": "사업자등록번호 (숫자 10자리, 하이픈 제외)",
                  "type": "string"
                }
              },
              "required": [
                "biz_no"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "land_rt_price",
            "title": "부동산 실거래가 조회",
            "description": "Look up real estate transaction price records in Korea by region, property type, and year. 시/도·시/군/구, 부동산 유형, 년도를 지정해 부동산 실거래 이력을 조회합니다. addr1 값이 잘못되면 응답의 options 필드로 선택 가능한 지역 목록을 안내합니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "addr1": {
                  "description": "도/광역시/특별시 정식 명칭 (예: 서울특별시, 경기도, 부산광역시)",
                  "type": "string"
                },
                "addr2": {
                  "description": "시/군/구 (예: 금천구)",
                  "type": "string"
                },
                "type": {
                  "description": "유형 코드 A~H 중 하나. A:아파트, B:연립/다세대, C:단독/다가구, D:오피스텔, E:분양/입주권, F:상업/업무용, G:토지, H:공장/창고등",
                  "type": "string"
                },
                "year": {
                  "description": "조회 년도 (1950 ~ 현재 년도, 예: 2025)",
                  "type": "string"
                }
              },
              "required": [
                "addr1",
                "addr2",
                "type",
                "year"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "req_pccc",
            "title": "개인통관고유부호 인증 요청",
            "description": "Request simple authentication (KakaoTalk, Toss, PASS, etc.) to retrieve a Korean Personal Customs Clearance Code (PCCC). 이름, 생년월일, 휴대전화번호와 간편인증 방식을 입력하면 해당 휴대폰으로 인증 요청이 발송되고, 응답을 기다리지 않고 tx_id 를 즉시 반환합니다. 인증 요청이 실제 발송된 접수 시점에 과금되며, 이미 대기 중인 요청을 다시 보내면 재발송 없이 기존 tx_id 를 반환하고 과금되지 않습니다. 사용자가 휴대폰에서 승인한 뒤 get_pccc 에 tx_id 를 넣어 결과를 확인하세요. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "birthday": {
                  "description": "생년월일 8자리 (YYYYMMDD)",
                  "type": "string"
                },
                "name": {
                  "description": "이름",
                  "type": "string"
                },
                "phone": {
                  "description": "휴대전화 번호 (본인 명의, 숫자만)",
                  "type": "string"
                },
                "provider": {
                  "description": "간편인증 방식 (kakao, naver, toss, pass, samsung, kb, shinhan, hana, woori, ibk, nh, kakaobank, banksalad)",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "birthday",
                "phone",
                "provider"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "get_pccc",
            "title": "개인통관고유부호 조회",
            "description": "Retrieve a Korean Personal Customs Clearance Code (PCCC) by transaction ID. req_pccc 로 받은 tx_id 를 입력하면 처리 상태를 확인합니다. 아직 승인 전이면 status 는 pending, message 는 \"인증 대기중입니다.\" 이며 과금되지 않습니다. 승인이 끝나면 서버가 최종 정보를 조회해 DB에 저장하고 개인통관고유부호·주소와 함께 수집 시각 checked_at 을 반환하며 이때 과금됩니다. 조회는 정상 처리됐지만 발급된 부호가 없으면 message 는 \"조회된 개인통관고유부호가 없습니다.\" 이고 과금되지 않습니다. 결과는 24시간 동안 재조회할 수 있고 재조회할 때마다 과금됩니다. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "tx_id": {
                  "description": "req_pccc 응답의 트랜잭션 ID",
                  "type": "string"
                }
              },
              "required": [
                "tx_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "get_car_flooding",
            "title": "차량 침수차 여부 조회",
            "description": "Check whether a Korean vehicle has a flood damage record, by VIN or license plate number. 차대번호(VIN) 또는 차량번호로 자동차의 침수 이력 여부를 조회합니다. 중고차 구매 전 확인 등에 사용합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "type": {
                  "description": "조회 종류. 1: 차대번호(VIN), 2: 차량번호",
                  "type": "string"
                },
                "value": {
                  "description": "차대번호(type=1, 17자리) 또는 차량번호(type=2)",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "value"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "get_car_scrap",
            "title": "차량 폐차사고처리 여부 조회",
            "description": "Check whether a Korean vehicle has a scrap/total-loss accident record, by VIN or license plate number. 차대번호(VIN) 또는 차량번호로 폐차사고처리 여부를 조회합니다. 중고차 구매 전 확인 등에 사용합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "type": {
                  "description": "조회 종류. 1: 차대번호(VIN), 2: 차량번호",
                  "type": "string"
                },
                "value": {
                  "description": "차대번호(type=1, 17자리) 또는 차량번호(type=2)",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "value"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "parcel_tracking",
            "title": "택배 배송조회",
            "description": "Track a Korean parcel in real time by carrier code and tracking number. 택배사 코드와 운송장번호를 지정해 실시간 배송현황을 조회합니다. 결과는 저장하지 않고 매 호출마다 즉시 조회합니다. carrier 코드 예: cj(CJ대한통운), hanjin(한진택배), lotte(롯데택배), logen(로젠택배), epost-domestic(우체국택배) 등 — 전체 목록은 /rest/parcel_tracking_carriers(무료)에서 확인할 수 있고, 택배사를 모르면 parcel_tracking_auto Tool로 자동판별 조회하세요. [호출당 5포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "carrier": {
                  "description": "택배사 코드 (예: cj, hanjin, lotte, logen, epost-domestic)",
                  "type": "string"
                },
                "trackingNumber": {
                  "description": "운송장번호",
                  "type": "string"
                }
              },
              "required": [
                "carrier",
                "trackingNumber"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "parcel_tracking_auto",
            "title": "택배 배송조회(자동)",
            "description": "Track a Korean parcel in real time with automatic carrier detection from the tracking number alone. 택배사 지정 없이 운송장번호만으로 택배사를 자동 판별해 실시간 배송현황을 조회합니다. 택배사를 이미 아는 경우에는 parcel_tracking Tool이 더 정확합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "trackingNumber": {
                  "description": "운송장번호 (택배사 지정 없이 형식만으로 자동 판별)",
                  "type": "string"
                }
              },
              "required": [
                "trackingNumber"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "check_email_valid",
            "title": "이메일 유효성 검사",
            "description": "Validate email syntax, MX availability, and free or disposable domain status. 이메일 형식, MX 수신 가능 여부, 무료·일회용 메일 여부를 검사합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "email": {
                  "description": "이메일 주소 (예: sample.user@gmail.com)",
                  "type": "string"
                }
              },
              "required": [
                "email"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "check_phone_valid",
            "title": "전화번호 유효성 검사",
            "description": "Validate and format a phone number and check the carrier and line type. 전화번호 형식 검사와 통신사·회선유형 확인을 함께 제공합니다. 건당 40P. [호출당 40포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "number": {
                  "description": "전화번호 (예: 01012341234, 해외는 +국가코드 형식)",
                  "type": "string"
                }
              },
              "required": [
                "number"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "check_spam_number",
            "title": "스팸/광고/범죄 전화번호 조회",
            "description": "Check whether a phone number has been reported for spam, advertising, or criminal use in Korea. 스팸/광고/범죄에 사용된 전화번호인지 조회합니다. 수신 전화 필터링, 이상 거래 탐지 등에 사용합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "number": {
                  "description": "전화번호 (예: 01012341234)",
                  "type": "string"
                }
              },
              "required": [
                "number"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "holiday_info",
            "title": "공휴일 조회",
            "description": "Look up Korean public holidays for a given year and month. 해당 년월의 대한민국 공휴일 정보를 조회합니다. 영업일 계산, 일정 관리 등에 사용합니다. [호출당 3포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "month": {
                  "description": "조회 월 (1 ~ 12, 예: 02)",
                  "type": "string"
                },
                "year": {
                  "description": "조회 년도 (1900 ~ 2200, 예: 2024)",
                  "type": "string"
                }
              },
              "required": [
                "year",
                "month"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "search_juso",
            "title": "도로명주소 조회",
            "description": "Search Korean road-name addresses by keyword. 지번 또는 도로명 키워드로 도로명 주소를 검색합니다. 페이지당 10건씩 반환되며 total_count 필드로 전체 검색결과 개수를 확인할 수 있습니다. [호출당 2포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "juso": {
                  "description": "검색할 주소 키워드 (지번, 도로명. 예: 디지털로)",
                  "type": "string"
                },
                "page": {
                  "description": "검색 결과 조회 페이지 (기본값 1, 페이지당 10건)",
                  "type": "string"
                }
              },
              "required": [
                "juso"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "info",
            "title": "계정 정보 조회",
            "description": "Check your APICK account balance and status. 현재 인증 키에 연결된 APICK 계정의 잔여 포인트와 계정 상태 정보를 조회합니다. 무료입니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {},
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "bid_notice",
            "title": "나라장터 입찰공고 조회",
            "description": "Search Korean public procurement (Nara Market) bid notices by business type, period, or notice number. 조달청 나라장터 입찰공고를 업무구분(물품·공사·용역·외자)·기간(최대 31일)·공고번호로 조회합니다. bizType 미지정 시 용역(Servc)이며, bidNtceNo만 주면 공고번호로 조회합니다. startDate·endDate는 YYYYMMDD 또는 YYYYMMDDHHMM 입니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "bidNtceNo": {
                  "description": "입찰공고번호 (지정 시 공고번호로 조회)",
                  "type": "string"
                },
                "bizType": {
                  "description": "업무구분 (물품·공사·용역·외자, 기본 용역)",
                  "enum": [
                    "물품",
                    "공사",
                    "용역",
                    "외자"
                  ],
                  "type": "string"
                },
                "endDate": {
                  "description": "조회 종료일 (YYYYMMDD 또는 YYYYMMDDHHMM)",
                  "type": "string"
                },
                "indstrytyCd": {
                  "description": "업종코드 (선택)",
                  "type": "string"
                },
                "numOfRows": {
                  "description": "페이지당 결과 수 (기본 10, 최대 999)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pageNo": {
                  "description": "페이지 번호 (기본 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "startDate": {
                  "description": "조회 시작일 (YYYYMMDD 또는 YYYYMMDDHHMM)",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "bid_award",
            "title": "나라장터 낙찰정보 조회",
            "description": "Search Korean public procurement (Nara Market) bid-opening and award results by business type, period, or notice number. 조달청 나라장터 개찰·낙찰 결과를 업무구분(물품·공사·용역·외자)·기간(최대 31일)·공고번호로 조회합니다. bizType 미지정 시 용역(Servc)입니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "bidNtceNo": {
                  "description": "입찰공고번호 (지정 시 공고번호로 조회)",
                  "type": "string"
                },
                "bizType": {
                  "description": "업무구분 (물품·공사·용역·외자, 기본 용역)",
                  "enum": [
                    "물품",
                    "공사",
                    "용역",
                    "외자"
                  ],
                  "type": "string"
                },
                "endDate": {
                  "description": "조회 종료일 (YYYYMMDD 또는 YYYYMMDDHHMM)",
                  "type": "string"
                },
                "indstrytyCd": {
                  "description": "업종코드 (선택)",
                  "type": "string"
                },
                "numOfRows": {
                  "description": "페이지당 결과 수 (기본 10, 최대 999)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pageNo": {
                  "description": "페이지 번호 (기본 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "startDate": {
                  "description": "조회 시작일 (YYYYMMDD 또는 YYYYMMDDHHMM)",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "dart_disclosure",
            "title": "기업 공시 검색",
            "description": "Search Korean corporate disclosures (DART) by company code, period, or disclosure type. 금융감독원 DART 전자공시를 회사 고유번호(corpCode)·기간(YYYYMMDD)·공시유형(pblntfTy, A~J)으로 조회합니다. corpCode 없이 기간만 조회하면 기간은 최대 3개월입니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "corpCode": {
                  "description": "DART 고유번호 (8자리)",
                  "type": "string"
                },
                "endDate": {
                  "description": "조회 종료일 (YYYYMMDD)",
                  "type": "string"
                },
                "numOfRows": {
                  "description": "페이지당 결과 수 (기본 10, 최대 100)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pageNo": {
                  "description": "페이지 번호 (기본 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pblntfTy": {
                  "description": "공시유형 (A 정기, B 주요사항, C 발행, D 지분, E 기타, F 외부감사, G 펀드, H 자산유동화, I 거래소, J 공정위)",
                  "enum": [
                    "A",
                    "B",
                    "C",
                    "D",
                    "E",
                    "F",
                    "G",
                    "H",
                    "I",
                    "J"
                  ],
                  "type": "string"
                },
                "startDate": {
                  "description": "조회 시작일 (YYYYMMDD)",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "dart_company",
            "title": "기업 개황 조회",
            "description": "Get a Korean company overview from DART by its company code. 금융감독원 DART에 등록된 기업의 개황(정식명칭·대표자·주소·업종·설립일 등)을 고유번호로 조회합니다. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "corpCode": {
                  "description": "DART 고유번호 (8자리)",
                  "type": "string"
                }
              },
              "required": [
                "corpCode"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "dart_financials",
            "title": "기업 재무제표 조회",
            "description": "Get Korean company financial statements from DART by year and report code. 금융감독원 DART 단일회사 주요 재무제표를 고유번호·사업연도·보고서(1분기/반기/3분기/사업)·개별/연결 구분으로 조회합니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "bsnsYear": {
                  "description": "사업연도 (YYYY, 2015년 이후)",
                  "type": "string"
                },
                "corpCode": {
                  "description": "DART 고유번호 (8자리)",
                  "type": "string"
                },
                "fsDiv": {
                  "description": "연결(CFS)/개별(OFS) 구분 (기본 CFS)",
                  "enum": [
                    "CFS",
                    "OFS"
                  ],
                  "type": "string"
                },
                "reprtCode": {
                  "description": "보고서 코드 (11011 사업, 11012 반기, 11013 1분기, 11014 3분기 / 기본 사업)",
                  "enum": [
                    "11011",
                    "11012",
                    "11013",
                    "11014"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "corpCode",
                "bsnsYear"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "kipris_patent",
            "title": "특허·실용신안 검색",
            "description": "Search Korean patents and utility models by keyword via KIPRIS. KIPRIS Plus에서 특허·실용신안 공개·등록공보를 키워드로 검색합니다. patent·utility 로 특허/실용신안 포함 여부를 정합니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "numOfRows": {
                  "description": "페이지당 결과 수 (기본 10, 최대 500)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pageNo": {
                  "description": "페이지 번호 (기본 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "patent": {
                  "description": "특허 포함 여부 (기본 true)",
                  "type": "boolean"
                },
                "utility": {
                  "description": "실용신안 포함 여부 (기본 true)",
                  "type": "boolean"
                },
                "word": {
                  "description": "검색어 (최대 100자)",
                  "type": "string"
                },
                "year": {
                  "description": "연도 필터 (YYYY)",
                  "type": "string"
                }
              },
              "required": [
                "word"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "kipris_trademark",
            "title": "상표 검색",
            "description": "Search Korean trademarks by keyword via KIPRIS. KIPRIS Plus에서 상표 출원 속보를 키워드로 검색합니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "numOfRows": {
                  "description": "페이지당 결과 수 (기본 10, 최대 500)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pageNo": {
                  "description": "페이지 번호 (기본 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "word": {
                  "description": "검색어 (최대 100자)",
                  "type": "string"
                }
              },
              "required": [
                "word"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "rtms_trade",
            "title": "부동산 매매 실거래가 조회",
            "description": "Search Korean real estate sale transactions (MOLIT RTMS) by district code and contract month. 국토교통부 실거래가 자료를 지역코드(법정동코드 앞 5자리)·계약년월(YYYYMM)·부동산 유형으로 조회합니다(매매). propertyType: apt 아파트, rh 연립다세대, sh 단독다가구, offi 오피스텔. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "dealYmd": {
                  "description": "계약년월 (YYYYMM, 예: 202601)",
                  "pattern": "^[0-9]{6}$",
                  "type": "string"
                },
                "lawdCd": {
                  "description": "지역코드 (법정동코드 앞 5자리, 예: 11110)",
                  "pattern": "^[0-9]{5}$",
                  "type": "string"
                },
                "numOfRows": {
                  "description": "페이지당 결과 수 (기본 10, 최대 1000)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pageNo": {
                  "description": "페이지 번호 (기본 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "propertyType": {
                  "description": "부동산 유형 (기본 apt)",
                  "enum": [
                    "apt",
                    "rh",
                    "sh",
                    "offi"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "lawdCd",
                "dealYmd"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "rtms_rent",
            "title": "부동산 전월세 실거래가 조회",
            "description": "Search Korean real estate rent transactions (MOLIT RTMS) by district code and contract month. 국토교통부 실거래가 자료를 지역코드(법정동코드 앞 5자리)·계약년월(YYYYMM)·부동산 유형으로 조회합니다(전월세). propertyType: apt 아파트, rh 연립다세대, sh 단독다가구, offi 오피스텔. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "dealYmd": {
                  "description": "계약년월 (YYYYMM, 예: 202601)",
                  "pattern": "^[0-9]{6}$",
                  "type": "string"
                },
                "lawdCd": {
                  "description": "지역코드 (법정동코드 앞 5자리, 예: 11110)",
                  "pattern": "^[0-9]{5}$",
                  "type": "string"
                },
                "numOfRows": {
                  "description": "페이지당 결과 수 (기본 10, 최대 1000)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pageNo": {
                  "description": "페이지 번호 (기본 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "propertyType": {
                  "description": "부동산 유형 (기본 apt)",
                  "enum": [
                    "apt",
                    "rh",
                    "sh",
                    "offi"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "lawdCd",
                "dealYmd"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "public_price",
            "title": "공시가격 조회",
            "description": "Get Korean official real estate prices (MOLIT NSDI) by parcel number and reference year. 국토교통부 공시가격(공동주택·개별주택·개별공시지가)을 PNU(19자리)·기준연도로 조회합니다. priceType: apart 공동주택, indvdHouse 개별주택, indvdLand 개별공시지가. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "numOfRows": {
                  "description": "페이지당 결과 수 (기본 10, 최대 1000)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pageNo": {
                  "description": "페이지 번호 (기본 1)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "pnu": {
                  "description": "필지고유번호 (19자리)",
                  "pattern": "^[0-9]{19}$",
                  "type": "string"
                },
                "priceType": {
                  "description": "공시가격 유형 (기본 apart)",
                  "enum": [
                    "apart",
                    "indvdHouse",
                    "indvdLand"
                  ],
                  "type": "string"
                },
                "stdrYear": {
                  "description": "공시 기준연도 (YYYY)",
                  "pattern": "^[0-9]{4}$",
                  "type": "string"
                }
              },
              "required": [
                "pnu",
                "stdrYear"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "geocode",
            "title": "주소·필지(PNU) 조회",
            "description": "Resolve a Korean address to coordinates and parcel identifiers (V-World). 주소를 좌표와 필지로 변환해 PNU(19자리)·법정동코드·지번·좌표를 돌려줍니다. 공시가격·실거래가 조회에 필요한 식별자를 얻을 때 씁니다. addrType: parcel 지번, road 도로명, auto 자동(기본). [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "addrType": {
                  "description": "주소 유형 (기본 auto)",
                  "enum": [
                    "auto",
                    "parcel",
                    "road"
                  ],
                  "type": "string"
                },
                "address": {
                  "description": "지번 또는 도로명 주소 (예: 서울특별시 강남구 역삼동 808)",
                  "type": "string"
                },
                "pnu": {
                  "description": "PNU(19자리). 주면 좌표 조회 없이 바로 조회합니다.",
                  "pattern": "^[0-9]{19}$",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "shop_price",
            "title": "상품 최저가 조회",
            "description": "Search Korean shopping listings (Naver Shopping) by keyword and return sellers, prices and the lowest-price item. 키워드로 상품을 검색해 판매처·가격과 최저가 상품을 돌려줍니다. sort: sim 정확도, date 최신, asc 낮은가격, dsc 높은가격. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "display": {
                  "description": "결과 수 (기본 10, 최대 100)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "query": {
                  "description": "검색어 (최대 100자)",
                  "type": "string"
                },
                "sort": {
                  "description": "정렬 (기본 sim)",
                  "enum": [
                    "sim",
                    "date",
                    "asc",
                    "dsc"
                  ],
                  "type": "string"
                },
                "start": {
                  "description": "시작 위치 (기본 1, 최대 1000)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                }
              },
              "required": [
                "query"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "app_reviews",
            "title": "앱 리뷰 조회",
            "description": "Get App Store app metadata and customer reviews (Apple iTunes) by numeric app id. 앱스토어 앱 정보(평점·가격·장르)와 고객 리뷰를 함께 돌려줍니다. country 기본 kr, page 로 리뷰 페이지를 넘깁니다(최대 10). [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "appId": {
                  "description": "앱스토어 앱 ID (숫자)",
                  "pattern": "^[0-9]{1,12}$",
                  "type": "string"
                },
                "country": {
                  "description": "국가 코드 (기본 kr)",
                  "pattern": "^[a-z]{2}$",
                  "type": "string"
                },
                "page": {
                  "description": "리뷰 페이지 (기본 1, 최대 10)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                }
              },
              "required": [
                "appId"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "req_cash_receipt_deduction",
            "title": "현금영수증 소득공제 내역 인증 요청",
            "description": "현금영수증 소득공제 내역을 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_cash_receipt_deduction에 transactionId를 전달하세요. 승인 대기 중 인증 요청을 반복하거나 자동 승인하지 마세요. [인증 발송 성공 시 20P; 조회 범위와 무관]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "authProvider": {
                  "description": "휴대폰에서 승인할 간편인증 방식",
                  "enum": [
                    "kakao",
                    "naver",
                    "toss",
                    "pass",
                    "samsung",
                    "kb",
                    "shinhan",
                    "hana",
                    "woori",
                    "ibk",
                    "nh",
                    "kakaobank",
                    "banksalad"
                  ],
                  "type": "string"
                },
                "birthDate": {
                  "description": "생년월일 8자리 (YYYYMMDD)",
                  "pattern": "^[0-9]{8}$",
                  "type": "string"
                },
                "incomeYears": {
                  "description": "소득공제 조회 연수 (1~3, 생략 시 1)",
                  "maximum": 3,
                  "minimum": 1,
                  "type": "integer"
                },
                "name": {
                  "description": "본인 이름",
                  "maxLength": 40,
                  "minLength": 2,
                  "type": "string"
                },
                "phone": {
                  "description": "본인 명의 휴대전화 번호 (숫자만)",
                  "pattern": "^01[0-9]{8,9}$",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "birthDate",
                "phone",
                "authProvider"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "get_cash_receipt_deduction",
            "title": "현금영수증 소득공제 내역 결과",
            "description": "req_cash_receipt_deduction의 transactionId로 승인 상태와 현금영수증 소득공제 내역 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는 무료입니다. resultAvailable과 status, errorCode를 확인하세요. 결과는 result.cashReceiptDeduction에 있으며 resultExpiresAt 이후에는 RESULT_EXPIRED가 반환되어 새 인증 접수가 필요합니다. [최초 결과 60P × (1 + 0.5 × (incomeYears - 1)), 기본 60P; 대기·유효기간 내 재조회 무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "transactionId": {
                  "description": "동일 상품의 req_cash_receipt_deduction 응답에서 받은 transactionId (소문자 16진수 32자리)",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "transactionId"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "req_tax_return_history",
            "title": "국세 신고내역 조회 인증 요청",
            "description": "국세 신고내역 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_tax_return_history에 transactionId를 전달하세요. 승인 대기 중 인증 요청을 반복하거나 자동 승인하지 마세요. [인증 발송 성공 시 20P; 조회 범위와 무관]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "authProvider": {
                  "description": "휴대폰에서 승인할 간편인증 방식",
                  "enum": [
                    "kakao",
                    "naver",
                    "toss",
                    "pass",
                    "samsung",
                    "kb",
                    "shinhan",
                    "hana",
                    "woori",
                    "ibk",
                    "nh",
                    "kakaobank",
                    "banksalad"
                  ],
                  "type": "string"
                },
                "birthDate": {
                  "description": "생년월일 8자리 (YYYYMMDD)",
                  "pattern": "^[0-9]{8}$",
                  "type": "string"
                },
                "name": {
                  "description": "본인 이름",
                  "maxLength": 40,
                  "minLength": 2,
                  "type": "string"
                },
                "phone": {
                  "description": "본인 명의 휴대전화 번호 (숫자만)",
                  "pattern": "^01[0-9]{8,9}$",
                  "type": "string"
                },
                "years": {
                  "description": "신고내역 조회 연수 (1~10, 생략 시 1)",
                  "maximum": 10,
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "required": [
                "name",
                "birthDate",
                "phone",
                "authProvider"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "get_tax_return_history",
            "title": "국세 신고내역 조회 결과",
            "description": "req_tax_return_history의 transactionId로 승인 상태와 국세 신고내역 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는 무료입니다. resultAvailable과 status, errorCode를 확인하세요. 결과는 result.taxReturnHistory에 있으며 resultExpiresAt 이후에는 RESULT_EXPIRED가 반환되어 새 인증 접수가 필요합니다. [최초 결과 60P × (1 + 0.5 × (years - 1)), 기본 60P; 대기·유효기간 내 재조회 무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "transactionId": {
                  "description": "동일 상품의 req_tax_return_history 응답에서 받은 transactionId (소문자 16진수 32자리)",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "transactionId"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "req_employment",
            "title": "재직·보험료 확인 인증 요청",
            "description": "재직·보험료 확인을 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_employment에 transactionId를 전달하세요. 승인 대기 중 인증 요청을 반복하거나 자동 승인하지 마세요. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "authProvider": {
                  "description": "휴대폰에서 승인할 간편인증 방식",
                  "enum": [
                    "kakao",
                    "naver",
                    "toss",
                    "pass",
                    "samsung",
                    "kb",
                    "shinhan",
                    "hana",
                    "woori",
                    "ibk",
                    "nh",
                    "kakaobank",
                    "banksalad"
                  ],
                  "type": "string"
                },
                "birthDate": {
                  "description": "생년월일 8자리 (YYYYMMDD)",
                  "pattern": "^[0-9]{8}$",
                  "type": "string"
                },
                "insuranceYears": {
                  "description": "보험료 조회 연수 (1~3, 생략 시 1)",
                  "maximum": 3,
                  "minimum": 1,
                  "type": "integer"
                },
                "name": {
                  "description": "본인 이름",
                  "maxLength": 40,
                  "minLength": 2,
                  "type": "string"
                },
                "phone": {
                  "description": "본인 명의 휴대전화 번호 (숫자만)",
                  "pattern": "^01[0-9]{8,9}$",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "birthDate",
                "phone",
                "authProvider"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "get_employment",
            "title": "재직·보험료 확인 결과",
            "description": "req_employment의 transactionId로 승인 상태와 재직·보험료 확인 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는 무료입니다. resultAvailable과 status, errorCode를 확인하세요. 결과는 result.employment에 있으며 resultExpiresAt 이후에는 RESULT_EXPIRED가 반환되어 새 인증 접수가 필요합니다. [최초 결과 반환 시 조회 범위별 과금, 대기·유효기간 내 재조회 무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "transactionId": {
                  "description": "동일 상품의 req_employment 응답에서 받은 transactionId (소문자 16진수 32자리)",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "transactionId"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "req_personal_income",
            "title": "금융소득(이자·배당) 조회 인증 요청",
            "description": "금융소득(이자·배당) 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_personal_income에 transactionId를 전달하세요. 승인 대기 중 인증 요청을 반복하거나 자동 승인하지 마세요. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "authProvider": {
                  "description": "휴대폰에서 승인할 간편인증 방식",
                  "enum": [
                    "kakao",
                    "naver",
                    "toss",
                    "pass",
                    "samsung",
                    "kb",
                    "shinhan",
                    "hana",
                    "woori",
                    "ibk",
                    "nh",
                    "kakaobank",
                    "banksalad"
                  ],
                  "type": "string"
                },
                "birthDate": {
                  "description": "생년월일 8자리 (YYYYMMDD)",
                  "pattern": "^[0-9]{8}$",
                  "type": "string"
                },
                "incomeYears": {
                  "description": "소득 조회 연수 (1~5, 생략 시 1)",
                  "maximum": 5,
                  "minimum": 1,
                  "type": "integer"
                },
                "name": {
                  "description": "본인 이름",
                  "maxLength": 40,
                  "minLength": 2,
                  "type": "string"
                },
                "phone": {
                  "description": "본인 명의 휴대전화 번호 (숫자만)",
                  "pattern": "^01[0-9]{8,9}$",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "birthDate",
                "phone",
                "authProvider"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "get_personal_income",
            "title": "금융소득(이자·배당) 조회 결과",
            "description": "req_personal_income의 transactionId로 승인 상태와 금융소득(이자·배당) 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는 무료입니다. resultAvailable과 status, errorCode를 확인하세요. 결과는 result.personalIncome에 있으며 resultExpiresAt 이후에는 RESULT_EXPIRED가 반환되어 새 인증 접수가 필요합니다. [최초 결과 반환 시 조회 범위별 과금, 대기·유효기간 내 재조회 무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "transactionId": {
                  "description": "동일 상품의 req_personal_income 응답에서 받은 transactionId (소문자 16진수 32자리)",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "transactionId"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "req_nps_join_history",
            "title": "국민연금 가입내역 조회 인증 요청",
            "description": "국민연금 가입내역 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_nps_join_history에 transactionId를 전달하세요. 승인 대기 중 인증 요청을 반복하거나 자동 승인하지 마세요. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "authProvider": {
                  "description": "휴대폰에서 승인할 간편인증 방식",
                  "enum": [
                    "kakao",
                    "naver",
                    "toss",
                    "pass",
                    "samsung",
                    "kb",
                    "shinhan",
                    "hana",
                    "woori",
                    "ibk",
                    "nh",
                    "kakaobank",
                    "banksalad"
                  ],
                  "type": "string"
                },
                "birthDate": {
                  "description": "생년월일 8자리 (YYYYMMDD)",
                  "pattern": "^[0-9]{8}$",
                  "type": "string"
                },
                "from": {
                  "description": "조회 시작 월 (YYYY-MM, 선택)",
                  "pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
                  "type": "string"
                },
                "name": {
                  "description": "본인 이름",
                  "maxLength": 40,
                  "minLength": 2,
                  "type": "string"
                },
                "phone": {
                  "description": "본인 명의 휴대전화 번호 (숫자만)",
                  "pattern": "^01[0-9]{8,9}$",
                  "type": "string"
                },
                "to": {
                  "description": "조회 종료 월 (YYYY-MM, 선택)",
                  "pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "birthDate",
                "phone",
                "authProvider"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "get_nps_join_history",
            "title": "국민연금 가입내역 조회 결과",
            "description": "req_nps_join_history의 transactionId로 승인 상태와 국민연금 가입내역 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는 무료입니다. resultAvailable과 status, errorCode를 확인하세요. 결과는 result.npsJoinHistory에 있으며 resultExpiresAt 이후에는 RESULT_EXPIRED가 반환되어 새 인증 접수가 필요합니다. [최초 결과 반환 시 조회 범위별 과금, 대기·유효기간 내 재조회 무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "transactionId": {
                  "description": "동일 상품의 req_nps_join_history 응답에서 받은 transactionId (소문자 16진수 32자리)",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "transactionId"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "req_driving_license",
            "title": "운전면허 조회 인증 요청",
            "description": "운전면허 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_driving_license에 transactionId를 전달하세요. 승인 대기 중 인증 요청을 반복하거나 자동 승인하지 마세요. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "authProvider": {
                  "description": "휴대폰에서 승인할 간편인증 방식",
                  "enum": [
                    "kakao",
                    "naver",
                    "toss",
                    "pass",
                    "samsung",
                    "kb",
                    "shinhan",
                    "hana",
                    "woori",
                    "ibk",
                    "nh",
                    "kakaobank",
                    "banksalad"
                  ],
                  "type": "string"
                },
                "birthDate": {
                  "description": "생년월일 8자리 (YYYYMMDD)",
                  "pattern": "^[0-9]{8}$",
                  "type": "string"
                },
                "name": {
                  "description": "본인 이름",
                  "maxLength": 40,
                  "minLength": 2,
                  "type": "string"
                },
                "phone": {
                  "description": "본인 명의 휴대전화 번호 (숫자만)",
                  "pattern": "^01[0-9]{8,9}$",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "birthDate",
                "phone",
                "authProvider"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "get_driving_license",
            "title": "운전면허 조회 결과",
            "description": "req_driving_license의 transactionId로 승인 상태와 운전면허 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는 무료입니다. resultAvailable과 status, errorCode를 확인하세요. 결과는 result.drivingLicense에 있으며 resultExpiresAt 이후에는 RESULT_EXPIRED가 반환되어 새 인증 접수가 필요합니다. [최초 결과 반환 시 조회 범위별 과금, 대기·유효기간 내 재조회 무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "transactionId": {
                  "description": "동일 상품의 req_driving_license 응답에서 받은 transactionId (소문자 16진수 32자리)",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "transactionId"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "req_health_checkup",
            "title": "국가 건강검진 결과 조회 인증 요청",
            "description": "국가 건강검진 결과 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_health_checkup에 transactionId를 전달하세요. 승인 대기 중 인증 요청을 반복하거나 자동 승인하지 마세요. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "authProvider": {
                  "description": "휴대폰에서 승인할 간편인증 방식",
                  "enum": [
                    "kakao",
                    "naver",
                    "toss",
                    "pass",
                    "samsung",
                    "kb",
                    "shinhan",
                    "hana",
                    "woori",
                    "ibk",
                    "nh",
                    "kakaobank",
                    "banksalad"
                  ],
                  "type": "string"
                },
                "birthDate": {
                  "description": "생년월일 8자리 (YYYYMMDD)",
                  "pattern": "^[0-9]{8}$",
                  "type": "string"
                },
                "name": {
                  "description": "본인 이름",
                  "maxLength": 40,
                  "minLength": 2,
                  "type": "string"
                },
                "phone": {
                  "description": "본인 명의 휴대전화 번호 (숫자만)",
                  "pattern": "^01[0-9]{8,9}$",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "birthDate",
                "phone",
                "authProvider"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "get_health_checkup",
            "title": "국가 건강검진 결과 조회 결과",
            "description": "req_health_checkup의 transactionId로 승인 상태와 국가 건강검진 결과 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는 무료입니다. resultAvailable과 status, errorCode를 확인하세요. 결과는 result.healthCheckup에 있으며 resultExpiresAt 이후에는 RESULT_EXPIRED가 반환되어 새 인증 접수가 필요합니다. [최초 결과 반환 시 조회 범위별 과금, 대기·유효기간 내 재조회 무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "transactionId": {
                  "description": "동일 상품의 req_health_checkup 응답에서 받은 transactionId (소문자 16진수 32자리)",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "transactionId"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "nslookup",
            "title": "도메인으로 IP 조회",
            "description": "Resolve a domain name to its currently registered IP addresses (DNS lookup). 도메인에 현재 등록된 IP 주소 목록을 조회합니다. 도메인 형식이 아닌 값은 오류로 응답합니다. [호출당 1포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "domain": {
                  "description": "검색할 도메인 (예: apick.app)",
                  "type": "string"
                }
              },
              "required": [
                "domain"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "reverse_ip",
            "title": "IP로 도메인 조회",
            "description": "Reverse IP lookup: list domains that have been hosted on a given IP address. 특정 IP에 등록된 도메인 이력 정보를 조회합니다. IP 주소 형식만 허용됩니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "ip": {
                  "description": "검색할 IP 주소 (예: 121.140.146.38)",
                  "type": "string"
                }
              },
              "required": [
                "ip"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "location",
            "title": "도메인/IP 위치 조회",
            "description": "Look up the geographic location of a domain or IP address. 도메인 또는 IP의 위치(지리 정보)를 조회합니다. 도메인을 입력하면 해당 도메인의 IP를 찾아 위치를 반환합니다. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "address": {
                  "description": "검색할 도메인 또는 IP (예: apick.app)",
                  "type": "string"
                }
              },
              "required": [
                "address"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "ip_history",
            "title": "IP 변경 이력 조회",
            "description": "Look up the historical IP address changes of a domain. 도메인에 대한 IP 주소 변경 이력 정보를 조회합니다. 최상위 도메인 기준으로 조회되며 하위 도메인은 추적되지 않습니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "domain": {
                  "description": "검색할 도메인 (예: apick.app)",
                  "type": "string"
                }
              },
              "required": [
                "domain"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "whois",
            "title": "WHOIS 조회",
            "description": "WHOIS lookup for a domain or IP address, returning registration and ownership information. 특정 도메인 또는 IP의 WHOIS(등록·소유) 정보를 조회합니다. .kr/.한국 도메인, 국내 IP, AS번호(예: AS9318)는 KISA/KRNIC 원본 정보로 조회됩니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "address": {
                  "description": "검색할 도메인 또는 IP (예: apick.app)",
                  "type": "string"
                }
              },
              "required": [
                "address"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "url_html",
            "title": "URL HTML 추출",
            "description": "Fetch a web page and return its rendered HTML source. 입력한 URL의 페이지를 열어 HTML을 추출해 반환합니다. 자바스크립트 렌더링이 필요한 페이지도 처리됩니다. [호출당 5포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "url": {
                  "description": "페이지 URL (예: https://apick.app)",
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "url_screenshot",
            "title": "URL 화면캡처",
            "description": "Capture a screenshot of a web page and return it as a JPEG image. 입력한 URL의 화면을 캡처해 JPEG 이미지로 반환합니다. [호출당 5포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "url": {
                  "description": "페이지 URL (예: https://www.naver.com/)",
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "url_similarity",
            "title": "URL 유사도 비교",
            "description": "Compare two web pages and judge how similar they are. 입력한 두 사이트 페이지의 유사 여부를 분석해 유사도 결과를 반환합니다. 피싱·복제 사이트 판별 등에 활용할 수 있습니다. [호출당 5포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "url1": {
                  "description": "비교할 첫 번째 페이지 URL",
                  "type": "string"
                },
                "url2": {
                  "description": "비교할 두 번째 페이지 URL",
                  "type": "string"
                }
              },
              "required": [
                "url1",
                "url2"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "google_search",
            "title": "구글 키워드 검색",
            "description": "Google keyword search: return web search results (link, title, snippet) for a keyword. 특정 키워드의 구글 검색 결과(링크·제목·요약)를 조회합니다. page 로 결과 페이지를 넘겨 가며 조회할 수 있습니다. [호출당 5포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "keyword": {
                  "description": "검색할 키워드",
                  "type": "string"
                },
                "page": {
                  "description": "검색 결과 조회 페이지 (기본값 1)",
                  "type": "string"
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "google_image_search",
            "title": "구글 이미지 검색(키워드로 검색)",
            "description": "Google image search by keyword: return image results (image URL, source link, title). 특정 키워드의 구글 이미지 검색 결과(이미지 URL·출처 링크·제목)를 조회합니다. page 로 결과 페이지를 넘겨 가며 조회할 수 있습니다. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "keyword": {
                  "description": "검색할 키워드",
                  "type": "string"
                },
                "page": {
                  "description": "검색 결과 조회 페이지 (기본값 1)",
                  "type": "string"
                }
              },
              "required": [
                "keyword"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "google_lens_search",
            "title": "구글 렌즈 검색(이미지로 검색)",
            "description": "Reverse image search: upload an image and get visually matching web pages and labels. 이미지 파일을 업로드해 해당 이미지와 관련된 웹 페이지(링크·이미지·텍스트)와 라벨을 조회합니다. 이미지 형식 파일만 허용됩니다. [호출당 60포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, image/webp, image/gif, image/bmp) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "crawl_youtube",
            "title": "유튜브 계정 정보 수집",
            "description": "Collect a YouTube channel profile and its latest uploaded videos. 유튜브 계정(채널) 정보와 최근 게시한 동영상 정보를 수집해 반환합니다. [호출당 40포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "user_id": {
                  "description": "수집할 유튜브 사용자(채널) 아이디 (예: CNN)",
                  "type": "string"
                }
              },
              "required": [
                "user_id"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "download_youtube_video",
            "title": "유튜브 동영상 다운로드",
            "description": "Download a publicly available YouTube video and return it as an MP4 file. 유튜브에 공개된 동영상을 MP4 파일로 다운로드해 반환합니다. 비공개·차단된 게시글은 실패로 응답합니다. [호출당 3포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "url": {
                  "description": "유튜브 게시글 URL (예: https://www.youtube.com/watch?v=...)",
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "youtube_metadata",
            "title": "유튜브 영상 정보 조회",
            "description": "Look up metadata of a public YouTube video: title, channel, duration, views, likes, upload date, description, tags, chapters and thumbnails. 유튜브 공개 영상의 제목·채널·길이·조회수·좋아요·업로드일·설명·태그·챕터·썸네일 목록을 조회합니다. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "url": {
                  "description": "유튜브 영상 URL 또는 11자리 영상 ID (예: https://www.youtube.com/watch?v=..., https://youtu.be/..., /shorts/...)",
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "youtube_thumbnail",
            "title": "유튜브 썸네일 다운로드",
            "description": "Download the largest thumbnail of a public YouTube video as a JPG image. 유튜브 공개 영상의 가장 큰 썸네일 이미지를 JPG 파일로 내려받습니다. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "url": {
                  "description": "유튜브 영상 URL 또는 11자리 영상 ID",
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "youtube_subtitle_list",
            "title": "유튜브 자막 목록 조회",
            "description": "List the manual and auto-generated subtitle languages available for a public YouTube video. 유튜브 공개 영상에서 제공하는 수동 자막과 자동 생성 자막의 언어 목록을 조회합니다. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "url": {
                  "description": "유튜브 영상 URL 또는 11자리 영상 ID",
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "youtube_subtitle",
            "title": "유튜브 자막 다운로드",
            "description": "Download the subtitles of a public YouTube video in one language as VTT, SRT or plain text. 유튜브 공개 영상의 자막을 언어별로 VTT·SRT·텍스트 파일로 내려받습니다. 제공 언어는 youtube_subtitle_list로 확인합니다. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "format": {
                  "description": "파일 형식 vtt(기본)·srt·txt. txt는 시간 정보를 뺀 본문만 반환합니다.",
                  "type": "string"
                },
                "lang": {
                  "description": "자막 언어 코드 (예: ko, en, en-US, en-orig). 자막 목록 조회 결과의 lang 값. 자동 번역 자막(translated=true)은 실패할 수 있어 원어 자막을 권장",
                  "type": "string"
                },
                "type": {
                  "description": "자막 종류 any(기본: 수동 자막 우선, 없으면 자동 생성)·manual·auto",
                  "type": "string"
                },
                "url": {
                  "description": "유튜브 영상 URL 또는 11자리 영상 ID",
                  "type": "string"
                }
              },
              "required": [
                "url",
                "lang"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": true,
              "readOnlyHint": true
            }
          },
          {
            "name": "stt",
            "title": "오디오 텍스트 변환(STT)",
            "description": "Convert a speech audio file to text (STT). 음성 파일을 텍스트로 변환합니다. MP3, WAV, M4A, AAC, OGG, FLAC, WEBM 등 일반적인 오디오 포맷을 지원하며, 변환된 텍스트를 JSON으로 반환합니다. [호출당 50포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "artifact_filter": {
                  "description": "무음·잡음 구간에서 생긴 비음성 문구 처리: flag=구간에 suspect 표시, remove=제거 후 text 재구성. 생략 시 기존과 동일",
                  "enum": [
                    "flag",
                    "remove"
                  ],
                  "type": "string"
                },
                "audio_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/mp3, audio/wav, audio/x-wav, audio/mp4, audio/aac, audio/ogg, audio/flac, audio/webm) (최대 200MB)",
                  "type": "string"
                },
                "language": {
                  "description": "추출 언어 코드 (예: ko, en, ja). 기본값 ko",
                  "type": "string"
                }
              },
              "required": [
                "audio_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "tts_jobs_create",
            "title": "TTS 작업 접수",
            "description": "한국어 TTS를 접수합니다. 기본 정규화 스킬이 발음을 다듬으며 추가 요금이 합산됩니다. normalize_text=false로 끌 수 있습니다. fallback_policy로 Gemini 자동 전환을 선택하면 목소리와 요금이 달라질 수 있습니다. 완료 후 MP3와 원문 ASS를 공통 API로 받습니다. 서버·공급자 최종 실패 시 정규화까지 전액 환불하고, 연결 종료는 정상 과금합니다. [apick 합성 100자까지 30P, 이후 100자당 10P + 기본 on 정규화 스킬 요금. Gemini 전환 시 원가×환율×1.4]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "fallback_options": {
                  "additionalProperties": {},
                  "description": "전환할 때만 적용하는 voice_id, style",
                  "propertyNames": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "fallback_policy": {
                  "description": "기본 never. queue_full=대기열 포화, busy=즉시 실행 불가 시 Gemini 전환",
                  "enum": [
                    "never",
                    "queue_full",
                    "busy"
                  ],
                  "type": "string"
                },
                "idempotency_key": {
                  "description": "접수 응답 유실 시 같은 요청에 재사용할 키",
                  "maxLength": 128,
                  "pattern": "^[A-Za-z0-9_.:-]+$",
                  "type": "string"
                },
                "normalize_text": {
                  "description": "기본 true. 정규화 스킬 비용 합산, false는 실행·과금 생략",
                  "type": "boolean"
                },
                "text": {
                  "description": "합성할 한국어 텍스트. utterances와 둘 중 하나",
                  "maxLength": 800,
                  "minLength": 1,
                  "type": "string"
                },
                "utterances": {
                  "description": "발화 목록. text와 둘 중 하나",
                  "items": {},
                  "type": "array"
                },
                "voice_id": {
                  "description": "지원 voice_id",
                  "enum": [
                    "v2_ann_m_30s_01",
                    "v2_ann_m_30s_02",
                    "v2_ann_m_30s_04",
                    "v2_ann_m_30s_05",
                    "v2_ann_f_30s_02",
                    "v2_ann_f_30s_03",
                    "v2_ann_f_30s_04",
                    "v2_ann_f_30s_05",
                    "v2_m_teen_01",
                    "v2_m_young_01",
                    "v2_m_mid_01",
                    "v2_m_senior_01",
                    "v2_f_young_01",
                    "v2_f_senior_01"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "voice_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false
            }
          },
          {
            "name": "tts_gemini_create",
            "title": "Gemini TTS 작업 접수",
            "description": "Gemini 3.8 Flash-Lite TTS에 목소리·낭독 스타일·본문 또는 화자별 발화를 전달합니다. 기본 on 정규화는 합계 2,000자 한도와 스킬 요금이 적용됩니다. 꺼도 MP3·원문 ASS 결과 구조는 같습니다. [동기화된 실제 토큰 원가×환율×1.4 + 정규화 스킬 요금]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "idempotency_key": {
                  "description": "같은 요청의 재접수 키",
                  "maxLength": 128,
                  "pattern": "^[A-Za-z0-9_.:-]+$",
                  "type": "string"
                },
                "normalize_text": {
                  "description": "기본 true, 정규화 추가 과금",
                  "type": "boolean"
                },
                "style": {
                  "description": "낭독 스타일",
                  "maxLength": 1000,
                  "type": "string"
                },
                "text": {
                  "description": "utterances와 둘 중 하나",
                  "maxLength": 8000,
                  "type": "string"
                },
                "utterances": {
                  "description": "각 항목 text, voice_id, style, speaker",
                  "items": {},
                  "type": "array"
                },
                "voice_id": {
                  "description": "목소리 목록의 ID. 기본 Kore",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "tts_gemini_voices",
            "title": "Gemini TTS 목소리 목록",
            "description": "공개 기본·확장 목소리, 성별·공식 음색, 검증 시각을 조회합니다. 연령은 별도 검수된 경우에만 표시합니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {},
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "tts_quote",
            "title": "TTS 예상 요금",
            "description": "합성·정규화 예상 요금과 최대 예약금을 조회합니다. 실제 정산액은 완료된 작업의 billing을 확인하세요. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "engine": {
                  "description": "기본 apick",
                  "enum": [
                    "apick",
                    "gemini"
                  ],
                  "type": "string"
                },
                "fallback_policy": {
                  "description": "전환 정책",
                  "enum": [
                    "never",
                    "queue_full",
                    "busy"
                  ],
                  "type": "string"
                },
                "normalize_text": {
                  "description": "기본 true",
                  "type": "boolean"
                },
                "text": {
                  "description": "합성 본문",
                  "type": "string"
                },
                "utterances": {
                  "description": "발화 목록",
                  "items": {},
                  "type": "array"
                },
                "voice_id": {
                  "description": "목소리 ID",
                  "type": "string"
                }
              },
              "required": [
                "voice_id"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "tts_jobs_status",
            "title": "TTS 작업 상태 조회",
            "description": "Get the public status and result availability of a TTS job. TTS 작업의 waiting, processing, completed, cancelled, failed 상태와 MP3·ASS 자막 준비 여부를 조회합니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "job_id": {
                  "description": "작업 접수에서 받은 32자리 ID",
                  "maxLength": 32,
                  "minLength": 32,
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "tts_jobs_cancel",
            "title": "TTS 작업 취소",
            "description": "waiting 또는 processing TTS 작업에 취소를 요청합니다. 이미 수행한 유료 처리분은 정산하고 미사용 예약금은 해제합니다. 연결 종료만으로는 취소되지 않습니다. [추가 과금 없음]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "job_id": {
                  "description": "취소할 32자리 ID",
                  "maxLength": 32,
                  "minLength": 32,
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false
            }
          },
          {
            "name": "tts_jobs_result",
            "title": "TTS MP3 결과 다운로드",
            "description": "Download the completed MP3 result once as base64. 완료된 TTS MP3 결과를 base64로 한 번 내려받습니다. 호출이 시작되면 서버 원본이 소모되므로 재실행할 수 없습니다. [추가 과금 없음]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "job_id": {
                  "description": "completed 상태인 32자리 ID",
                  "maxLength": 32,
                  "minLength": 32,
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false
            }
          },
          {
            "name": "tts_jobs_subtitles",
            "title": "TTS ASS 자막 다운로드",
            "description": "Download the completed ASS subtitles once as base64. 완료된 TTS의 발화 타이밍 ASS 자막을 base64로 한 번 내려받습니다. 호출이 시작되면 자막 원본이 소모되므로 재실행할 수 없습니다. [추가 과금 없음]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "job_id": {
                  "description": "completed 상태인 32자리 ID",
                  "maxLength": 32,
                  "minLength": 32,
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": true,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false
            }
          },
          {
            "name": "tts_jobs_quality",
            "title": "TTS 품질 이력",
            "description": "TTS 발화별 검수 결과와 후보 이력을 조회합니다. 종료 후 72시간 보존되며 최종 결과 다운로드를 소비하지 않습니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "job_id": {
                  "description": "소유한 작업 ID",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "tts_jobs_retry",
            "title": "TTS 발화 재개",
            "description": "실패 발화만 같은 작업에서 재개합니다. 동일 멱등 키는 중복 실행·과금되지 않습니다. [추가 과금 없음]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "idempotency_key": {
                  "description": "동일 재개 요청에 재사용하는 키",
                  "maxLength": 128,
                  "minLength": 8,
                  "type": "string"
                },
                "job_id": {
                  "description": "소유한 작업 ID",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                },
                "utterance_ids": {
                  "description": "u001부터 시작하는 실패 발화 ID 목록",
                  "items": {},
                  "type": "array"
                }
              },
              "required": [
                "job_id",
                "utterance_ids",
                "idempotency_key"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false
            }
          },
          {
            "name": "tts_jobs_candidate_audio",
            "title": "TTS 후보 음원",
            "description": "품질 이력의 후보 WAV를 조회합니다. 최종 결과의 일회 다운로드를 소비하지 않습니다. REST에서는 Range 재생을 지원합니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "candidate_id": {
                  "description": "품질 이력의 후보 ID",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                },
                "job_id": {
                  "description": "소유한 작업 ID",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id",
                "candidate_id"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "voice_change",
            "title": "음성 변조",
            "description": "Modulate the voice in a video or audio file to a lower or higher pitch. 동영상 또는 오디오 파일의 음성을 저음 또는 고음으로 변조합니다. MP3, WAV 등 오디오와 MP4, MOV 등 동영상 포맷을 지원하며, 변조된 파일을 반환합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "media_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/mp3, audio/wav, audio/x-wav, audio/mp4, audio/aac, audio/ogg, video/mp4, video/quicktime, video/x-msvideo, video/x-matroska, video/webm) (최대 200MB)",
                  "type": "string"
                },
                "type": {
                  "description": "변조음 타입 (1: 저음, 2: 고음)",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "media_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "face_blur",
            "title": "얼굴 모자이크 처리",
            "description": "Detect faces in an image and blur (mosaic) them. 이미지 파일에서 얼굴을 인식해 해당 영역을 모자이크 처리한 이미지(JPEG)를 반환합니다. PNG, JPEG 등 일반 이미지 포맷을 지원합니다. [호출당 20포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp, image/bmp) (최대 50MB)",
                  "type": "string"
                },
                "threshold": {
                  "description": "얼굴 추출 민감도 (0 ~ 0.9, 기본값 0.5, 작을수록 민감하게 추출)",
                  "type": "number"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "pdf_to_docx",
            "title": "PDF 파일 DOCX 변환",
            "description": "Convert a PDF file to a DOCX (Word) file. PDF 파일을 DOCX 파일로 변환해 반환합니다. PDF 형식의 파일만 허용됩니다. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "pdf_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: application/pdf) (최대 25MB)",
                  "type": "string"
                }
              },
              "required": [
                "pdf_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "pdf_to_image",
            "title": "PDF 파일 이미지 변환",
            "description": "Convert each page of a PDF file to PNG images, returned as a ZIP archive. PDF 파일의 각 페이지를 PNG 이미지로 변환하고 ZIP 파일로 묶어 반환합니다. PDF 형식의 파일만 허용됩니다. [호출당 2포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "pdf_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: application/pdf) (최대 25MB)",
                  "type": "string"
                }
              },
              "required": [
                "pdf_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "pdf_merge",
            "title": "PDF 파일 합치기",
            "description": "Merge two PDF files into one. 두 개의 PDF 파일을 순서대로 하나의 PDF 파일로 합쳐 반환합니다. PDF 형식의 파일만 허용됩니다. [호출당 2포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "pdf_url_1": {
                  "description": "다운로드 가능한 https URL (허용 형식: application/pdf) (최대 25MB)",
                  "type": "string"
                },
                "pdf_url_2": {
                  "description": "다운로드 가능한 https URL (허용 형식: application/pdf) (최대 25MB)",
                  "type": "string"
                }
              },
              "required": [
                "pdf_url_1",
                "pdf_url_2"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "html_to_pdf",
            "title": "HTML PDF 변환",
            "description": "Render HTML code into a PDF file. HTML 코드를 렌더링해 PDF 파일로 변환합니다. HTML 문자열을 입력하면 변환된 PDF 파일을 반환합니다. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "html": {
                  "description": "변환할 HTML 코드",
                  "type": "string"
                },
                "pagination": {
                  "description": "페이지 번호 표시 여부 (0: 없음(기본값), 1: 표시)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                }
              },
              "required": [
                "html"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "docx_to_pdf",
            "title": "DOCX 파일을 PDF 파일로 변환",
            "description": "Convert a DOCX (Word) file to a PDF file. DOCX 파일을 PDF 파일로 변환해 반환합니다. DOCX 형식의 파일만 허용됩니다. [호출당 80포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "docx_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: application/vnd.openxmlformats-officedocument.wordprocessingml.document) (최대 25MB)",
                  "type": "string"
                }
              },
              "required": [
                "docx_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "json_to_excel",
            "title": "JSON 데이터 EXCEL 파일 변환",
            "description": "Convert JSON data into an Excel (XLSX) file. JSON 데이터를 EXCEL(XLSX) 파일로 변환해 반환합니다. data_list 는 객체 배열([{\"컬럼\":\"값\", ...}, ...]) 또는 2차원 배열([[...], ...]) 형식을 지원합니다. [호출당 1포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "data_list": {
                  "description": "변환할 데이터 목록. 객체 배열 또는 2차원 배열 (2차원 배열은 모든 행의 열 개수가 같아야 함)",
                  "items": {},
                  "type": "array"
                },
                "sheet_name": {
                  "description": "엑셀 시트 이름",
                  "type": "string"
                }
              },
              "required": [
                "data_list"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "base64_to_image",
            "title": "base64 이미지 변환",
            "description": "Decode a base64-encoded image string back into an image file. base64 로 인코딩된 이미지 문자열을 원본 이미지 파일로 디코딩해 반환합니다. \"data:image/타입;base64,\" 접두어가 붙은 문자열도 허용됩니다. [호출당 2포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "base64": {
                  "description": "이미지 base64 문자열 (data:image/타입;base64, 접두어 허용)",
                  "type": "string"
                }
              },
              "required": [
                "base64"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "set_watermark",
            "title": "비가시성 워터마크 삽입",
            "description": "Embed an invisible watermark code into an image. 원본 이미지에 보이지 않는 워터마크 코드를 삽입한 PNG 이미지를 반환합니다. 이미지가 일부 변형되어도 높은 확률로 워터마크를 확인할 수 있습니다. PNG, JPEG 등 일반 이미지 포맷을 지원합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "code": {
                  "description": "삽입할 워터마크 코드 (1 ~ 21,767,823,359 사이의 숫자)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp, image/bmp) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "code",
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "get_watermark",
            "title": "비가시성 워터마크 조회",
            "description": "Read the invisible watermark code embedded in an image. 이미지에 삽입된 비가시성 워터마크 코드를 조회해 JSON 으로 반환합니다. 이미지가 일부 변형되어도 높은 확률로 워터마크를 확인할 수 있습니다. PNG, JPEG 등 일반 이미지 포맷을 지원합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp, image/bmp) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "draw_watermark_pdf",
            "title": "PDF 워터마크 삽입",
            "description": "Draw a visible text watermark across every page of a PDF file. PDF 파일 전체 페이지에 텍스트 워터마크를 삽입한 PDF 를 반환합니다. 글자 크기·색상·투명도·각도·밀집도·적용 영역을 조절할 수 있으며, PDF 형식의 파일만 허용됩니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "angle": {
                  "description": "워터마크 각도 (0 ~ 360, 기본값 35)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "color": {
                  "description": "워터마크 색상 HEX (000000 ~ FFFFFF, 기본값 EEEEEE)",
                  "type": "string"
                },
                "density": {
                  "description": "워터마크 글자 밀집도 (100 ~ 200, 기본값 150)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "font_size": {
                  "description": "워터마크 글자 크기 (8 ~ 30, 기본값 10)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "height": {
                  "description": "워터마크 적용 높이 (0 ~ 2000, 기본값 800, A4 기준)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "opacity": {
                  "description": "워터마크 투명도 (0 ~ 1, 기본값 0.05)",
                  "type": "number"
                },
                "pdf_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: application/pdf) (최대 25MB)",
                  "type": "string"
                },
                "width": {
                  "description": "워터마크 적용 너비 (0 ~ 2000, 기본값 550, A4 기준)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "wm": {
                  "description": "워터마크 문자열 (최대 30자)",
                  "type": "string"
                }
              },
              "required": [
                "wm",
                "pdf_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "draw_watermark_image",
            "title": "Image 워터마크 삽입",
            "description": "Draw a visible text watermark across an image. 이미지 파일에 텍스트 워터마크를 삽입한 PNG 이미지를 반환합니다. 글자 크기·색상·투명도·밀집도를 조절할 수 있으며, PNG, JPEG 등 일반 이미지 포맷을 지원합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "color": {
                  "description": "워터마크 색상 HEX (000000 ~ FFFFFF, 기본값 EEEEEE)",
                  "type": "string"
                },
                "density": {
                  "description": "워터마크 글자 밀집도 (5 ~ 15, 기본값 10)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "font_size": {
                  "description": "워터마크 글자 크기 (10 ~ 100, 기본값 10)",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp, image/bmp) (최대 50MB)",
                  "type": "string"
                },
                "opacity": {
                  "description": "워터마크 투명도 (0 ~ 1, 기본값 0.5)",
                  "type": "number"
                },
                "wm": {
                  "description": "워터마크 문자열 (최대 30자)",
                  "type": "string"
                }
              },
              "required": [
                "wm",
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "nsfw_detection",
            "title": "선정적인 컨텐츠(NSFW) 탐지",
            "description": "Detect whether an image contains NSFW (violent or sexually explicit) content and return an nsfw_score. 이미지가 NSFW(폭력적·선정적) 콘텐츠인지 탐지해 nsfw_score 를 반환합니다. detail=1 입력 시 세부 판정 결과를 함께 반환합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "detail": {
                  "description": "세부 판정 결과 포함 여부 (포함: 1, 미포함: 0, 기본값 0)",
                  "type": "string"
                },
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, image/webp, image/bmp) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "image_similarity",
            "title": "이미지 유사도 비교",
            "description": "Compare a base image with another image and return a similarity score. 기준 이미지와 비교 대상 이미지의 유사도를 분석해 점수를 반환합니다. 원본 검증, 중복 이미지 탐지 등에 사용합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "compare_image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, image/webp, image/bmp) (최대 50MB)",
                  "type": "string"
                },
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, image/webp, image/bmp) (최대 50MB)",
                  "type": "string"
                }
              },
              "required": [
                "image_url",
                "compare_image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "video_to_mp3",
            "title": "동영상 MP3 추출",
            "description": "Extract the audio track of a video file as an MP3 file. 동영상 파일에서 오디오를 추출해 MP3 파일로 반환합니다. [호출당 30포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "video_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/x-msvideo, video/webm, video/x-matroska) (최대 200MB)",
                  "type": "string"
                }
              },
              "required": [
                "video_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "extract_video_thumbnail",
            "title": "동영상 미리보기 이미지 추출",
            "description": "Extract preview thumbnail images from a video at regular intervals and return them as a ZIP file. 동영상에서 일정 구간마다 미리보기 이미지를 추출해 ZIP 파일로 반환합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "count": {
                  "description": "추출할 이미지 개수 (범위: 0 ~ 200, 기본값 100)",
                  "type": "string"
                },
                "video_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/x-msvideo, video/webm, video/x-matroska) (최대 200MB)",
                  "type": "string"
                },
                "width": {
                  "description": "이미지 가로 길이 (범위: 100 ~ 2000, 기본값 480). 세로 길이는 가로 비율에 따라 자동 계산",
                  "type": "string"
                }
              },
              "required": [
                "video_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "word_cloud",
            "title": "워드클라우드 생성",
            "description": "Generate a word cloud image (JPEG) from input text, sizing each word by frequency. 입력 텍스트를 구성하는 단어의 중요도(빈도수)에 따라 서로 다른 크기의 단어로 이루어진 워드클라우드 이미지(JPEG)를 생성해 반환합니다. [호출당 10포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "text": {
                  "description": "워드클라우드를 생성할 텍스트",
                  "type": "string"
                }
              },
              "required": [
                "text"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "face_detection",
            "title": "이미지 얼굴 인식",
            "description": "Detect faces in an image and return their coordinates. 이미지 파일에서 얼굴을 인식해 해당 좌표를 반환합니다. use_feature=1 입력 시 얼굴 특징 정보를 함께 반환합니다. [호출당 3포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "image_url": {
                  "description": "다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, image/webp, image/bmp) (최대 50MB)",
                  "type": "string"
                },
                "threshold": {
                  "description": "얼굴 추출 민감도 (범위: 0 ~ 0.9, 기본값 0.5, 높을수록 정확한 얼굴만 추출)",
                  "type": "string"
                },
                "use_feature": {
                  "description": "얼굴 특징 정보 포함 여부 (포함: 1, 미포함: 0, 기본값 0)",
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "llm_models",
            "title": "LLM 모델 카탈로그",
            "description": "List available text-generation LLM models with per-token pricing and max context. 텍스트 생성 모델 카탈로그를 반환합니다. 각 모델의 1M 토큰당 input/output 단가(포인트), 계열·크기·멀티모달 여부·태그·추천 용도(use_cases)·max_context 를 한 응답에 포함합니다. llm_chat Tool의 model 입력값을 찾을 때 사용합니다. 무료입니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "family": {
                  "description": "모델 계열 필터 (deepseek, qwen, glm, google, nvidia, llama, mistral, gpt-oss, moonshot, seed, mimo, phi)",
                  "type": "string"
                },
                "multimodal": {
                  "description": "멀티모달(이미지 이해) 지원 여부 필터 (true/false)",
                  "type": "boolean"
                },
                "tag": {
                  "description": "특수 태그 필터 — 'reasoning'(추론 특화) | 'coder'(코딩 특화)",
                  "type": "string"
                },
                "use_case": {
                  "description": "추천 용도 필터 — 'general' | 'reasoning' | 'coding' | 'multimodal' | 'economy'",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "llm_chat",
            "title": "LLM 채팅",
            "description": "Send a chat request to a selected LLM model and receive the assistant reply. 선택한 LLM 모델에 대화를 보내고 assistant 응답을 받습니다. 서버는 대화 히스토리를 보관하지 않는 stateless 방식 — 매 호출마다 전체 히스토리를 messages 로 전송하고, 응답의 compacted_messages 를 다음 턴의 messages 로 그대로 재사용합니다. 사용 가능한 모델은 llm_models Tool로 조회합니다. 토큰 사용량에 비례해 포인트가 차감됩니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "compact": {
                  "additionalProperties": {},
                  "description": "히스토리 압축 옵션 { strategy: 'none'(기본) | 'sliding_window' | 'relevance', window_pairs: 유지할 user/assistant 페어 수 (기본 10, 최소 1) }. relevance 는 최근 대화와 함께 최신 질문에 필요한 이전 대화를 골라 남긴다. 긴 대화의 input 토큰 누적 방지",
                  "propertyNames": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "content": {
                  "description": "단발 입력 — 사용자 메시지 한 건만 보내는 간편 형태. messages 와 둘 중 하나는 필수",
                  "type": "string"
                },
                "max_tokens": {
                  "description": "응답 최대 토큰. 미지정 시 모델 컨텍스트 기반 안전 상한으로 자동 설정, 상한 초과 지정 시 자동 조정",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "messages": {
                  "description": "OpenAI 형식 [{role, content}] 배열. role 은 'system'|'user'|'assistant'. content 와 둘 중 하나는 필수, 동시 지정 시 messages 우선. 멀티턴 대화는 응답의 compacted_messages 를 다음 턴에 그대로 전송",
                  "items": {},
                  "type": "array"
                },
                "model": {
                  "description": "모델 id (llm_models Tool로 조회 가능, 예: openai/gpt-oss-120b)",
                  "type": "string"
                },
                "speed": {
                  "description": "응답 속도/추론 깊이 — 'fast'(얕게, 빠름) | 'medium' | 'slow'(깊게, 느림). 한글 '빠름'|'중간'|'느림' 허용. 추론 특화 모델에서 효과가 큽니다",
                  "type": "string"
                },
                "system": {
                  "description": "system 프롬프트 (역할·페르소나·정책·배경지식). 미지정 시 기본 한국어 어시스턴트 프롬프트가 적용됩니다",
                  "type": "string"
                },
                "temperature": {
                  "description": "출력 다양성 0.0~2.0. 낮을수록 재현성, 높을수록 창의성 (미지정 시 모델 기본값)",
                  "type": "number"
                }
              },
              "required": [
                "model"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "text_summary",
            "title": "텍스트 요약 AI",
            "description": "Summarize a long text (up to 100,000 characters) into a concise Korean summary. 입력 텍스트(최대 10만 자)의 핵심 내용을 간결하고 정확하게 요약합니다. 모델·파라미터는 서버가 고정하며 빠른 응답에 최적화되어 있습니다. 토큰 수와 무관하게 요청당 고정 포인트가 차감됩니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "text": {
                  "description": "요약할 원문 텍스트 (최대 100,000자)",
                  "type": "string"
                }
              },
              "required": [
                "text"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "text_polish",
            "title": "텍스트 다듬기 AI",
            "description": "Polish a text (up to 100,000 characters) by fixing grammar, spelling, and awkward phrasing. 입력 텍스트(최대 10만 자)의 문법 오류, 맞춤법·오타, 어색한 표현, 문장 순서를 의미를 유지한 채 자연스럽게 다듬습니다. 모델·파라미터는 서버가 고정하며 빠른 응답에 최적화되어 있습니다. 토큰 수와 무관하게 요청당 고정 포인트가 차감됩니다. [호출당 100포인트]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "text": {
                  "description": "다듬을 원문 텍스트 (최대 100,000자)",
                  "type": "string"
                }
              },
              "required": [
                "text"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "image_generate",
            "title": "이미지 한 장 생성",
            "description": "텍스트만 사용하거나 참고 이미지와 텍스트를 함께 사용해 이미지 한 장을 생성합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 사용량 미확정 시 반환한 job_id를 image_batch_status로 조회하며 다시 생성하지 않습니다. [원가 × 환율 × 1.4 · 상한 예약 후 실제 정산]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "background": {
                  "description": "배경 방식",
                  "enum": [
                    "auto",
                    "opaque",
                    "transparent"
                  ],
                  "type": "string"
                },
                "idempotency_key": {
                  "description": "같은 요청의 재전송으로 인한 중복 생성·과금을 막는 고유 키",
                  "maxLength": 128,
                  "minLength": 8,
                  "pattern": "^[A-Za-z0-9_-]+$",
                  "type": "string"
                },
                "output_format": {
                  "description": "출력 포맷",
                  "enum": [
                    "png",
                    "jpeg",
                    "webp"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "생성 프롬프트, 최대 28,000자",
                  "maxLength": 28000,
                  "type": "string"
                },
                "reference_image_url": {
                  "description": "새 이미지의 제품·인물·색감·구도 참고용 이미지 URL — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "size": {
                  "description": "표준 이미지 크기, 기본 1024x1024",
                  "enum": [
                    "1024x1024",
                    "1536x1024",
                    "1024x1536",
                    "1152x864",
                    "864x1152"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "prompt"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "image_edit",
            "title": "이미지 한 장 편집",
            "description": "원본 이미지와 편집 지시로 이미지 한 장을 편집합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 사용량 미확정 시 반환한 job_id를 image_batch_status로 조회하며 다시 생성하지 않습니다. [원가 × 환율 × 1.4 · 상한 예약 후 실제 정산]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "background": {
                  "description": "배경 방식",
                  "enum": [
                    "auto",
                    "opaque",
                    "transparent"
                  ],
                  "type": "string"
                },
                "idempotency_key": {
                  "description": "같은 요청의 재전송으로 인한 중복 생성·과금을 막는 고유 키",
                  "maxLength": 128,
                  "minLength": 8,
                  "pattern": "^[A-Za-z0-9_-]+$",
                  "type": "string"
                },
                "image_url": {
                  "description": "원본 이미지 — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "output_format": {
                  "description": "출력 포맷",
                  "enum": [
                    "png",
                    "jpeg",
                    "webp"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "편집 지시, 최대 28,000자",
                  "maxLength": 28000,
                  "type": "string"
                },
                "size": {
                  "description": "표준 출력 크기, 기본 1024x1024",
                  "enum": [
                    "1024x1024",
                    "1536x1024",
                    "1024x1536",
                    "1152x864",
                    "864x1152"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "prompt",
                "image_url"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "image_batch_create",
            "title": "이미지 대량 작업 생성",
            "description": "이미지 1~50장의 비동기 생성 또는 편집 작업을 접수합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 상한을 예약하고 성공분의 실제 요금을 정산하며, 접수 후에는 취소할 수 없습니다. [원가 × 환율 × 1.4 · 상한 예약 후 실제 정산]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "background": {
                  "description": "배경 방식",
                  "enum": [
                    "auto",
                    "opaque",
                    "transparent"
                  ],
                  "type": "string"
                },
                "idempotency_key": {
                  "description": "같은 요청의 재전송으로 인한 중복 생성·과금을 막는 고유 키",
                  "maxLength": 128,
                  "minLength": 8,
                  "pattern": "^[A-Za-z0-9_-]+$",
                  "type": "string"
                },
                "image_count": {
                  "description": "만들 이미지 장수, 1~50",
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                },
                "image_url": {
                  "description": "편집 모드에서 변경할 원본 이미지 URL — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "mode": {
                  "description": "작업 방식",
                  "enum": [
                    "generate",
                    "edit"
                  ],
                  "type": "string"
                },
                "output_format": {
                  "description": "출력 포맷",
                  "enum": [
                    "png",
                    "jpeg",
                    "webp"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "생성 또는 편집 지시, 최대 28,000자",
                  "maxLength": 28000,
                  "type": "string"
                },
                "reference_image_url": {
                  "description": "생성 모드에서 사용할 참고 이미지 URL — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "size": {
                  "description": "표준 출력 크기, 기본 1024x1024",
                  "enum": [
                    "1024x1024",
                    "1536x1024",
                    "1024x1536",
                    "1152x864",
                    "864x1152"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "mode",
                "prompt",
                "image_count"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "image_batch_status",
            "title": "이미지 대량 작업 상태",
            "description": "대량 이미지 작업의 진행 상태, 선차감·환급·현재 차감 포인트를 조회합니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "job_id": {
                  "description": "작업 ID",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "image_batch_result",
            "title": "이미지 대량 작업 결과",
            "description": "완료된 대량 작업 결과 중 지정한 한 장을 이미지 콘텐츠로 반환합니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "index": {
                  "description": "0부터 시작하는 이미지 번호",
                  "maximum": 49,
                  "minimum": 0,
                  "type": "integer"
                },
                "job_id": {
                  "description": "작업 ID",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id",
                "index"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "seedance_jobs_create",
            "title": "Seedance 영상 작업 접수",
            "description": "Submit an asynchronous Seedance video generation job. Select version and tier; supported modes, durations and prices depend on the selected version. Seedance 영상 생성 작업을 비동기로 접수합니다. text/image/reference 세 가지 mode를 지원하며, seedance_jobs_status Tool로 상태를 조회하고 완료되면 응답의 result_url(REST 다운로드 주소, 7일 이내 유효)로 다운로드합니다. 접수 시 duration × 초당 포인트(해상도별로 다름, resolution 참고)가 예약 차감되고 완료 시 확정, 실패·시간 초과 시 전액 환불됩니다. [기본 버전 기준: 초당 480p 560P·720p 1,250P·1080p 2,810P × duration(초). 다른 버전은 개발가이드의 버전별 요금표 참고.]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "aspect_ratio": {
                  "description": "출력 화면 비율. 선택 버전·등급·모드에서 허용하는 값만 사용하세요.",
                  "enum": [
                    "16:9",
                    "4:3",
                    "1:1",
                    "3:4",
                    "9:16",
                    "21:9",
                    "adaptive"
                  ],
                  "type": "string"
                },
                "audio": {
                  "description": "오디오 생성 여부. 선택 가능한 버전은 기본 true, 무음 전용 버전은 false, 오디오 필수 버전은 true만 허용합니다.",
                  "type": "boolean"
                },
                "duration": {
                  "description": "영상 길이(초), 전체 버전 범위 2~30. 허용 값과 기본값은 버전·등급별로 다릅니다.",
                  "maximum": 30,
                  "minimum": 2,
                  "type": "integer"
                },
                "idempotency_key": {
                  "description": "같은 요청의 재전송으로 인한 중복 접수·과금을 막는 고유 키",
                  "maxLength": 128,
                  "minLength": 8,
                  "pattern": "^[A-Za-z0-9_-]+$",
                  "type": "string"
                },
                "image_url": {
                  "description": "image 모드에서 사용할 첫 프레임 이미지 URL — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "last_image_url": {
                  "description": "image 모드에서 사용할 마지막 프레임 이미지 URL(선택) — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "mode": {
                  "description": "입력 방식 — 'text'(텍스트만) | 'image'(첫 프레임 이미지 지정) | 'reference'(참조 이미지·영상으로 주체 지정). 기본 text",
                  "enum": [
                    "text",
                    "image",
                    "reference"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "영상 생성 프롬프트, 최대 2,000자",
                  "maxLength": 2000,
                  "type": "string"
                },
                "reference_audio_url": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_audio_url_10": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_audio_url_2": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_audio_url_3": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_audio_url_4": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_audio_url_5": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_audio_url_6": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_audio_url_7": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_audio_url_8": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_audio_url_9": {
                  "description": "참조 오디오 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: audio/mpeg, audio/wav, audio/x-wav) (최대 15MB)",
                  "type": "string"
                },
                "reference_image_url": {
                  "description": "reference 모드에서 주체를 지정할 참조 이미지 URL — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_10": {
                  "description": "참조 이미지 URL(10번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_11": {
                  "description": "참조 이미지 URL(11번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_12": {
                  "description": "참조 이미지 URL(12번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_13": {
                  "description": "참조 이미지 URL(13번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_14": {
                  "description": "참조 이미지 URL(14번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_15": {
                  "description": "참조 이미지 URL(15번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_16": {
                  "description": "참조 이미지 URL(16번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_17": {
                  "description": "참조 이미지 URL(17번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_18": {
                  "description": "참조 이미지 URL(18번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_19": {
                  "description": "참조 이미지 URL(19번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_2": {
                  "description": "reference 모드 참조 이미지 URL(2번째) — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_20": {
                  "description": "참조 이미지 URL(20번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_21": {
                  "description": "참조 이미지 URL(21번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_22": {
                  "description": "참조 이미지 URL(22번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_23": {
                  "description": "참조 이미지 URL(23번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_24": {
                  "description": "참조 이미지 URL(24번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_25": {
                  "description": "참조 이미지 URL(25번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_26": {
                  "description": "참조 이미지 URL(26번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_27": {
                  "description": "참조 이미지 URL(27번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_28": {
                  "description": "참조 이미지 URL(28번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_29": {
                  "description": "참조 이미지 URL(29번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_3": {
                  "description": "reference 모드 참조 이미지 URL(3번째) — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_30": {
                  "description": "참조 이미지 URL(30번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_4": {
                  "description": "참조 이미지 URL(4번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_5": {
                  "description": "참조 이미지 URL(5번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_6": {
                  "description": "참조 이미지 URL(6번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_7": {
                  "description": "참조 이미지 URL(7번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_8": {
                  "description": "참조 이미지 URL(8번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_9": {
                  "description": "참조 이미지 URL(9번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_video_url": {
                  "description": "reference 모드에서 동작을 참조할 영상 URL — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 50MB)",
                  "type": "string"
                },
                "reference_video_url_10": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_2": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_3": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_4": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_5": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_6": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_7": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_8": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_9": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "resolution": {
                  "description": "출력 해상도. 전체 버전의 값 목록이며 허용 조합·기본값·요금은 버전별 개발가이드를 따릅니다.",
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ],
                  "type": "string"
                },
                "seed": {
                  "description": "재현성을 위한 시드 값",
                  "maximum": 2147483647,
                  "minimum": 0,
                  "type": "integer"
                },
                "tier": {
                  "description": "품질·속도 등급. 지원 등급과 생략 시 기본값은 version과 mode에 따라 다릅니다.",
                  "enum": [
                    "standard",
                    "fast",
                    "mini",
                    "pro"
                  ],
                  "type": "string"
                },
                "version": {
                  "description": "영상 모델 버전. 생략 시 2.5. 등급·해상도·길이·오디오·파일 제약과 요금은 선택 버전별 개발가이드 표를 확인하세요.",
                  "enum": [
                    "2.5",
                    "2.0",
                    "1.5",
                    "1.0"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "prompt"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "seedance_jobs_status",
            "title": "Seedance 영상 작업 상태",
            "description": "Check the status of a Seedance video generation job submitted via seedance_jobs_create. Seedance 영상 작업의 진행 상태를 조회합니다. 완료되면 응답의 result_url(REST 다운로드 주소)로 안내하며, 결과는 완료 후 7일간 유효합니다. 무료입니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "job_id": {
                  "description": "작업 ID",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "veo_jobs_create",
            "title": "Veo 영상 작업 접수",
            "description": "Submit an asynchronous Veo video generation job. Select version and tier; supported modes, durations and prices depend on the selected version. Veo 영상 생성 작업을 비동기로 접수합니다. text/image/reference 세 가지 mode를 지원하며, veo_jobs_status Tool로 상태를 조회하고 완료되면 응답의 result_url(REST 다운로드 주소, 7일 이내 유효)로 다운로드합니다. 접수 시 duration × 초당 900포인트가 예약 차감되고 완료 시 확정, 실패·시간 초과 시 전액 환불됩니다. [기본 버전 기준: 초당 900포인트 × duration(초). 다른 버전은 개발가이드의 버전별 요금표 참고.]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "aspect_ratio": {
                  "description": "출력 화면 비율. 선택 버전·등급·모드에서 허용하는 값만 사용하세요.",
                  "enum": [
                    "16:9",
                    "9:16"
                  ],
                  "type": "string"
                },
                "audio": {
                  "description": "오디오 생성 여부. 선택 가능한 버전은 기본 true, 무음 전용 버전은 false, 오디오 필수 버전은 true만 허용합니다.",
                  "type": "boolean"
                },
                "duration": {
                  "description": "영상 길이(초), 전체 버전 범위 4~8. 허용 값과 기본값은 버전·등급별로 다릅니다.",
                  "maximum": 8,
                  "minimum": 4,
                  "type": "integer"
                },
                "idempotency_key": {
                  "description": "같은 요청의 재전송으로 인한 중복 접수·과금을 막는 고유 키",
                  "maxLength": 128,
                  "minLength": 8,
                  "pattern": "^[A-Za-z0-9_-]+$",
                  "type": "string"
                },
                "image_url": {
                  "description": "image 모드에서 사용할 첫 프레임 이미지 URL — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "last_image_url": {
                  "description": "image 모드에서 사용할 마지막 프레임 이미지 URL(선택) — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "mode": {
                  "description": "입력 방식 — 'text'(텍스트만) | 'image'(첫 프레임 이미지 지정) | 'reference'(참조 이미지·영상으로 주체 지정). 기본 text",
                  "enum": [
                    "text",
                    "image",
                    "reference"
                  ],
                  "type": "string"
                },
                "negative_prompt": {
                  "description": "제외할 요소를 설명하는 텍스트",
                  "maxLength": 1000,
                  "type": "string"
                },
                "prompt": {
                  "description": "영상 생성 프롬프트, 최대 2,000자",
                  "maxLength": 2000,
                  "type": "string"
                },
                "reference_image_url": {
                  "description": "reference 모드에서 주체를 지정할 참조 이미지 URL — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_2": {
                  "description": "reference 모드 참조 이미지 URL(2번째) — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "reference_image_url_3": {
                  "description": "reference 모드 참조 이미지 URL(3번째) — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 50MB)",
                  "type": "string"
                },
                "resolution": {
                  "description": "출력 해상도. 전체 버전의 값 목록이며 허용 조합·기본값·요금은 버전별 개발가이드를 따릅니다.",
                  "enum": [
                    "720p",
                    "1080p",
                    "4k"
                  ],
                  "type": "string"
                },
                "seed": {
                  "description": "재현성을 위한 시드 값",
                  "maximum": 2147483647,
                  "minimum": 0,
                  "type": "integer"
                },
                "tier": {
                  "description": "품질·속도 등급. 지원 등급과 생략 시 기본값은 version과 mode에 따라 다릅니다.",
                  "enum": [
                    "standard",
                    "fast",
                    "lite"
                  ],
                  "type": "string"
                },
                "version": {
                  "description": "영상 모델 버전. 생략 시 3.1. 등급·해상도·길이·오디오·파일 제약과 요금은 선택 버전별 개발가이드 표를 확인하세요.",
                  "enum": [
                    "3.1"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "prompt"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "veo_jobs_status",
            "title": "Veo 영상 작업 상태",
            "description": "Check the status of a Veo video generation job submitted via veo_jobs_create. Veo 영상 작업의 진행 상태를 조회합니다. 완료되면 응답의 result_url(REST 다운로드 주소)로 안내하며, 결과는 완료 후 7일간 유효합니다. 무료입니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "job_id": {
                  "description": "작업 ID",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "kling_jobs_create",
            "title": "Kling 영상 작업 접수",
            "description": "Submit an asynchronous Kling video generation job. Select version and tier; supported modes, durations and prices depend on the selected version. Kling 영상 생성 작업을 비동기로 접수합니다. text/image/reference 세 가지 mode를 지원하며, kling_jobs_status Tool로 상태를 조회하고 완료되면 응답의 result_url(REST 다운로드 주소, 7일 이내 유효)로 다운로드합니다. 접수 시 duration × 초당 410포인트가 예약 차감되고 완료 시 확정, 실패·시간 초과 시 전액 환불됩니다. [기본 버전 기준: 초당 410포인트 × duration(초). 다른 버전은 개발가이드의 버전별 요금표 참고.]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "aspect_ratio": {
                  "description": "출력 화면 비율. 선택 버전·등급·모드에서 허용하는 값만 사용하세요.",
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1"
                  ],
                  "type": "string"
                },
                "audio": {
                  "description": "오디오 생성 여부. 선택 가능한 버전은 기본 true, 무음 전용 버전은 false, 오디오 필수 버전은 true만 허용합니다.",
                  "type": "boolean"
                },
                "cfg_scale": {
                  "description": "프롬프트 반영 강도(0~1), 기본 0.5",
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "duration": {
                  "description": "영상 길이(초), 전체 버전 범위 3~15. 허용 값과 기본값은 버전·등급별로 다릅니다.",
                  "maximum": 15,
                  "minimum": 3,
                  "type": "integer"
                },
                "idempotency_key": {
                  "description": "같은 요청의 재전송으로 인한 중복 접수·과금을 막는 고유 키",
                  "maxLength": 128,
                  "minLength": 8,
                  "pattern": "^[A-Za-z0-9_-]+$",
                  "type": "string"
                },
                "image_url": {
                  "description": "image 모드에서 사용할 첫 프레임 이미지 URL — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 10MB)",
                  "type": "string"
                },
                "last_image_url": {
                  "description": "image 모드에서 사용할 마지막 프레임 이미지 URL(선택) — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 10MB)",
                  "type": "string"
                },
                "mode": {
                  "description": "입력 방식 — 'text'(텍스트만) | 'image'(첫 프레임 이미지 지정) | 'reference'(참조 이미지·영상으로 주체 지정). 기본 text",
                  "enum": [
                    "text",
                    "image",
                    "reference"
                  ],
                  "type": "string"
                },
                "negative_prompt": {
                  "description": "제외할 요소를 설명하는 텍스트",
                  "maxLength": 1000,
                  "type": "string"
                },
                "prompt": {
                  "description": "영상 생성 프롬프트, 최대 2,000자",
                  "maxLength": 2000,
                  "type": "string"
                },
                "reference_image_url": {
                  "description": "reference 모드에서 주체를 지정할 참조 이미지 URL — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 10MB)",
                  "type": "string"
                },
                "reference_image_url_2": {
                  "description": "reference 모드 참조 이미지 URL(2번째) — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 10MB)",
                  "type": "string"
                },
                "reference_image_url_3": {
                  "description": "reference 모드 참조 이미지 URL(3번째) — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 10MB)",
                  "type": "string"
                },
                "reference_image_url_4": {
                  "description": "참조 이미지 URL(4번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 10MB)",
                  "type": "string"
                },
                "reference_image_url_5": {
                  "description": "참조 이미지 URL(5번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 10MB)",
                  "type": "string"
                },
                "reference_image_url_6": {
                  "description": "참조 이미지 URL(6번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 10MB)",
                  "type": "string"
                },
                "reference_image_url_7": {
                  "description": "참조 이미지 URL(7번째). 버전별 최대 개수를 확인하세요. — 다운로드 가능한 https URL (허용 형식: image/png, image/jpeg, image/webp) (최대 10MB)",
                  "type": "string"
                },
                "reference_video_url": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_2": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_3": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "reference_video_url_4": {
                  "description": "참조 영상 URL. 지원 버전과 개수 제한은 개발가이드를 확인하세요. — 다운로드 가능한 https URL (허용 형식: video/mp4, video/quicktime, video/webm) (최대 100MB)",
                  "type": "string"
                },
                "resolution": {
                  "description": "출력 해상도. 전체 버전의 값 목록이며 허용 조합·기본값·요금은 버전별 개발가이드를 따릅니다.",
                  "enum": [
                    "720p",
                    "1080p",
                    "720P",
                    "1080P-SR",
                    "1440P-SR",
                    "1080P"
                  ],
                  "type": "string"
                },
                "tier": {
                  "description": "품질·속도 등급. 지원 등급과 생략 시 기본값은 version과 mode에 따라 다릅니다.",
                  "enum": [
                    "std",
                    "pro",
                    "turbo",
                    "4k",
                    "standard",
                    "master"
                  ],
                  "type": "string"
                },
                "version": {
                  "description": "영상 모델 버전. 생략 시 3.0. 등급·해상도·길이·오디오·파일 제약과 요금은 선택 버전별 개발가이드 표를 확인하세요.",
                  "enum": [
                    "3.0",
                    "o3",
                    "o1",
                    "2.6",
                    "2.5",
                    "2.1",
                    "2.0",
                    "1.6"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "prompt"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": false
            }
          },
          {
            "name": "kling_jobs_status",
            "title": "Kling 영상 작업 상태",
            "description": "Check the status of a Kling video generation job submitted via kling_jobs_create. Kling 영상 작업의 진행 상태를 조회합니다. 완료되면 응답의 result_url(REST 다운로드 주소)로 안내하며, 결과는 완료 후 7일간 유효합니다. 무료입니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "job_id": {
                  "description": "작업 ID",
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              },
              "required": [
                "job_id"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "find_tools",
            "title": "APICK 도구 찾기",
            "description": "Find the APICK tools that best fit a task described in natural language (Korean or English) and return the top matches with a relevance label (high, medium, low). Use it before choosing among the many tools on this server. 자연어로 설명한 작업(한국어·영어)에 맞는 에이픽 Tool을 찾아 이름·제목·설명·관련도(high·medium·low)와 함께 상위 K개를 돌려줍니다. 인증키 없이 호출할 수 있습니다. [무료]",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "limit": {
                  "description": "돌려받을 Tool 수 (기본 5, 최대 10)",
                  "maximum": 10,
                  "minimum": 1,
                  "type": "integer"
                },
                "task": {
                  "description": "하려는 작업 설명 (예: \"사업자등록번호로 폐업 여부 확인\", \"Merge two PDF files\")",
                  "maxLength": 500,
                  "minLength": 2,
                  "type": "string"
                }
              },
              "required": [
                "task"
              ],
              "type": "object"
            },
            "annotations": {
              "openWorldHint": false,
              "readOnlyHint": true
            }
          }
        ]
      },
      "name": "APICK",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": [
        {
          "registryType": "npm",
          "identifier": "apick-mcp",
          "version": "3.10.0",
          "transport": "stdio"
        }
      ],
      "pageJsonUrl": "https://www.anchorterminal.com/tools/apick-all.json",
      "popularity": {
        "githubStars": 1,
        "npmWeekly": 509
      },
      "registryName": "app.apick/all",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://apick.app/mcp/all"
        }
      ],
      "repository": "https://github.com/lead788/apick-mcp",
      "reviewed": false,
      "slug": "apick-all",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=app.apick/all",
      "summary": "APICK Korean data, simple-auth lookups, OCR, search, conversion, image, video and TTS",
      "updatedAt": "2026-10-04T11:50:25Z",
      "url": "https://www.anchorterminal.com/tools/apick-all",
      "vendor": "apick.app",
      "vendorUrl": "https://apick.app/dev_guide/mcp",
      "version": "3.10.0",
      "websiteUrl": "https://apick.app/dev_guide/mcp",
      "where": "both",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/apick-all",
    "json": "https://www.anchorterminal.com/tools/apick-all.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/apick-all.md",
    "slim": "https://www.anchorterminal.com/tools/apick-all.min.md"
  },
  "markdown": "# APICK\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by apick.app (https://apick.app/dev_guide/mcp)\n- Category: Text-to-speech (https://www.anchorterminal.com/categories/text-to-speech.md)\n- Listed because: It's published in the registry under apick.app, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: APICK Korean data, simple-auth lookups, OCR, search, conversion, image, video and TTS\n\n## Facts\n\n- MCP registry: `app.apick/all` 3.10.0\n- Endpoint: https://apick.app/mcp/all (streamable HTTP)\n- Package: npm `apick-mcp` (stdio)\n- Source: https://github.com/lead788/apick-mcp\n- Website: https://apick.app/dev_guide/mcp\n- npm downloads a week: 509\n- GitHub stars: 1\n- Registry entry updated: 2026-10-04\n\n## Tools\n\n- Tools it lists (131, about 35,684 tokens of context, `tools/list` without credentials over MCP 2026-07-28, checked 2026-10-04 22:21 UTC):\n  - `transfer_1won` (writes): Send a 1 KRW verification deposit to a Korean bank account and return the 4-character verification code printed on the transaction. 대한민국 은행 계좌로 1원을 입금해 적요에…\n  - `account_realname` (read-only): Look up the account holder name of a Korean bank account. 대한민국 은행 계좌의 예금주명을 조회합니다. 송금 전 예금주 확인 등에 사용합니다. bank_code 또는 bank_name 중 하나는 입력해야 합니다. [호출당 60포인트]\n  - `bank_code` (read-only): List Korean bank codes and names. 대한민국 은행 코드·은행명 전체 목록을 반환합니다. transfer_1won, account_realname Tool의 bank_code 입력값을 찾을 때 사용합니다. 무료입니다. [무료]\n  - `identi_card1` (read-only): Verify the authenticity of a Korean resident registration card (jumin-deungnokjeung) using text input. 주민등록증의 기재 정보를 입력해 진위 여부를 확인합니다. name, rrn1, rrn2, date 네…\n  - `identi_card2` (read-only): Check Korean driver license number and personal details. ghost_num is optional, may be empty, and is not used in the match decision. 운전면허번호와 인적사항을 조회합니다.…\n  - `identi_card3` (read-only): Verify the authenticity of a Korean passport using text input. 여권의 기재 정보를 입력해 진위 여부를 확인합니다. name, pass_num, made_date, exp_date, birth_date 다섯 항목을 모두 입력해야 하며,…\n  - `identi_card4` (read-only): Verify the authenticity of a Korean resident registration certificate (jumin-deungnok-deungbon) using text input. 주민등록등본의 문서확인번호로 진위 여부를 확인합니다. 문서확인번호 16자리를…\n  - `identi_card5` (read-only): Verify the authenticity of a Korean alien registration card (residence card) using text input. 외국인등록증의 기재 정보를 입력해 진위 여부를 확인합니다. rrn(외국인등록번호 13자리)과…\n  - `identi_card_image1` (read-only): Verify the authenticity of a Korean resident registration card from an image or PDF file. 주민등록증 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일…\n  - `identi_card_image2` (read-only): Verify the authenticity of a Korean driver license from an image or PDF file. 운전면허증 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다.…\n  - `identi_card_image3` (read-only): Verify the authenticity of a Korean passport from an image or PDF file. 여권 인적사항면 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다.…\n  - `identi_card_image4` (read-only): Verify the authenticity of a Korean resident registration certificate from an image or PDF file. 주민등록등본 이미지 또는 PDF 파일을 업로드하면 문서확인번호 등 기재 정보를 자동 인식해 진위 여부를…\n  - `identi_card_image5` (read-only): Verify the authenticity of a Korean alien registration card (residence card) from an image or PDF file. 외국인등록증 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다.…\n  - `name_rrn_auth` (read-only): Verify that a Korean name and resident registration number (RRN) match a real registered person. 성명과 주민등록번호의 일치 여부(실명 존재 여부)를 확인합니다. name, rrn1(앞 6자리), rrn2(뒤…\n  - `hide_rrn` (read-only): Mask resident registration numbers found in an image and return the masked image. 이미지에서 주민등록번호를 인식해 지정한 방식으로 가린 이미지를 반환합니다. 이미지 파일과 type(1: 주민등록번호 전체 가림, 2:…\n  - `identity_document_residence_card` (read-only): Extract key fields from a Korean residence card, permanent resident card, or overseas Korean resident card image and mask the last 6 digits of the registration…\n  - `identity_document_passport` (read-only): Extract key fields from a passport image and mask the passport number and MRZ area. 여권 인적사항면 이미지에서 지정 정보를 추출하고 여권번호 및 MRZ 영역을 마스킹한 이미지를 함께 반환합니다. MRZ 2줄이 포함되도록…\n  - `identity_document_id_card` (read-only): Extract key fields from a Korean resident registration card image and mask the last 6 digits of the RRN. 주민등록증 이미지에서 지정 정보를 추출하고 주민등록번호 뒷자리 6자리를 마스킹한 이미지를 함께…\n  - `identity_document_driver_license` (read-only): Extract key fields from a Korean driver license image and mask the last 6 digits of the RRN. 운전면허증(주민등록번호 표기형) 이미지에서 지정 정보를 추출하고 주민등록번호 뒷자리 6자리를 마스킹한 이미지를 함께…\n  - `ocr` (read-only): Extract text from an image file (OCR). 이미지 파일에서 텍스트를 추출해 전체 텍스트(full_text)를 반환합니다. 문서 사진, 스캔 이미지, 캡처 화면 등 범용 이미지에 사용합니다. [호출당 12포인트]\n  - `ocr_identi1` (read-only): Extract key fields from a Korean resident registration card (jumin card) image via OCR. 주민등록증 사진에서 이름, 주민등록번호, 주소, 발급일자 등 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를…\n  - `ocr_identi2` (read-only): Extract key fields from a Korean driver license image via OCR. 운전면허증 사진에서 이름, 면허번호, 생년월일 등 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를 반환합니다. 정보주체의 동의 등 적법한 처리 근거를…\n  - `ocr_identi3` (read-only): Extract key fields from a passport image via OCR. 여권 사진에서 이름, 여권번호, 발급일자, 만료일자, 생년월일 등 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를 반환합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한…\n  - `ocr_identi4` (read-only): Extract key fields from a Korean certified copy of resident registration (deungbon) image via OCR. 주민등록등본 사진에서 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를 반환합니다.…\n  - `ocr_identi5` (read-only): Extract key fields from a Korean alien registration card (residence card) image via OCR. 외국인등록증 사진에서 이름, 외국인등록번호, 발급일자 등 주요 정보를 추출해 구조화된 결과와 원문 텍스트(raw_text)를…\n  - `biz_detail` (read-only): Look up general status information of a Korean business by its 10-digit business registration number. 사업자등록번호로 해당 사업자의 일반 현황 정보(대표자, 주소, 직원수, 설립일, 업종, 업태, 종목,…\n  - `venture_biz_info` (read-only): Look up venture company information of a Korean business, including financial statements and investment data. 벤처기업을 대상으로 사업자 정보, 대차대조표, 손익계산서, 투자정보, 벤처기업확인정보를…\n  - `land_rt_price` (read-only): Look up real estate transaction price records in Korea by region, property type, and year. 시/도·시/군/구, 부동산 유형, 년도를 지정해 부동산 실거래 이력을 조회합니다. addr1 값이 잘못되면 응답의…\n  - `req_pccc` (writes): Request simple authentication (KakaoTalk, Toss, PASS, etc.) to retrieve a Korean Personal Customs Clearance Code (PCCC). 이름, 생년월일, 휴대전화번호와 간편인증 방식을 입력하면 해당…\n  - `get_pccc` (writes): Retrieve a Korean Personal Customs Clearance Code (PCCC) by transaction ID. req_pccc 로 받은 tx_id 를 입력하면 처리 상태를 확인합니다. 아직 승인 전이면 status 는 pending, message 는 \"인증…\n  - `get_car_flooding` (read-only): Check whether a Korean vehicle has a flood damage record, by VIN or license plate number. 차대번호(VIN) 또는 차량번호로 자동차의 침수 이력 여부를 조회합니다. 중고차 구매 전 확인 등에 사용합니다. [호출당…\n  - `get_car_scrap` (read-only): Check whether a Korean vehicle has a scrap/total-loss accident record, by VIN or license plate number. 차대번호(VIN) 또는 차량번호로 폐차사고처리 여부를 조회합니다. 중고차 구매 전 확인 등에…\n  - `parcel_tracking` (read-only): Track a Korean parcel in real time by carrier code and tracking number. 택배사 코드와 운송장번호를 지정해 실시간 배송현황을 조회합니다. 결과는 저장하지 않고 매 호출마다 즉시 조회합니다. carrier 코드 예:…\n  - `parcel_tracking_auto` (read-only): Track a Korean parcel in real time with automatic carrier detection from the tracking number alone. 택배사 지정 없이 운송장번호만으로 택배사를 자동 판별해 실시간 배송현황을 조회합니다. 택배사를 이미 아는…\n  - `check_email_valid` (read-only): Validate email syntax, MX availability, and free or disposable domain status. 이메일 형식, MX 수신 가능 여부, 무료·일회용 메일 여부를 검사합니다. [호출당 10포인트]\n  - `check_phone_valid` (read-only): Validate and format a phone number and check the carrier and line type. 전화번호 형식 검사와 통신사·회선유형 확인을 함께 제공합니다. 건당 40P. [호출당 40포인트]\n  - `check_spam_number` (read-only): Check whether a phone number has been reported for spam, advertising, or criminal use in Korea. 스팸/광고/범죄에 사용된 전화번호인지 조회합니다. 수신 전화 필터링, 이상 거래 탐지 등에 사용합니다. [호출당…\n  - `holiday_info` (read-only): Look up Korean public holidays for a given year and month. 해당 년월의 대한민국 공휴일 정보를 조회합니다. 영업일 계산, 일정 관리 등에 사용합니다. [호출당 3포인트]\n  - `search_juso` (read-only): Search Korean road-name addresses by keyword. 지번 또는 도로명 키워드로 도로명 주소를 검색합니다. 페이지당 10건씩 반환되며 total_count 필드로 전체 검색결과 개수를 확인할 수 있습니다. [호출당 2포인트]\n  - `info` (read-only): Check your APICK account balance and status. 현재 인증 키에 연결된 APICK 계정의 잔여 포인트와 계정 상태 정보를 조회합니다. 무료입니다. [무료]\n  - `bid_notice` (read-only): Search Korean public procurement (Nara Market) bid notices by business type, period, or notice number. 조달청 나라장터 입찰공고를 업무구분(물품·공사·용역·외자)·기간(최대 31일)·공고번호로 조회합니다.…\n  - `bid_award` (read-only): Search Korean public procurement (Nara Market) bid-opening and award results by business type, period, or notice number. 조달청 나라장터 개찰·낙찰 결과를…\n  - `dart_disclosure` (read-only): Search Korean corporate disclosures (DART) by company code, period, or disclosure type. 금융감독원 DART 전자공시를 회사 고유번호(corpCode)·기간(YYYYMMDD)·공시유형(pblntfTy, A~J)으로…\n  - `dart_company` (read-only): Get a Korean company overview from DART by its company code. 금융감독원 DART에 등록된 기업의 개황(정식명칭·대표자·주소·업종·설립일 등)을 고유번호로 조회합니다. [호출당 60포인트]\n  - `dart_financials` (read-only): Get Korean company financial statements from DART by year and report code. 금융감독원 DART 단일회사 주요 재무제표를 고유번호·사업연도·보고서(1분기/반기/3분기/사업)·개별/연결 구분으로 조회합니다. [호출당 100포인트]\n  - `kipris_patent` (read-only): Search Korean patents and utility models by keyword via KIPRIS. KIPRIS Plus에서 특허·실용신안 공개·등록공보를 키워드로 검색합니다. patent·utility 로 특허/실용신안 포함 여부를 정합니다. [호출당 100포인트]\n  - `kipris_trademark` (read-only): Search Korean trademarks by keyword via KIPRIS. KIPRIS Plus에서 상표 출원 속보를 키워드로 검색합니다. [호출당 100포인트]\n  - `rtms_trade` (read-only): Search Korean real estate sale transactions (MOLIT RTMS) by district code and contract month. 국토교통부 실거래가 자료를 지역코드(법정동코드 앞 5자리)·계약년월(YYYYMM)·부동산 유형으로 조회합니다(매매).…\n  - `rtms_rent` (read-only): Search Korean real estate rent transactions (MOLIT RTMS) by district code and contract month. 국토교통부 실거래가 자료를 지역코드(법정동코드 앞 5자리)·계약년월(YYYYMM)·부동산 유형으로…\n  - `public_price` (read-only): Get Korean official real estate prices (MOLIT NSDI) by parcel number and reference year. 국토교통부 공시가격(공동주택·개별주택·개별공시지가)을 PNU(19자리)·기준연도로 조회합니다. priceType: apart…\n  - `geocode` (read-only): Resolve a Korean address to coordinates and parcel identifiers (V-World). 주소를 좌표와 필지로 변환해 PNU(19자리)·법정동코드·지번·좌표를 돌려줍니다. 공시가격·실거래가 조회에 필요한 식별자를 얻을 때 씁니다.…\n  - `shop_price` (read-only): Search Korean shopping listings (Naver Shopping) by keyword and return sellers, prices and the lowest-price item. 키워드로 상품을 검색해 판매처·가격과 최저가 상품을 돌려줍니다. sort: sim…\n  - `app_reviews` (read-only): Get App Store app metadata and customer reviews (Apple iTunes) by numeric app id. 앱스토어 앱 정보(평점·가격·장르)와 고객 리뷰를 함께 돌려줍니다. country 기본 kr, page 로 리뷰 페이지를 넘깁니다(최대…\n  - `req_cash_receipt_deduction` (writes): 현금영수증 소득공제 내역을 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_cash_receipt_deduction에…\n  - `get_cash_receipt_deduction` (writes): req_cash_receipt_deduction의 transactionId로 승인 상태와 현금영수증 소득공제 내역 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내…\n  - `req_tax_return_history` (writes): 국세 신고내역 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_tax_return_history에 transactionId를…\n  - `get_tax_return_history` (writes): req_tax_return_history의 transactionId로 승인 상태와 국세 신고내역 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는…\n  - `req_employment` (writes): 재직·보험료 확인을 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_employment에 transactionId를 전달하세요. 승인…\n  - `get_employment` (writes): req_employment의 transactionId로 승인 상태와 재직·보험료 확인 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는 무료입니다.…\n  - `req_personal_income` (writes): 금융소득(이자·배당) 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_personal_income에 transactionId를…\n  - `get_personal_income` (writes): req_personal_income의 transactionId로 승인 상태와 금융소득(이자·배당) 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는…\n  - `req_nps_join_history` (writes): 국민연금 가입내역 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_nps_join_history에 transactionId를…\n  - `get_nps_join_history` (writes): req_nps_join_history의 transactionId로 승인 상태와 국민연금 가입내역 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는…\n  - `req_driving_license` (writes): 운전면허 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_driving_license에 transactionId를 전달하세요.…\n  - `get_driving_license` (writes): req_driving_license의 transactionId로 승인 상태와 운전면허 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는 무료입니다.…\n  - `req_health_checkup` (writes): 국가 건강검진 결과 조회를 위한 본인 간편인증을 요청합니다. 휴대폰 알림 발송과 접수 과금이 발생하므로 사용자 확인 후 호출하세요. transactionId와 status를 반환하면 휴대폰 승인을 안내하고, 승인 후 get_health_checkup에 transactionId를…\n  - `get_health_checkup` (writes): req_health_checkup의 transactionId로 승인 상태와 국가 건강검진 결과 조회 결과를 조회합니다. AUTH_WAITING이면 휴대폰 승인을 기다리고 COLLECTING이면 잠시 후 같은 ID로 조회하세요. 최초 결과 반환 시 과금되며 유효기간 내 재조회는…\n  - `nslookup` (read-only): Resolve a domain name to its currently registered IP addresses (DNS lookup). 도메인에 현재 등록된 IP 주소 목록을 조회합니다. 도메인 형식이 아닌 값은 오류로 응답합니다. [호출당 1포인트]\n  - `reverse_ip` (read-only): Reverse IP lookup: list domains that have been hosted on a given IP address. 특정 IP에 등록된 도메인 이력 정보를 조회합니다. IP 주소 형식만 허용됩니다. [호출당 100포인트]\n  - `location` (read-only): Look up the geographic location of a domain or IP address. 도메인 또는 IP의 위치(지리 정보)를 조회합니다. 도메인을 입력하면 해당 도메인의 IP를 찾아 위치를 반환합니다. [호출당 30포인트]\n  - `ip_history` (read-only): Look up the historical IP address changes of a domain. 도메인에 대한 IP 주소 변경 이력 정보를 조회합니다. 최상위 도메인 기준으로 조회되며 하위 도메인은 추적되지 않습니다. [호출당 100포인트]\n  - `whois` (read-only): WHOIS lookup for a domain or IP address, returning registration and ownership information. 특정 도메인 또는 IP의 WHOIS(등록·소유) 정보를 조회합니다. .kr/.한국 도메인, 국내 IP, AS번호(예:…\n  - `url_html` (read-only): Fetch a web page and return its rendered HTML source. 입력한 URL의 페이지를 열어 HTML을 추출해 반환합니다. 자바스크립트 렌더링이 필요한 페이지도 처리됩니다. [호출당 5포인트]\n  - `url_screenshot` (read-only): Capture a screenshot of a web page and return it as a JPEG image. 입력한 URL의 화면을 캡처해 JPEG 이미지로 반환합니다. [호출당 5포인트]\n  - `url_similarity` (read-only): Compare two web pages and judge how similar they are. 입력한 두 사이트 페이지의 유사 여부를 분석해 유사도 결과를 반환합니다. 피싱·복제 사이트 판별 등에 활용할 수 있습니다. [호출당 5포인트]\n  - `google_search` (read-only): Google keyword search: return web search results (link, title, snippet) for a keyword. 특정 키워드의 구글 검색 결과(링크·제목·요약)를 조회합니다. page 로 결과 페이지를 넘겨 가며 조회할 수 있습니다. [호출당…\n  - `google_image_search` (read-only): Google image search by keyword: return image results (image URL, source link, title). 특정 키워드의 구글 이미지 검색 결과(이미지 URL·출처 링크·제목)를 조회합니다. page 로 결과 페이지를 넘겨 가며 조회할 수…\n  - `google_lens_search` (read-only): Reverse image search: upload an image and get visually matching web pages and labels. 이미지 파일을 업로드해 해당 이미지와 관련된 웹 페이지(링크·이미지·텍스트)와 라벨을 조회합니다. 이미지 형식 파일만 허용됩니다.…\n  - `crawl_youtube` (read-only): Collect a YouTube channel profile and its latest uploaded videos. 유튜브 계정(채널) 정보와 최근 게시한 동영상 정보를 수집해 반환합니다. [호출당 40포인트]\n  - `download_youtube_video` (read-only): Download a publicly available YouTube video and return it as an MP4 file. 유튜브에 공개된 동영상을 MP4 파일로 다운로드해 반환합니다. 비공개·차단된 게시글은 실패로 응답합니다. [호출당 3포인트]\n  - `youtube_metadata` (read-only): Look up metadata of a public YouTube video: title, channel, duration, views, likes, upload date, description, tags, chapters and thumbnails. 유튜브 공개 영상의…\n  - `youtube_thumbnail` (read-only): Download the largest thumbnail of a public YouTube video as a JPG image. 유튜브 공개 영상의 가장 큰 썸네일 이미지를 JPG 파일로 내려받습니다. [호출당 20포인트]\n  - `youtube_subtitle_list` (read-only): List the manual and auto-generated subtitle languages available for a public YouTube video. 유튜브 공개 영상에서 제공하는 수동 자막과 자동 생성 자막의 언어 목록을 조회합니다. [호출당 20포인트]\n  - `youtube_subtitle` (read-only): Download the subtitles of a public YouTube video in one language as VTT, SRT or plain text. 유튜브 공개 영상의 자막을 언어별로 VTT·SRT·텍스트 파일로 내려받습니다. 제공 언어는…\n  - `stt` (read-only): Convert a speech audio file to text (STT). 음성 파일을 텍스트로 변환합니다. MP3, WAV, M4A, AAC, OGG, FLAC, WEBM 등 일반적인 오디오 포맷을 지원하며, 변환된 텍스트를 JSON으로 반환합니다. [호출당 50포인트]\n  - `tts_jobs_create` (writes): 한국어 TTS를 접수합니다. 기본 정규화 스킬이 발음을 다듬으며 추가 요금이 합산됩니다. normalize_text=false로 끌 수 있습니다. fallback_policy로 Gemini 자동 전환을 선택하면 목소리와 요금이 달라질 수 있습니다. 완료 후 MP3와 원문 ASS를 공통…\n  - `tts_gemini_create` (writes): Gemini 3.8 Flash-Lite TTS에 목소리·낭독 스타일·본문 또는 화자별 발화를 전달합니다. 기본 on 정규화는 합계 2,000자 한도와 스킬 요금이 적용됩니다. 꺼도 MP3·원문 ASS 결과 구조는 같습니다. [동기화된 실제 토큰 원가×환율×1.4 + 정규화 스킬 요금]\n  - `tts_gemini_voices` (read-only): 공개 기본·확장 목소리, 성별·공식 음색, 검증 시각을 조회합니다. 연령은 별도 검수된 경우에만 표시합니다. [무료]\n  - `tts_quote` (read-only): 합성·정규화 예상 요금과 최대 예약금을 조회합니다. 실제 정산액은 완료된 작업의 billing을 확인하세요. [무료]\n  - `tts_jobs_status` (read-only): Get the public status and result availability of a TTS job. TTS 작업의 waiting, processing, completed, cancelled, failed 상태와 MP3·ASS 자막 준비 여부를 조회합니다. [무료]\n  - `tts_jobs_cancel` (writes): waiting 또는 processing TTS 작업에 취소를 요청합니다. 이미 수행한 유료 처리분은 정산하고 미사용 예약금은 해제합니다. 연결 종료만으로는 취소되지 않습니다. [추가 과금 없음]\n  - `tts_jobs_result` (writes): Download the completed MP3 result once as base64. 완료된 TTS MP3 결과를 base64로 한 번 내려받습니다. 호출이 시작되면 서버 원본이 소모되므로 재실행할 수 없습니다. [추가 과금 없음]\n  - `tts_jobs_subtitles` (writes): Download the completed ASS subtitles once as base64. 완료된 TTS의 발화 타이밍 ASS 자막을 base64로 한 번 내려받습니다. 호출이 시작되면 자막 원본이 소모되므로 재실행할 수 없습니다. [추가 과금 없음]\n  - `tts_jobs_quality` (read-only): TTS 발화별 검수 결과와 후보 이력을 조회합니다. 종료 후 72시간 보존되며 최종 결과 다운로드를 소비하지 않습니다. [무료]\n  - `tts_jobs_retry` (writes): 실패 발화만 같은 작업에서 재개합니다. 동일 멱등 키는 중복 실행·과금되지 않습니다. [추가 과금 없음]\n  - `tts_jobs_candidate_audio` (read-only): 품질 이력의 후보 WAV를 조회합니다. 최종 결과의 일회 다운로드를 소비하지 않습니다. REST에서는 Range 재생을 지원합니다. [무료]\n  - `voice_change` (read-only): Modulate the voice in a video or audio file to a lower or higher pitch. 동영상 또는 오디오 파일의 음성을 저음 또는 고음으로 변조합니다. MP3, WAV 등 오디오와 MP4, MOV 등 동영상 포맷을 지원하며, 변조된 파일을…\n  - `face_blur` (read-only): Detect faces in an image and blur (mosaic) them. 이미지 파일에서 얼굴을 인식해 해당 영역을 모자이크 처리한 이미지(JPEG)를 반환합니다. PNG, JPEG 등 일반 이미지 포맷을 지원합니다. [호출당 20포인트]\n  - `pdf_to_docx` (read-only): Convert a PDF file to a DOCX (Word) file. PDF 파일을 DOCX 파일로 변환해 반환합니다. PDF 형식의 파일만 허용됩니다. [호출당 30포인트]\n  - `pdf_to_image` (read-only): Convert each page of a PDF file to PNG images, returned as a ZIP archive. PDF 파일의 각 페이지를 PNG 이미지로 변환하고 ZIP 파일로 묶어 반환합니다. PDF 형식의 파일만 허용됩니다. [호출당 2포인트]\n  - `pdf_merge` (read-only): Merge two PDF files into one. 두 개의 PDF 파일을 순서대로 하나의 PDF 파일로 합쳐 반환합니다. PDF 형식의 파일만 허용됩니다. [호출당 2포인트]\n  - `html_to_pdf` (read-only): Render HTML code into a PDF file. HTML 코드를 렌더링해 PDF 파일로 변환합니다. HTML 문자열을 입력하면 변환된 PDF 파일을 반환합니다. [호출당 30포인트]\n  - `docx_to_pdf` (read-only): Convert a DOCX (Word) file to a PDF file. DOCX 파일을 PDF 파일로 변환해 반환합니다. DOCX 형식의 파일만 허용됩니다. [호출당 80포인트]\n  - `json_to_excel` (read-only): Convert JSON data into an Excel (XLSX) file. JSON 데이터를 EXCEL(XLSX) 파일로 변환해 반환합니다. data_list 는 객체 배열([{\"컬럼\":\"값\", ...}, ...]) 또는 2차원 배열([[...], ...]) 형식을 지원합니다.…\n  - `base64_to_image` (read-only): Decode a base64-encoded image string back into an image file. base64 로 인코딩된 이미지 문자열을 원본 이미지 파일로 디코딩해 반환합니다. \"data:image/타입;base64,\" 접두어가 붙은 문자열도 허용됩니다. [호출당…\n  - `set_watermark` (read-only): Embed an invisible watermark code into an image. 원본 이미지에 보이지 않는 워터마크 코드를 삽입한 PNG 이미지를 반환합니다. 이미지가 일부 변형되어도 높은 확률로 워터마크를 확인할 수 있습니다. PNG, JPEG 등 일반 이미지 포맷을…\n  - `get_watermark` (read-only): Read the invisible watermark code embedded in an image. 이미지에 삽입된 비가시성 워터마크 코드를 조회해 JSON 으로 반환합니다. 이미지가 일부 변형되어도 높은 확률로 워터마크를 확인할 수 있습니다. PNG, JPEG 등 일반 이미지 포맷을…\n  - `draw_watermark_pdf` (read-only): Draw a visible text watermark across every page of a PDF file. PDF 파일 전체 페이지에 텍스트 워터마크를 삽입한 PDF 를 반환합니다. 글자 크기·색상·투명도·각도·밀집도·적용 영역을 조절할 수 있으며, PDF 형식의 파일만…\n  - `draw_watermark_image` (read-only): Draw a visible text watermark across an image. 이미지 파일에 텍스트 워터마크를 삽입한 PNG 이미지를 반환합니다. 글자 크기·색상·투명도·밀집도를 조절할 수 있으며, PNG, JPEG 등 일반 이미지 포맷을 지원합니다. [호출당 10포인트]\n  - `nsfw_detection` (read-only): Detect whether an image contains NSFW (violent or sexually explicit) content and return an nsfw_score. 이미지가 NSFW(폭력적·선정적) 콘텐츠인지 탐지해 nsfw_score 를 반환합니다.…\n  - `image_similarity` (read-only): Compare a base image with another image and return a similarity score. 기준 이미지와 비교 대상 이미지의 유사도를 분석해 점수를 반환합니다. 원본 검증, 중복 이미지 탐지 등에 사용합니다. [호출당 10포인트]\n  - `video_to_mp3` (read-only): Extract the audio track of a video file as an MP3 file. 동영상 파일에서 오디오를 추출해 MP3 파일로 반환합니다. [호출당 30포인트]\n  - `extract_video_thumbnail` (read-only): Extract preview thumbnail images from a video at regular intervals and return them as a ZIP file. 동영상에서 일정 구간마다 미리보기 이미지를 추출해 ZIP 파일로 반환합니다. [호출당 10포인트]\n  - `word_cloud` (read-only): Generate a word cloud image (JPEG) from input text, sizing each word by frequency. 입력 텍스트를 구성하는 단어의 중요도(빈도수)에 따라 서로 다른 크기의 단어로 이루어진 워드클라우드 이미지(JPEG)를 생성해…\n  - `face_detection` (read-only): Detect faces in an image and return their coordinates. 이미지 파일에서 얼굴을 인식해 해당 좌표를 반환합니다. use_feature=1 입력 시 얼굴 특징 정보를 함께 반환합니다. [호출당 3포인트]\n  - `llm_models` (read-only): List available text-generation LLM models with per-token pricing and max context. 텍스트 생성 모델 카탈로그를 반환합니다. 각 모델의 1M 토큰당 input/output 단가(포인트), 계열·크기·멀티모달 여부·태그·추천…\n  - `llm_chat` (read-only): Send a chat request to a selected LLM model and receive the assistant reply. 선택한 LLM 모델에 대화를 보내고 assistant 응답을 받습니다. 서버는 대화 히스토리를 보관하지 않는 stateless 방식 — 매 호출마다…\n  - `text_summary` (read-only): Summarize a long text (up to 100,000 characters) into a concise Korean summary. 입력 텍스트(최대 10만 자)의 핵심 내용을 간결하고 정확하게 요약합니다. 모델·파라미터는 서버가 고정하며 빠른 응답에 최적화되어 있습니다.…\n  - `text_polish` (read-only): Polish a text (up to 100,000 characters) by fixing grammar, spelling, and awkward phrasing. 입력 텍스트(최대 10만 자)의 문법 오류, 맞춤법·오타, 어색한 표현, 문장 순서를 의미를 유지한 채 자연스럽게…\n  - `image_generate` (writes): 텍스트만 사용하거나 참고 이미지와 텍스트를 함께 사용해 이미지 한 장을 생성합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 사용량 미확정 시 반환한 job_id를 image_batch_status로 조회하며 다시 생성하지 않습니다. [원가 × 환율 × 1.4 · 상한…\n  - `image_edit` (writes): 원본 이미지와 편집 지시로 이미지 한 장을 편집합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 사용량 미확정 시 반환한 job_id를 image_batch_status로 조회하며 다시 생성하지 않습니다. [원가 × 환율 × 1.4 · 상한 예약 후 실제 정산]\n  - `image_batch_create` (writes): 이미지 1~50장의 비동기 생성 또는 편집 작업을 접수합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1.4입니다. 상한을 예약하고 성공분의 실제 요금을 정산하며, 접수 후에는 취소할 수 없습니다. [원가 × 환율 × 1.4 · 상한 예약 후 실제 정산]\n  - `image_batch_status` (read-only): 대량 이미지 작업의 진행 상태, 선차감·환급·현재 차감 포인트를 조회합니다. [무료]\n  - `image_batch_result` (read-only): 완료된 대량 작업 결과 중 지정한 한 장을 이미지 콘텐츠로 반환합니다. [무료]\n  - `seedance_jobs_create` (writes): Submit an asynchronous Seedance video generation job. Select version and tier; supported modes, durations and prices depend on the selected version. Seedance…\n  - `seedance_jobs_status` (read-only): Check the status of a Seedance video generation job submitted via seedance_jobs_create. Seedance 영상 작업의 진행 상태를 조회합니다. 완료되면 응답의 result_url(REST 다운로드 주소)로 안내하며,…\n  - `veo_jobs_create` (writes): Submit an asynchronous Veo video generation job. Select version and tier; supported modes, durations and prices depend on the selected version. Veo 영상 생성 작업을…\n  - `veo_jobs_status` (read-only): Check the status of a Veo video generation job submitted via veo_jobs_create. Veo 영상 작업의 진행 상태를 조회합니다. 완료되면 응답의 result_url(REST 다운로드 주소)로 안내하며, 결과는 완료 후 7일간…\n  - `kling_jobs_create` (writes): Submit an asynchronous Kling video generation job. Select version and tier; supported modes, durations and prices depend on the selected version. Kling 영상 생성…\n  - `kling_jobs_status` (read-only): Check the status of a Kling video generation job submitted via kling_jobs_create. Kling 영상 작업의 진행 상태를 조회합니다. 완료되면 응답의 result_url(REST 다운로드 주소)로 안내하며, 결과는 완료 후…\n  - `find_tools` (read-only): Find the APICK tools that best fit a task described in natural language (Korean or English) and return the top matches with a relevance label (high, medium,…\n- How its tools read to an agent (0 errors, 26 warnings, 1 note, about 35,684 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC06 image_batch_create: the description is \"이미지 1~50장의 비동기 생성 또는 편집 작업을 접수합니다. 새 요금은 공급자 원가 × 동기화 환율 × 1…\"\n  - warn TC06 image_batch_result: the description is \"완료된 대량 작업 결과 중 지정한 한 장을 이미지 콘텐츠로 반환합니다. [무료]\"\n  - warn TC06 image_batch_status: the description is \"대량 이미지 작업의 진행 상태, 선차감·환급·현재 차감 포인트를 조회합니다. [무료]\"\n  - warn TC06 tts_jobs_quality: the description is \"TTS 발화별 검수 결과와 후보 이력을 조회합니다. 종료 후 72시간 보존되며 최종 결과 다운로드를 소비하지…\"\n  - warn TC12 json_to_excel: no type for data_list[]\n  - warn TC12 llm_chat: no type for messages[]\n  - warn TC12 tts_gemini_create: no type for utterances[]\n  - warn TC12 tts_jobs_create: no type for utterances[]\n  - warn TC12 tts_jobs_retry: no type for utterance_ids[]\n  - warn TC12 tts_quote: no type for utterances[]\n  - warn TC18 pdf_merge: readOnlyHint is true but the name says \"merge\"\n  - warn TC18 set_watermark: readOnlyHint is true but the name says \"set\"\n  - warn TC18 transfer_1won: destructiveHint is false but the name says \"transfer\"\n  - warn TC21 identi_card_image1: described almost the same as identi_card_image4 (80% of the same words)\n  - warn TC21 image_generate: described almost the same as image_edit (100% of the same words)\n  - warn TC21 pdf_to_docx: described almost the same as docx_to_pdf (100% of the same words)\n  - warn TC21 rtms_trade: described almost the same as rtms_rent (89% of the same words)\n  - warn TC21 seedance_jobs_create: described almost the same as veo_jobs_create (89% of the same words)\n  - warn TC21 seedance_jobs_create: described almost the same as kling_jobs_create (89% of the same words)\n  - warn TC21 seedance_jobs_status: described almost the same as veo_jobs_status (86% of the same words)\n  - warn TC21 seedance_jobs_status: described almost the same as kling_jobs_status (86% of the same words)\n  - warn TC21 veo_jobs_create: described almost the same as kling_jobs_create (92% of the same words)\n  - warn TC21 veo_jobs_status: described almost the same as kling_jobs_status (86% of the same words)\n  - warn TC22 kling_jobs_create: the definition is about 1,502 tokens\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/apick-all.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "APICK",
        "url": ""
      }
    ],
    "description": "APICK, an MCP server by apick.app, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. APICK Korean data, simple-auth lookups, OCR, search, conversion, image, video and TTS",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "APICK",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/apick-all",
    "published": "",
    "section": "indexed",
    "title": "APICK: MCP server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/tools/apick-all"
  },
  "tokens": {
    "markdown": 10000,
    "slim": 9930
  },
  "version": 1
}
