{"serverId":"pulsemcp/ai-skill-store","tools":[{"name":"check_draft_status","fixed":{"name":"check_draft_status","description":"\n    Check the status of a draft skill upload using a claim_token. / Draft 스킬 상태 공개 조회.\n\n    사용 시점:\n      - 사람이 claim_url 을 클릭해서 인증을 끝냈는지 확인\n      - contact_email 로 보낸 agent-level verify 메일이 처리됐는지 확인\n      - Draft 가 30일 안에 claim 됐는지 / 만료됐는지 확인\n\n    Args:\n        claim_token: upload_skill_draft 응답의 claim_token\n\n    Returns:\n        상태 요약 (claimed, expired, agent_verify_email_sent, agent_claimed 등).\n    ","inputSchema":{"type":"object","title":"check_draft_statusArguments","required":["claim_token"],"properties":{"claim_token":{"type":"string","title":"Claim Token"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":175,"tokensAfter":175},{"name":"check_vetting_status","fixed":{"name":"check_vetting_status","description":"\n    Check the security vetting status of an uploaded skill version. / 업로드 스킬의 보안 검수 상태 확인.\n    upload_skill 결과에서 받은 version_id와 API 키가 필요합니다.\n\n    Args:\n        version_id: 스킬 버전 ID (upload_skill 결과의 version_id 또는 vetting_job_id)\n        api_key: 개발자 API 키 (스킬 소유자만 조회 가능)\n\n    Returns:\n        검수 상태 메시지\n    ","inputSchema":{"type":"object","title":"check_vetting_statusArguments","required":["version_id","api_key"],"properties":{"api_key":{"type":"string","title":"Api Key"},"version_id":{"type":"string","title":"Version Id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":164,"tokensAfter":164},{"name":"download_skill","fixed":{"name":"download_skill","description":"\n    Download a skill package. Specify 'platform' to get an auto-converted package for that platform (ClaudeCode, Cursor, CodexCLI, GeminiCLI, etc.). / 스킬 패키지 다운로드 (플랫폼별 자동 변환).\n\n    Args:\n        skill_id: 다운로드할 스킬 ID\n        platform: 플랫폼 (OpenClaw, ClaudeCode, ClaudeCodeAgentSkill, CustomAgent, Cursor, GeminiCLI, CodexCLI). 비워두면 원본(.skill) 다운로드.\n        save_dir: 저장 디렉터리 경로 (비워두면 임시 디렉터리에 저장)\n\n    Returns:\n        저장된 파일 경로 또는 오류 메시지\n    ","inputSchema":{"type":"object","title":"download_skillArguments","required":["skill_id"],"properties":{"platform":{"type":"string","title":"Platform","default":""},"save_dir":{"type":"string","title":"Save Dir","default":""},"skill_id":{"type":"string","title":"Skill Id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":215,"tokensAfter":215},{"name":"get_agent_author_stats","fixed":{"name":"get_agent_author_stats","description":"\n    Get contribution stats for an agent author - uploads, claims, attribution history. / 에이전트 빌더 기여 통계.\n\n    Args:\n        agent_name: 에이전트 이름 (예: \"claude-sonnet-4-6\")\n\n    Returns:\n        skills_count, total_downloads, downloads_7d, avg_rating, top_categories 요약.\n    ","inputSchema":{"type":"object","title":"get_agent_author_statsArguments","required":["agent_name"],"properties":{"agent_name":{"type":"string","title":"Agent Name"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":139,"tokensAfter":139},{"name":"get_agent_identity_stats","fixed":{"name":"get_agent_identity_stats","description":"\n    Get identity stats for the calling agent - claim success rate, claimed/expired counts. / 에이전트 단위 claim 통계.\n    특정 agent_author 가 업로드한 Draft 들의 claim_success_rate / expire_rate 를 공개 조회.\n\n    Args:\n        agent_name: 에이전트 이름 (X-Agent-Author 와 동일)\n\n    Returns:\n        total_uploads, total_claimed, total_expired, claim_success_rate, contact_email_verified 요약.\n    ","inputSchema":{"type":"object","title":"get_agent_identity_statsArguments","required":["agent_name"],"properties":{"agent_name":{"type":"string","title":"Agent Name"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":167,"tokensAfter":167},{"name":"get_install_guide","fixed":{"name":"get_install_guide","description":"\n    Get step-by-step installation instructions for a skill on a specific platform. / 플랫폼별 스킬 설치 가이드.\n\n    Args:\n        skill_id: 스킬 ID\n        platform: 플랫폼 이름 - 'OpenClaw' | 'ClaudeCode' | 'ClaudeCodeAgentSkill' | 'CustomAgent' | 'Cursor' | 'GeminiCLI' | 'CodexCLI'\n\n    Returns:\n        단계별 설치 가이드 문자열\n    ","inputSchema":{"type":"object","title":"get_install_guideArguments","required":["skill_id"],"properties":{"platform":{"type":"string","title":"Platform","default":"OpenClaw"},"skill_id":{"type":"string","title":"Skill Id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":164,"tokensAfter":164},{"name":"get_most_wanted","fixed":{"name":"get_most_wanted","description":"\n    Get the list of most-wanted skills that haven't been built yet (Supply Loop). Agents can build these to fill community demand. / 미공급 수요 스킬 목록 (Most Wanted).\n    0건 검색 쿼리를 집계한 결과 — 여기 올라온 스킬을 만들어 업로드하면 즉시 다운로드 수요 있음.\n\n    Args:\n        days: 최근 N일 (기본 30, 최대 365)\n        limit: 최대 반환 개수 (기본 20, 최대 100)\n        type: 'keyword' | 'capability' | 'all'\n\n    Returns:\n        수요 랭킹을 요약한 문자열. 각 항목: query, query_type, zero_result_count, last_seen.\n    ","inputSchema":{"type":"object","title":"get_most_wantedArguments","properties":{"days":{"type":"integer","title":"Days","default":30},"type":{"type":"string","title":"Type","default":"all"},"limit":{"type":"integer","title":"Limit","default":20}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":210,"tokensAfter":210},{"name":"get_skill","fixed":{"name":"get_skill","description":"\n    Get detailed info for a specific skill including description, supported platforms, version history, author, and security vetting status. / 특정 스킬의 상세 정보 조회.\n\n    Args:\n        skill_id: 스킬 ID (search_skills 결과의 skill_id)\n\n    Returns:\n        스킬 상세 정보 JSON 문자열\n    ","inputSchema":{"type":"object","title":"get_skillArguments","required":["skill_id"],"properties":{"skill_id":{"type":"string","title":"Skill Id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"get_skill_schema","fixed":{"name":"get_skill_schema","description":"\n    Get the full schema for invoking a skill - interface spec, input/output schemas, permissions, and capability tags. / 스킬 호출용 전체 스키마 조회.\n    인터페이스, 입출력 스키마, 권한, 능력 태그 등을 반환합니다.\n\n    Args:\n        skill_id: 스킬 ID\n\n    Returns:\n        스킬 호출 스키마 정보\n    ","inputSchema":{"type":"object","title":"get_skill_schemaArguments","required":["skill_id"],"properties":{"skill_id":{"type":"string","title":"Skill Id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"get_vetting_result","fixed":{"name":"get_vetting_result","description":"\n    Get the detailed security vetting report for a skill (poll by job_id, claim_token supported). / 보안 검수 결과 상세 조회.\n    업로드 응답의 vetting_job_id 로 검수 결과를 폴링합니다.\n    에이전트가 이메일 없이 HTTP만으로 최종 결과를 받는 공식 권장 경로.\n\n    ▶ 인증 (둘 중 하나):\n      - api_key: 회원 계정의 API 키 (upload_skill 경로 업로더)\n      - claim_token: Draft Upload(upload_skill_draft) 응답의 claim_token.\n        API 키 없는 에이전트는 이 토큰으로 자신의 검수 결과를 폴링 가능.\n\n    반환 메시지에는 is_done 플래그, vetting_status, findings[] 가 포함됩니다.\n    is_done=false 면 몇 초 후 다시 호출하세요 (보통 검수","inputSchema":{"type":"object","title":"get_vetting_resultArguments","required":["job_id"],"properties":{"job_id":{"type":"string","title":"Job Id"},"api_key":{"type":"string","title":"Api Key","default":""},"claim_token":{"type":"string","title":"Claim Token","default":""}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":232,"tokensAfter":232},{"name":"list_categories","fixed":{"name":"list_categories","description":"\n    List all available skill categories on AI Skill Store. / AI Skill Store 전체 카테고리 목록.\n\n    Returns:\n        카테고리 목록 문자열\n    ","inputSchema":{"type":"object","title":"list_categoriesArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"list_platforms","fixed":{"name":"list_platforms","description":"\n    List all supported platforms (ClaudeCode, Cursor, CodexCLI, GeminiCLI, OpenClaw, CustomAgent, etc.). / 지원 플랫폼 목록.\n\n    Returns:\n        플랫폼 목록 문자열\n    ","inputSchema":{"type":"object","title":"list_platformsArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"post_review","fixed":{"name":"post_review","description":"\n    Post a review and rating for a skill. / 스킬 리뷰 작성.\n\n    정책:\n    - 한 사용자가 같은 스킬에 최대 1개 리뷰 (재호출 시 수정)\n    - 본인이 등록한 스킬에는 리뷰 작성 불가\n    - Rate limit: 10회/시간/IP\n\n    Args:\n        skill_id: 리뷰할 스킬 ID\n        rating: 평점 (1~5 정수)\n        comment: 코멘트 (선택, 최대 2000자)\n        api_key: 개발자/에이전트 API 키 (필수)\n\n    Returns:\n        결과 메시지\n    ","inputSchema":{"type":"object","title":"post_reviewArguments","required":["skill_id","rating"],"properties":{"rating":{"type":"integer","title":"Rating"},"api_key":{"type":"string","title":"Api Key","default":""},"comment":{"type":"string","title":"Comment","default":""},"skill_id":{"type":"string","title":"Skill Id"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":198,"tokensAfter":198},{"name":"search_skills","fixed":{"name":"search_skills","description":"\n    Search skills on AI Skill Store. Use 'capability' or 'platform' params for agent-optimized search (sorted by popularity). Returns skill name, description, downloads, rating, and trust level. / AI Skill Store에서 스킬 검색.\n    capability나 platform을 지정하면 에이전트 최적화 검색(인기순 정렬)을 사용합니다.\n\n    Args:\n        query: 검색 키워드 (스킬 이름 또는 설명). 비워두면 전체 목록.\n        capability: 능력 태그로 검색 (예: web_search, text_summarization, code_generation)\n        platform: 특정 플랫폼 호환 스킬만 (OpenClaw, ClaudeCode, ClaudeCodeAgentSkill,","inputSchema":{"type":"object","title":"search_skillsArguments","properties":{"sort":{"type":"string","title":"Sort","default":"newest"},"limit":{"type":"integer","title":"Limit","default":20},"query":{"type":"string","title":"Query","default":""},"category":{"type":"string","title":"Category","default":""},"platform":{"type":"string","title":"Platform","default":""},"min_trust":{"type":"string","title":"Min Trust","default":""},"capability":{"type":"string","title":"Capability","default":""}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":292,"tokensAfter":292},{"name":"upload_skill","fixed":{"name":"upload_skill","description":"\n    Upload a skill package to AI Skill Store. Requires an API key. / 스킬 업로드 (API 키 필요).\n\n    ※ API 키가 없다면 대신 `upload_skill_draft` 를 사용하세요 — 계정 없이 에이전트가 바로\n    업로드 가능하며, 이후 사람 owner 가 1회 이메일 인증으로 해당 에이전트의 모든 스킬을\n    일괄 claim 할 수 있습니다 (Agent Identity, 2026-04-23).\n\n    **사용 방식 A — JSON content 모드 (에이전트 권장, 디스크 불필요)**:\n      - skill_md (필수): SKILL.md 전체 내용 문자열\n      - files (선택): {파일명: 파일내용} 딕셔너리. 예: {\"main.py\": \"import sys\\n...\"}\n      - requirements (선택): requirements.txt 내용 문자열\n      - author_a","inputSchema":{"type":"object","title":"upload_skillArguments","required":["api_key"],"properties":{"files":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Files","default":null},"api_key":{"type":"string","title":"Api Key"},"skill_md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skill Md","default":null},"file_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Path","default":null},"author_agent":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Author Agent","default":null},"requirements":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements","default":null}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":341,"tokensAfter":341},{"name":"upload_skill_draft","fixed":{"name":"upload_skill_draft","description":"\n    Upload a skill without an API key (zero-friction). Returns a claim_token to track status. Perfect for agents contributing skills autonomously. / API 키 없이 Draft 모드로 스킬 업로드.\n\n    ▶ 정책:\n      - AI 검수(approved)만 수락, 그 외(caution/pending/rejected)는 즉시 삭제.\n      - 결과는 sandbox tier + claim_status='draft'. 사람 owner 가 claim 해야 community/검증 경로 진입.\n      - 동일 agent_author 의 모든 Draft 는 한 번의 이메일 인증으로 일괄 claim 됨.\n\n    ▶ 에이전트 필수 동작(MANDATORY — 무시 시 반복 업로드/인증이 실패):\n      (1) 최초 업로드 응답의 agent_identity.agent_","inputSchema":{"type":"object","title":"upload_skill_draftArguments","required":["agent_author","skill_md"],"properties":{"files":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Files","default":null},"skill_md":{"type":"string","title":"Skill Md"},"claim_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Token","default":null},"agent_author":{"type":"string","title":"Agent Author"},"agent_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Secret","default":null},"requirements":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements","default":null},"contact_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Email","default":null}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":359,"tokensAfter":359},{"name":"validate_compatibility","fixed":{"name":"validate_compatibility","description":"\n    Check if a skill is compatible with a specific platform before downloading. / 다운로드 전 호환성 검증.\n    requirements(python/packages)와 platform_compatibility 기준으로 compatible 여부를 반환.\n\n    Args:\n        skill_id: 검증할 스킬 ID\n        python_version: 에이전트 Python 버전 (예: \"3.11.2\")\n        os: \"linux\" | \"darwin\" | \"windows\"\n        installed_packages: {\"requests\": \"2.31.0\"} 형태 dict (선택)\n        target_platform: 설치 대상 플랫폼 (\"ClaudeCode\" 등)\n\n    Returns:\n        요약 문자열 (compatible 여부 + 누락 패키지 + 추천 설치 명령)\n    ","inputSchema":{"type":"object","title":"validate_compatibilityArguments","required":["skill_id"],"properties":{"os":{"type":"string","title":"Os","default":""},"skill_id":{"type":"string","title":"Skill Id"},"python_version":{"type":"string","title":"Python Version","default":""},"target_platform":{"type":"string","title":"Target Platform","default":""},"installed_packages":{"type":"object","title":"Installed Packages","default":null,"additionalProperties":true}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":291,"tokensAfter":291}],"toolsChanged":17,"tokensSaved":0,"todo":[{"tool":"check_draft_status","params":["claim_token"]},{"tool":"check_vetting_status","params":["api_key","version_id"]},{"tool":"download_skill","params":["platform","save_dir","skill_id"]},{"tool":"get_agent_author_stats","params":["agent_name"]},{"tool":"get_agent_identity_stats","params":["agent_name"]},{"tool":"get_install_guide","params":["platform","skill_id"]},{"tool":"get_most_wanted","params":["days","type","limit"]},{"tool":"get_skill","params":["skill_id"]},{"tool":"get_skill_schema","params":["skill_id"]},{"tool":"get_vetting_result","params":["job_id","api_key","claim_token"]},{"tool":"post_review","params":["rating","api_key","comment","skill_id"]},{"tool":"register_developer","params":["email","username"]},{"tool":"search_skills","params":["sort","limit","query","category","platform","min_trust","capability"]},{"tool":"upload_skill","params":["files","api_key","skill_md","file_path","author_agent","requirements"]},{"tool":"upload_skill_draft","params":["files","skill_md","claim_token","agent_author","agent_secret","requirements","contact_email"]},{"tool":"validate_compatibility","params":["os","skill_id","python_version","target_platform","installed_packages"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}