← 스킬 목록으로 돌아가기

openapi-mock-server

v1.0.0 approved Development ⬇ 6 1일 전
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ 다운로드
설치 가이드↓
🤖 에이전트용 설치 명령 (curl / MCP / Claude Desktop)
▸ curl 한 줄 다운로드
curl -L -o openapi-mock-server.skill   "https://aiskillstore.io/v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=ClaudeCode"
▸ MCP 도구 호출 (Skill Store MCP 등록 시)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "ea8429fb-0e8b-451b-8b75-8a124147650b",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP 설정 (1회)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 에이전트용 전체 API 가이드: /llms.txt  ·  MCP server card

Parse OpenAPI 3.x specs, generate mock responses from schemas, serve mock requests in stdin/stdout mode, and report endpoint coverage — no HTTP server required

# openapi # mock # api-testing # swagger # fake-data # development # testing

기본 정보

소유자 👤 aiskillstore-team 카테고리 Development 등록일 2026-05-13 최종 업데이트 2026-05-14 최신 버전 1.0.0 패키지 날짜 2026-05-13 검증 상태 approved 다운로드 수 6회 체크섬 (SHA256) 4748c461cdba1c7a6637c8d45b02484eb1d27be91a2853e66ded25a56ba2db44

⚡ AGENT INFO USK v3

Capabilities
openapi_mock_generation api_spec_parsing fake_data_generation mock_server api_coverage_reporting
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=OpenClaw GET /v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=ClaudeCode GET /v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=Cursor GET /v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=GeminiCLI GET /v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=CodexCLI GET /v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=CustomAgent

설치 방법

호환 플랫폼: any

1
openclaw_skill_manager.py로 스킬을 설치합니다.
python openclaw_skill_manager.py --install openapi-mock-server
2
설치 확인
python openclaw_skill_manager.py --list-installed
3
특정 버전 설치 (선택)
python openclaw_skill_manager.py --install openapi-mock-server --version 1.0.0
1
스킬 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download
2
Claude Code commands 디렉터리에 배치합니다.
unzip openapi-mock-server.skill -d ~/.claude/commands/openapi-mock-server/
3
Claude Code에서 슬래시 커맨드로 사용합니다.
/openapi-mock-server
1
Agent Skills 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=ClaudeCodeAgentSkill
2
Claude Code skills 디렉터리에 압축을 해제합니다.
unzip openapi-mock-server-agent-skill-*.skill -d ~/.claude/skills/openapi-mock-server/
3
Claude Code를 재시작하면 세션 시작 시 자동으로 로드됩니다. 슬래시 커맨드 없이 자연어로 사용 가능합니다.
1
Cursor 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=Cursor
2
압축 해제 후 영구 위치에 저장합니다.
unzip openapi-mock-server-cursor-*.skill -d ~/.cursor/skills/openapi-mock-server/
3
.cursor/mcp.json에 MCP 서버 설정을 추가하고 Cursor를 재시작합니다.
cat ~/.cursor/skills/openapi-mock-server/cursor_mcp_config.json
1
Gemini CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=GeminiCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip openapi-mock-server-geminicli-*.skill -d ~/.gemini/skills/openapi-mock-server/
3
~/.gemini/settings.json에 MCP 서버 설정을 추가하고 Gemini CLI를 재시작합니다.
cat ~/.gemini/skills/openapi-mock-server/gemini_settings_snippet.json
1
Codex CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download?platform=CodexCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip openapi-mock-server-codexcli-*.skill -d ~/.codex/skills/openapi-mock-server/
3
~/.codex/config.toml에 MCP 서버 설정을 추가하고 Codex CLI를 재시작합니다.
cat ~/.codex/skills/openapi-mock-server/codex_config_snippet.toml
1
REST API로 스킬 패키지를 다운로드합니다.
GET https://aiskillstore.io/v1/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/download
2
에이전트 플랫폼의 skills 디렉터리에 배치합니다.
cp openapi-mock-server.skill ./skills/
3
설치 가이드 API로 플랫폼별 상세 정보를 조회합니다.
GET https://aiskillstore.io/v1/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/install-guide?platform=CustomAgent

보안 검증 보고서

검증 결과 CAUTION

🚨 보안 위험 감지:

  • main.py: __import__(

검사 결과: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 OpenAPI 스펙 파싱 및 목업 응답 생성 스킬로, 선언된 제한적인 권한을 준수하며 안전하게 동작합니다.
판단 근거

스킬 메타데이터에 선언된 네트워크, 파일 시스템, 서브프로세스 접근 권한 없음(`network: false`, `filesystem: false`, `subprocess: false`)을 코드에서 충실히 준수하고 있습니다. `main.py`에서 발견된 `__import__` 플래그는 Python의 모듈 로딩 메커니즘(예: `from lib.parser import ...`)에 의한 것으로, 사용자 입력에 기반한 동적 임포트나 악의적인 코드 실행과는 무관한 정적 임포트입니다. 이는 정적 분석 도구의 오탐으로 판단됩니다. `lib/parser.py`에서 YAML 파싱 시 `yaml.safe_load`를 사용하여 잠재적인 보안 취약점(임의 코드 실행)을 방지하고 있습니다. 스킬은 표준 입출력(`stdin_stdout`)을 통해서만 통신하며, 외부 통신이나 무단 데이터 수집/전송의 징후가 없습니다. 전반적으로 안전하며 스킬의 목적에 부합하는 고품질 코드입니다.

버전 히스토리

버전 USK v3 검증 상태 패키지 날짜 다운로드 변경사항
v1.0.0 approved 2026-05-13 ⬇ 6

사용 예시 (Examples) 8 개

이 스킬의 대표적인 입출력 예시입니다. 에이전트는 이 예시를 보고 스킬 호출 방법과 결과 형태를 이해할 수 있습니다.

Parse OpenAPI spec

Extract all endpoints from an OpenAPI 3.x YAML spec

📥 입력
{
  "action": "parse",
  "spec": "openapi: \"3.0.0\"\ninfo:\n  title: Test API\n  version: \"1.0\"\npaths:\n  /users:\n    get:\n      summary: List users\n      responses:\n        \"200\":\n          description: OK\n  /users/{id}:\n    get:\n      summary: Get user\n      responses:\n        \"200\":\n          description: OK\n"
}
📤 출력
{
  "endpoints": [
    {
      "method": "get",
      "path": "/users",
      "summary": "List users"
    },
    {
      "method": "get",
      "path": "/users/{id}",
      "summary": "Get user"
    }
  ],
  "ok": true
}
Generate mock response from schema

Auto-generate fake response data from an OpenAPI schema definition

📥 입력
{
  "action": "generate",
  "method": "get",
  "path": "/users/{id}",
  "spec": "openapi: \"3.0.0\"\ninfo:\n  title: Test API\n  version: \"1.0\"\npaths:\n  /users/{id}:\n    get:\n      responses:\n        \"200\":\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  id:\n                    type: integer\n                  name:\n                    type: string\n                  email:\n                    type: string\n",
  "status_code": 200
}
📤 출력
{
  "mock_response": {
    "body": {
      "email": "mock_string_email",
      "id": 1,
      "name": "mock_string_name"
    },
    "headers": {
      "content-type": "application/json"
    },
    "status_code": 200
  },
  "ok": true
}
Serve a mock request

Handle a mock API call and return a generated response matching the spec

📥 입력
{
  "action": "serve",
  "request": {
    "method": "get",
    "path": "/users/42"
  },
  "spec": "openapi: \"3.0.0\"\ninfo:\n  title: Test API\n  version: \"1.0\"\npaths:\n  /users/{id}:\n    get:\n      responses:\n        \"200\":\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  id:\n                    type: integer\n                  name:\n                    type: string\n"
}
📤 출력
{
  "mock_response": {
    "body": {
      "id": 1,
      "name": "mock_string_name"
    },
    "matched_path": "/users/{id}",
    "method": "get",
    "status_code": 200
  },
  "ok": true
}
Record an actual response as example

Save a real API response into the spec as an example for future mocking

📥 입력
{
  "action": "record",
  "method": "get",
  "path": "/users/1",
  "recorded_response": {
    "body": {
      "email": "alice@example.com",
      "id": 1,
      "name": "Alice"
    },
    "status_code": 200
  },
  "spec": "openapi: \"3.0.0\"\ninfo:\n  title: Test API\n  version: \"1.0\"\npaths:\n  /users/{id}:\n    get:\n      responses:\n        \"200\":\n          description: OK\n"
}
📤 출력
{
  "matched_path": "/users/{id}",
  "ok": true,
  "recorded": true
}
Coverage report

Check which endpoints have mock examples defined and which do not

📥 입력
{
  "action": "coverage",
  "spec": "openapi: \"3.0.0\"\ninfo:\n  title: Test API\n  version: \"1.0\"\npaths:\n  /users:\n    get:\n      responses:\n        \"200\":\n          content:\n            application/json:\n              examples:\n                default:\n                  value:\n                    id: 1\n  /products:\n    get:\n      responses:\n        \"200\":\n          description: OK\n"
}
📤 출력
{
  "coverage": {
    "coverage_pct": 50.0,
    "missing": [
      {
        "method": "get",
        "path": "/products",
        "status_code": 200
      }
    ],
    "total": 2,
    "with_examples": 1,
    "without_examples": 1
  },
  "ok": true
}
Error — invalid spec format

Returns structured error when spec cannot be parsed

📥 입력
{
  "action": "parse",
  "spec": "this is not valid yaml: or json { ["
}
📤 출력
{
  "error": {
    "code": "SPEC_PARSE_ERROR",
    "message": "Failed to parse spec: invalid YAML/JSON format"
  },
  "ok": false
}
Error — path not found in spec

Returns error when requested path does not exist in spec

📥 입력
{
  "action": "generate",
  "method": "get",
  "path": "/nonexistent",
  "spec": "openapi: \"3.0.0\"\ninfo:\n  title: Test API\n  version: \"1.0\"\npaths:\n  /users:\n    get:\n      responses:\n        \"200\":\n          description: OK\n"
}
📤 출력
{
  "error": {
    "code": "PATH_NOT_FOUND",
    "message": "Path \u0027/nonexistent\u0027 with method \u0027get\u0027 not found in spec"
  },
  "ok": false
}
Error — missing action

Returns structured error when action field is missing

📥 입력
{
  "spec": "openapi: 3.0.0"
}
📤 출력
{
  "error": {
    "code": "MISSING_ACTION",
    "message": "Field \u0027action\u0027 is required"
  },
  "ok": false
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/ea8429fb-0e8b-451b-8b75-8a124147650b/schema

리뷰 & 평점

아직 리뷰가 없습니다. 첫 번째 리뷰를 남겨보세요!

✍️ 리뷰 작성