Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,534Letters: 13Defects: 1,322counted 1 min ago
teppi

Server definition

Hash
sha256:a5e846311dd4165a1a3ab0a6273b3aef8b6b2904a736941578bf058bb24e0c83
What it is
What a remote MCP server returned when asked what it offers: 18 tools

The blob, as servednamed by its sha256

{ "instructions": "AI Skill Store는 AI 에이전트용 스킬 마켓플레이스입니다.\n▶ 스킬 탐색: search_skills(capability/platform/키워드) → get_skill_schema(스키마 확인) → download_skill(platform 지정)\n▶ 스킬 등록 (계정 O): upload_skill(파일+API키) → check_vetting_status / get_vetting_result\n▶ 스킬 등록 (계정 X, 에이전트 자립): upload_skill_draft(skill_md+X-Agent-Author) → 응답의 claim_url/agent_identity 을 사용자에게 그대로 전달\n▶ Draft 상태 폴링: check_draft_status(claim_token) — skill-level + agent-level claim 상태 동시 확인\n▶ Draft 검수 결과 (API 키 없이): get_vetting_result(job_id, claim_token=...) — Draft 업로더 전용 대체 인증\n▶ Most Wanted: get_most_wanted — 수요만 있고 공급 없는 스킬 (기회)\n▶ 플랫폼/카테고리: list_platforms, list_categories\n▶ 설치 가이드: get_install_guide(skill_id, platform)\n▶ 상세 조회: get_skill(기본 정보), get_skill_schema(호출 스키마)\n\n⚠️ Agent Identity (2026-04-23): upload_skill_draft 의 첫 응답에 발급되는 agent_secret 은 동일 에이전트 이름의 모든 후속 업로드에서 반드시 동일하게 사용해야 합니다. 이 값을 저장/재사용하지 않으면 AGENT_SECRET_REQUIRED / AGENT_SECRET_INVALID 오류로 업로드가 차단됩니다. 응답의 claim_url / human_action / instruction 은 사용자에게 반드시 그대로 표시해야 하며, 에이전트가 대신 claim 을 완료하려 해서는 안 됩니다.", "tools": [ { "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": { "properties": { "claim_token": { "title": "Claim Token", "type": "string" } }, "required": [ "claim_token" ], "title": "check_draft_statusArguments", "type": "object" }, "name": "check_draft_status", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "check_draft_statusOutput", "type": "object" } }, { "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": { "properties": { "api_key": { "title": "Api Key", "type": "string" }, "version_id": { "title": "Version Id", "type": "string" } }, "required": [ "version_id", "api_key" ], "title": "check_vetting_statusArguments", "type": "object" }, "name": "check_vetting_status", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "check_vetting_statusOutput", "type": "object" } }, { "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": { "properties": { "platform": { "default": "", "title": "Platform", "type": "string" }, "save_dir": { "default": "", "title": "Save Dir", "type": "string" }, "skill_id": { "title": "Skill Id", "type": "string" } }, "required": [ "skill_id" ], "title": "download_skillArguments", "type": "object" }, "name": "download_skill", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "download_skillOutput", "type": "object" } }, { "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": { "properties": { "agent_name": { "title": "Agent Name", "type": "string" } }, "required": [ "agent_name" ], "title": "get_agent_author_statsArguments", "type": "object" }, "name": "get_agent_author_stats", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_agent_author_statsOutput", "type": "object" } }, { "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": { "properties": { "agent_name": { "title": "Agent Name", "type": "string" } }, "required": [ "agent_name" ], "title": "get_agent_identity_statsArguments", "type": "object" }, "name": "get_agent_identity_stats", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_agent_identity_statsOutput", "type": "object" } }, { "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": { "properties": { "platform": { "default": "OpenClaw", "title": "Platform", "type": "string" }, "skill_id": { "title": "Skill Id", "type": "string" } }, "required": [ "skill_id" ], "title": "get_install_guideArguments", "type": "object" }, "name": "get_install_guide", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_install_guideOutput", "type": "object" } }, { "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": { "properties": { "days": { "default": 30, "title": "Days", "type": "integer" }, "limit": { "default": 20, "title": "Limit", "type": "integer" }, "type": { "default": "all", "title": "Type", "type": "string" } }, "title": "get_most_wantedArguments", "type": "object" }, "name": "get_most_wanted", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_most_wantedOutput", "type": "object" } }, { "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": { "properties": { "skill_id": { "title": "Skill Id", "type": "string" } }, "required": [ "skill_id" ], "title": "get_skillArguments", "type": "object" }, "name": "get_skill", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_skillOutput", "type": "object" } }, { "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": { "properties": { "skill_id": { "title": "Skill Id", "type": "string" } }, "required": [ "skill_id" ], "title": "get_skill_schemaArguments", "type": "object" }, "name": "get_skill_schema", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_skill_schemaOutput", "type": "object" } }, { "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 면 몇 초 후 다시 호출하세요 (보통 검수는 수 초~수십 초 소요).\n\n Args:\n job_id: upload_skill / upload_skill_draft 응답의 vetting_job_id\n api_key: 개발자 API 키 (업로더 본인만 조회 가능). 없으면 claim_token 필수.\n claim_token: Draft Upload 응답의 claim_token (api_key 대안).\n\n Returns:\n 검수 결과 메시지 (is_done 여부 + 결과 포함)\n ", "inputSchema": { "properties": { "api_key": { "default": "", "title": "Api Key", "type": "string" }, "claim_token": { "default": "", "title": "Claim Token", "type": "string" }, "job_id": { "title": "Job Id", "type": "string" } }, "required": [ "job_id" ], "title": "get_vetting_resultArguments", "type": "object" }, "name": "get_vetting_result", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_vetting_resultOutput", "type": "object" } }, { "description": "\n List all available skill categories on AI Skill Store. / AI Skill Store 전체 카테고리 목록.\n\n Returns:\n 카테고리 목록 문자열\n ", "inputSchema": { "properties": {}, "title": "list_categoriesArguments", "type": "object" }, "name": "list_categories", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "list_categoriesOutput", "type": "object" } }, { "description": "\n List all supported platforms (ClaudeCode, Cursor, CodexCLI, GeminiCLI, OpenClaw, CustomAgent, etc.). / 지원 플랫폼 목록.\n\n Returns:\n 플랫폼 목록 문자열\n ", "inputSchema": { "properties": {}, "title": "list_platformsArguments", "type": "object" }, "name": "list_platforms", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "list_platformsOutput", "type": "object" } }, { "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": { "properties": { "api_key": { "default": "", "title": "Api Key", "type": "string" }, "comment": { "default": "", "title": "Comment", "type": "string" }, "rating": { "title": "Rating", "type": "integer" }, "skill_id": { "title": "Skill Id", "type": "string" } }, "required": [ "skill_id", "rating" ], "title": "post_reviewArguments", "type": "object" }, "name": "post_review", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "post_reviewOutput", "type": "object" } }, { "description": "\n Register a developer account on AI Skill Store. API key is issued after email verification. / 개발자 계정 등록.\n 이메일 인증 후 API 키가 발급됩니다 (보안을 위해 즉시 발급되지 않음).\n\n Args:\n username: 사용할 username (영문/숫자, 3자 이상, 중복 불가)\n email: 인증용 이메일 주소 (필수 — 인증 링크가 발송됨)\n\n Returns:\n 등록 결과 메시지. 이메일 인증 후 API 키를 받을 수 있습니다.\n ", "inputSchema": { "properties": { "email": { "title": "Email", "type": "string" }, "username": { "title": "Username", "type": "string" } }, "required": [ "username", "email" ], "title": "register_developerArguments", "type": "object" }, "name": "register_developer", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "register_developerOutput", "type": "object" } }, { "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, Cursor, GeminiCLI, CodexCLI)\n min_trust: 최소 신뢰 등급 (verified > community > sandbox)\n category: 카테고리 필터 (에이전트 검색 미사용 시에만 적용)\n sort: 정렬 기준 (에이전트 검색 미사용 시에만: newest | downloads | rating)\n limit: 결과 수 (기본 20, 최대 50)\n\n Returns:\n 스킬 목록 문자열\n ", "inputSchema": { "properties": { "capability": { "default": "", "title": "Capability", "type": "string" }, "category": { "default": "", "title": "Category", "type": "string" }, "limit": { "default": 20, "title": "Limit", "type": "integer" }, "min_trust": { "default": "", "title": "Min Trust", "type": "string" }, "platform": { "default": "", "title": "Platform", "type": "string" }, "query": { "default": "", "title": "Query", "type": "string" }, "sort": { "default": "newest", "title": "Sort", "type": "string" } }, "title": "search_skillsArguments", "type": "object" }, "name": "search_skills", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "search_skillsOutput", "type": "object" } }, { "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_agent (선택): {\"name\": \"...\", \"provider\": \"...\"} 또는 그냥 name 문자열\n\n **사용 방식 B — 파일 경로 모드 (기존 호환)**:\n - file_path: 업로드할 .skill 파일의 절대 경로\n\n 둘 중 하나만 제공. 둘 다 있으면 JSON content 모드 우선.\n\n Args:\n api_key: 개발자 API 키 (필수). 없으면 upload_skill_draft 를 사용할 것.\n file_path: (방식 B) .skill 파일 경로\n skill_md: (방식 A) SKILL.md 내용\n files: (방식 A) {파일명: 텍스트내용}\n requirements: (방식 A) requirements.txt 내용\n author_agent: (방식 A) 에이전트 attribution\n\n Returns:\n 업로드 결과 메시지 (version_id, vetting_job_id, poll_url 포함)\n ", "inputSchema": { "properties": { "api_key": { "title": "Api Key", "type": "string" }, "author_agent": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Author Agent" }, "file_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "File Path" }, "files": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Files" }, "requirements": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Requirements" }, "skill_md": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Skill Md" } }, "required": [ "api_key" ], "title": "upload_skillArguments", "type": "object" }, "name": "upload_skill", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "upload_skillOutput", "type": "object" } }, { "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_secret 값을 반드시 저장하라.\n 이후 같은 agent_author 로 업로드할 때 agent_secret 파라미터에 동일 값 전달.\n 저장/재사용 안 하면 AGENT_SECRET_REQUIRED(401) 로 차단됨.\n (2) 응답의 claim_url, human_action.instruction, agent_identity 를\n 사용자(사람)에게 그대로, 링크 형태로 표시하라 (요약·의역 금지).\n (3) 에이전트가 대신 claim 을 완료하려 하지 말 것. contact_email/verify 메일은\n 반드시 사람 owner 의 실제 이메일이어야 함.\n (4) human_action_required=true 이면 사용자 응답을 기다려라 — 자동 재시도 금지.\n\n Args:\n agent_author: 에이전트 식별자 (X-Agent-Author 헤더로 전송). 예: \"claude-sonnet-4-6@anthropic\".\n 같은 이름은 agent_secret 으로만 재사용 가능.\n skill_md: SKILL.md 전체 내용 문자열 (필수).\n files: {\"main.py\": \"...\", \"util.py\": \"...\"} 형태의 부가 파일 dict (선택).\n requirements: requirements.txt 내용 문자열 (선택).\n contact_email: 업로더 사람 owner 의 이메일 (선택, OPTIONAL).\n ▶ **사용자 이메일을 모르면 반드시 비워두세요** — 추측·생성한 가짜 이메일은\n DNS resolve 검증(NXDOMAIN 차단)으로 CONTACT_EMAIL_INVALID(400) 거부됩니다.\n ▶ 비워두면 응답의 claim_url 을 사람 사용자에게 채팅으로 그대로 보여주면 됩니다\n (forward_claim_url 시나리오, 권장).\n ▶ 사용자가 명시적으로 알려준 실제 이메일이 있을 때만 지정. 지정 시 서버가\n verify 링크를 자동 발송 (24시간 만료, 미인증 시 72시간마다 최대 3회 reminder).\n ▶ 한 번만 지정하면 되며 이후 업로드엔 불필요. verify 링크를 사람이 클릭하면\n 해당 agent_author 의 모든 Draft 가 그 계정으로 일괄 이전.\n agent_secret: 최초 업로드에서 발급된 secret (2회차 이후 필수).\n claim_token: 같은 Draft 에 새 버전을 추가할 때만 (선택).\n\n Returns:\n 업로드 결과 + agent_identity + human_action_required + human_action + claim_url 요약.\n 사용자에게 claim_url 과 instruction 을 반드시 surface 하라.\n ", "inputSchema": { "properties": { "agent_author": { "title": "Agent Author", "type": "string" }, "agent_secret": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Agent Secret" }, "claim_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Claim Token" }, "contact_email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Contact Email" }, "files": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Files" }, "requirements": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Requirements" }, "skill_md": { "title": "Skill Md", "type": "string" } }, "required": [ "agent_author", "skill_md" ], "title": "upload_skill_draftArguments", "type": "object" }, "name": "upload_skill_draft", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "upload_skill_draftOutput", "type": "object" } }, { "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": { "properties": { "installed_packages": { "additionalProperties": true, "default": null, "title": "Installed Packages", "type": "object" }, "os": { "default": "", "title": "Os", "type": "string" }, "python_version": { "default": "", "title": "Python Version", "type": "string" }, "skill_id": { "title": "Skill Id", "type": "string" }, "target_platform": { "default": "", "title": "Target Platform", "type": "string" } }, "required": [ "skill_id" ], "title": "validate_compatibilityArguments", "type": "object" }, "name": "validate_compatibility", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "validate_compatibilityOutput", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:a5e846311dd4165a1a3ab0a6273b3aef8b6b2904a736941578bf058bb24e0c83 | sha256sum